You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3360 lines
72 KiB
3360 lines
72 KiB
package kvmvm
|
|
|
|
import (
|
|
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
|
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
|
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/constants"
|
|
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/statefuncs"
|
|
"repository.basistech.ru/BASIS/terraform-provider-decort/internal/validators"
|
|
)
|
|
|
|
func dataSourceComputeSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "Get compute by id",
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "reason for action",
|
|
},
|
|
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "ID of the account this compute instance belongs to.",
|
|
},
|
|
"account_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "Name of the account this compute instance belongs to.",
|
|
},
|
|
"acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"affinity_label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"affinity_weight": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"anti_affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"arch": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"boot_order": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"boot_disk_size": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cd_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clone_reference": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clones": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"computeci_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cpus": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"created_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"created_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"custom_fields": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"devices": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"ckey": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"meta": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"boot_partition": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"created_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"deleted_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"destruction_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"disk_path": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"disk_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"images": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"iotune": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
MaxItems: 1,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"read_bytes_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"read_bytes_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"read_iops_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"read_iops_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"size_iops_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"total_bytes_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"total_bytes_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"total_iops_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"total_iops_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"write_bytes_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"write_bytes_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"write_iops_sec": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"write_iops_sec_max": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"iqn": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"login": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"order": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"params": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"parent_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"passwd": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"pool": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"present_to": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"purge_attempts": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"purge_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reality_device_number": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"res_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"res_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"role": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"shareable": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"size_max": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"size_used": {
|
|
Type: schema.TypeFloat,
|
|
Computed: true,
|
|
},
|
|
"snapshots": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"res_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"snap_set_guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"snap_set_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"vmid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"driver": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"interfaces": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"conn_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"conn_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"def_gw": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"flip_group_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"listen_ssh": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"mac": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"net_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"netmask": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"net_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"qos": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"e_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"in_brust": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"in_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"target": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"vnfs": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lock_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"manager_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"manager_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"migrationjob": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"need_reboot": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"os_users": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"login": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"password": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"public_key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"pinned": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"ram": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"registered": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"res_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"snap_sets": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"stack_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stack_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"tags": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"val": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"user_data": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_managed": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"vgpus": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"virtual_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeListSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"by_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by ID",
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by name",
|
|
},
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by AccountID",
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by resgroup name",
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by RGID",
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by tech status",
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by status",
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by IP address",
|
|
},
|
|
"extnet_name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by Extnet name",
|
|
},
|
|
"extnet_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by Extnet ID",
|
|
},
|
|
"includedeleted": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
},
|
|
"page": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
},
|
|
"size": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
},
|
|
"ignore_k8s": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "If set to true, ignores any VMs associated with any k8s cluster",
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"account_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"affinity_label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"affinity_weight": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"anti_affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"arch": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"boot_order": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"boot_disk_size": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cd_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clone_reference": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clones": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"computeci_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cpus": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"created_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"created_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"custom_fields": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"devices": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disk_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"driver": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"interfaces": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"conn_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"conn_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"def_gw": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"flip_group_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"listen_ssh": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"mac": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"net_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"netmask": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"net_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"qos": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"e_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"in_brust": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"in_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"target": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"vnfs": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lock_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"manager_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"manager_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"migrationjob": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"need_reboot": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"os_users": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"login": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"password": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"public_key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"pinned": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"ram": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"registered": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"res_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"snap_sets": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"stack_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"tags": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"val": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"total_disk_size": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"updated_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"user_data": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_managed": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"vgpus": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"vins_connected": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"virtual_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeListDeletedSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"by_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by ID",
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by name",
|
|
},
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by AccountID",
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by resgroup name",
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by RGID",
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by tech status",
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by IP address",
|
|
},
|
|
"extnet_name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Find by Extnet name",
|
|
},
|
|
"extnet_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by Extnet ID",
|
|
},
|
|
"page": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
},
|
|
"size": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
},
|
|
"ignore_k8s": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "If set to true, ignores any VMs associated with any k8s cluster",
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"account_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"affinity_label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"affinity_weight": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"anti_affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"arch": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"boot_order": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"bootdisk_size": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cd_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clone_reference": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clones": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"computeci_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"cpus": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"created_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"created_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"custom_fields": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"devices": { //NEED
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disk_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"driver": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"interfaces": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"conn_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"conn_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"def_gw": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"flip_group_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"listen_ssh": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"mac": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"net_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"netmask": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"net_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"qos": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"e_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"in_brust": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"in_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"target": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"vnfs": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lock_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"manager_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"manager_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"migrationjob": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"need_reboot": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"os_users": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"login": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"password": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"public_key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"pinned": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"ram": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"registered": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"res_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"snap_sets": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"stack_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"tags": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"val": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"total_disk_size": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"updated_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"user_data": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_managed": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"vgpus": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"vins_connected": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"virtual_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeAuditsSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"call": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"responsetime": {
|
|
Type: schema.TypeFloat,
|
|
Computed: true,
|
|
},
|
|
"statuscode": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeFloat,
|
|
Computed: true,
|
|
},
|
|
"user": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputeGetAuditsSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"epoch": {
|
|
Type: schema.TypeFloat,
|
|
Computed: true,
|
|
},
|
|
"message": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputeGetConsoleUrlSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"console_url": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputePfwListSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"pfw_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"local_ip": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"local_port": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"protocol": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"public_port_end": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"public_port_start": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"vm_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputeUserListSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"account_acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"compute_acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"rg_acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeSnapshotListSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeAffinityRelationsSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"other_node": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"other_node_indirect": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"other_node_indirect_soft": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"other_node_soft": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"same_node": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"same_node_soft": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeBootOrderGetSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"boot_order": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeMigrateStorageInfoSchemaMake() map[string]*schema.Schema {
|
|
res := map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
|
|
"migrate_storage_info": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
}
|
|
return res
|
|
}
|
|
|
|
func dataSourceComputeSnapshotUsageSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
},
|
|
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stored": {
|
|
Type: schema.TypeFloat,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputePCIDeviceListSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by RG id",
|
|
},
|
|
"device_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by device id",
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "Find by status",
|
|
},
|
|
"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{
|
|
"ckey": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"meta": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"description": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"hwpath": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"device_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stack_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"system_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputeVGPUListSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"gpu_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "Find by GPU id",
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Find by type",
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Find by status",
|
|
},
|
|
"includedeleted": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Description: "Include deleted computes. If using field 'status', then includedeleted will be ignored",
|
|
},
|
|
"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.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceComputeGetLogSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"path": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
"log": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|
|
|
|
func resourceComputeSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "Name of this compute. Compute names are case sensitive and must be unique in the resource group.",
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
ValidateFunc: validation.IntAtLeast(1),
|
|
Description: "ID of the resource group where this compute should be deployed.",
|
|
},
|
|
"driver": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
StateFunc: statefuncs.StateFuncToUpper,
|
|
ValidateFunc: validation.StringInSlice([]string{"SVA_KVM_X86", "KVM_X86", "KVM_PPC"}, false), // observe case while validating
|
|
Description: "Hardware architecture of this compute instance.",
|
|
},
|
|
"cpu": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
ValidateFunc: validation.IntBetween(1, constants.MaxCpusPerCompute),
|
|
Description: "Number of CPUs to allocate to this compute instance.",
|
|
},
|
|
"ram": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
ValidateFunc: validation.All(
|
|
validation.IntAtLeast(constants.MinRamPerCompute),
|
|
validators.DivisibleBy(constants.RAMDivisibility),
|
|
),
|
|
Description: "Amount of RAM in MB to allocate to this compute instance.",
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "ID of the OS image to base this compute instance on.",
|
|
},
|
|
"boot_disk_size": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "This compute instance boot disk size in GB. Make sure it is large enough to accomodate selected OS image.",
|
|
},
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "ID of SEP to create bootDisk on. Uses image's sepId if not set.",
|
|
},
|
|
"pool": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "Pool to use if sepId is set, can be also empty if needed to be chosen by system.",
|
|
},
|
|
"cloud_init": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "Optional cloud_init parameters. Applied when creating new compute instance only, ignored in all other cases.",
|
|
},
|
|
"description": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "Optional text description of this compute instance.",
|
|
},
|
|
"started": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: true,
|
|
Description: "Is compute started.",
|
|
},
|
|
"alt_boot_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Default: 0,
|
|
Description: "ID of CD-ROM live image to boot",
|
|
},
|
|
"stack_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "ID of stack to start compute",
|
|
},
|
|
"is": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "system name",
|
|
},
|
|
"ipa_type": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "compute purpose",
|
|
},
|
|
"custom_fields": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
},
|
|
"network": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
MinItems: 1,
|
|
MaxItems: constants.MaxNetworksPerCompute,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"net_type": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
StateFunc: statefuncs.StateFuncToUpper,
|
|
ValidateFunc: validation.StringInSlice([]string{"EXTNET", "VINS"}, false), // observe case while validating
|
|
Description: "Type of the network for this connection, either EXTNET or VINS.",
|
|
},
|
|
|
|
"net_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "ID of the network for this connection.",
|
|
},
|
|
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
DiffSuppressFunc: networkSubresIPAddreDiffSupperss,
|
|
Description: "Optional IP address to assign to this connection. This IP should belong to the selected network and free for use.",
|
|
},
|
|
|
|
"mac": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "MAC address associated with this connection. MAC address is assigned automatically.",
|
|
},
|
|
},
|
|
},
|
|
Description: "Optional network connection(s) for this compute. You may specify several network blocks, one for each connection.",
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "reason for action",
|
|
},
|
|
"affinity_label": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "Set affinity label for compute",
|
|
},
|
|
"affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"node", "compute"}, false),
|
|
Description: "compute or node, for whom rule applies",
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"RECOMMENDED", "REQUIRED"}, false),
|
|
Description: "RECOMMENDED or REQUIRED, the degree of 'strictness' of this rule",
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"EQ", "NE", "ANY"}, false),
|
|
Description: "EQ or NE or ANY - the comparison mode is 'value', recorded by the specified 'key'",
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "key that are taken into account when analyzing this rule will be identified",
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "value that must match the key to be taken into account when analyzing this rule",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"anti_affinity_rules": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"topology": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"node", "compute"}, false),
|
|
Description: "compute or node, for whom rule applies",
|
|
},
|
|
"policy": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"RECOMMENDED", "REQUIRED"}, false),
|
|
Description: "RECOMMENDED or REQUIRED, the degree of 'strictness' of this rule",
|
|
},
|
|
"mode": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"EQ", "NE", "ANY"}, false),
|
|
Description: "EQ or NE or ANY - the comparison mode is 'value', recorded by the specified 'key'",
|
|
},
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "key that are taken into account when analyzing this rule will be identified",
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "value that must match the key to be taken into account when analyzing this rule",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disk_name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "Name for disk",
|
|
},
|
|
"size": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "Disk size in GiB",
|
|
},
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Storage endpoint provider ID; by default the same with boot disk",
|
|
},
|
|
"disk_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"B", "D"}, false),
|
|
Description: "The type of disk in terms of its role in compute: 'B=Boot, D=Data'",
|
|
},
|
|
"pool": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Pool name; by default will be chosen automatically",
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Optional description",
|
|
},
|
|
"image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Specify image id for create disk from template",
|
|
},
|
|
"permanently": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "Disk deletion status",
|
|
},
|
|
"disk_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "Disk ID",
|
|
},
|
|
"shareable": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"size_max": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"size_used": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "reason for action",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"extra_disks": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
MaxItems: constants.MaxExtraDisksPerCompute,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
Description: "Optional list of IDs of extra disks to attach to this compute. You may specify several extra disks.",
|
|
},
|
|
"tags": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"key": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
"value": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"port_forwarding": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"public_port_start": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"public_port_end": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Default: -1,
|
|
},
|
|
"local_port": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"proto": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"tcp", "udp"}, false),
|
|
},
|
|
"rule_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "reason for action",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"user_access": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"username": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
"access_type": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"snapshot": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"rollback": {
|
|
Type: schema.TypeSet,
|
|
MaxItems: 1,
|
|
Optional: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"cd": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
MaxItems: 1,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"cdrom_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
},
|
|
"reason": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "reason for action",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"pin_to_stack": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
},
|
|
"target_stack_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
},
|
|
"force_pin": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
},
|
|
"enabled": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "If true - enable compute, else - disable",
|
|
},
|
|
"pause": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
},
|
|
"reset": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
},
|
|
"restore": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
},
|
|
"auto_start": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "Flag for redeploy compute",
|
|
},
|
|
"force_stop": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "Flag for redeploy compute",
|
|
},
|
|
"force_resize": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "Flag for resize compute",
|
|
},
|
|
"data_disks": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
ValidateFunc: validation.StringInSlice([]string{"KEEP", "DETACH", "DESTROY"}, false),
|
|
Default: "DETACH",
|
|
Description: "Flag for redeploy compute",
|
|
},
|
|
"detach_disks": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: true,
|
|
},
|
|
"permanently": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: true,
|
|
},
|
|
// Computed properties
|
|
"account_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "ID of the account this compute instance belongs to.",
|
|
},
|
|
"account_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "Name of the account this compute instance belongs to.",
|
|
},
|
|
"acl": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"explicit": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"right": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"user_group_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"affinity_weight": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"arch": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"boot_order": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"boot_disk_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "This compute instance boot disk ID.",
|
|
},
|
|
"cd_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clone_reference": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"clones": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"computeci_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"created_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"created_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"deleted_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"deleted_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"devices": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"compute_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"interfaces": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"conn_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"conn_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"def_gw": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"flip_group_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"ip_address": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"listen_ssh": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"mac": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"net_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"netmask": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"net_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"pci_slot": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"qos": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"e_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"in_brust": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"in_rate": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"target": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"vnfs": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"lock_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"manager_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"manager_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"migrationjob": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"need_reboot": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"os_users": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "GUID of this guest OS user.",
|
|
},
|
|
|
|
"login": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "Login name of this guest OS user.",
|
|
},
|
|
|
|
"password": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
//Sensitive: true,
|
|
Description: "Password of this guest OS user.",
|
|
},
|
|
|
|
"public_key": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "SSH public key of this guest OS user.",
|
|
},
|
|
},
|
|
},
|
|
Description: "Guest OS users provisioned on this compute instance.",
|
|
},
|
|
"pinned": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"registered": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"res_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"rg_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "Name of the resource group where this compute instance is located.",
|
|
},
|
|
"snap_sets": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"disks": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"label": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"timestamp": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"stack_name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "Name of the stack, on which VM started",
|
|
},
|
|
"stateless_sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"stateless_sep_type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_by": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"updated_time": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
"user_managed": {
|
|
Type: schema.TypeBool,
|
|
Computed: true,
|
|
},
|
|
"vgpus": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"virtual_image_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
},
|
|
}
|
|
}
|