Exclude unused attributes from compute and RG schemas
This commit is contained in:
@@ -35,6 +35,8 @@ import (
|
|||||||
// "github.com/hashicorp/terraform-plugin-sdk/helper/validation"
|
// "github.com/hashicorp/terraform-plugin-sdk/helper/validation"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Parse list of all disks from API compute/get into a list of "extra disks" attached to this compute
|
||||||
|
// Extra disks are all compute disks but a boot disk.
|
||||||
func parseComputeDisksToExtraDisks(disks []DiskRecord) []interface{} {
|
func parseComputeDisksToExtraDisks(disks []DiskRecord) []interface{} {
|
||||||
// this return value will be used to d.Set("extra_disks",) item of dataSourceCompute schema,
|
// this return value will be used to d.Set("extra_disks",) item of dataSourceCompute schema,
|
||||||
// which is a simple list of integer disk IDs excluding boot disk ID
|
// which is a simple list of integer disk IDs excluding boot disk ID
|
||||||
@@ -68,7 +70,9 @@ func parseComputeDisksToExtraDisks(disks []DiskRecord) []interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parseComputeDisks(disks []DiskRecord) []interface{} {
|
func parseComputeDisks(disks []DiskRecord) []interface{} {
|
||||||
// return value was designed to d.Set("disks",) item of dataSourceCompute schema
|
// Return value was designed to d.Set("disks",) item of dataSourceCompute schema
|
||||||
|
// However, this item was excluded from the schema as it is not directly
|
||||||
|
// managed through Terraform
|
||||||
length := len(disks)
|
length := len(disks)
|
||||||
log.Debugf("parseComputeDisks: called for %d disks", length)
|
log.Debugf("parseComputeDisks: called for %d disks", length)
|
||||||
|
|
||||||
@@ -132,6 +136,8 @@ func parseBootDiskSize(disks []DiskRecord) int {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parse the list of interfaces from compute/get response into a list of networks
|
||||||
|
// attached to this compute
|
||||||
func parseComputeInterfacesToNetworks(ifaces []InterfaceRecord) []interface{} {
|
func parseComputeInterfacesToNetworks(ifaces []InterfaceRecord) []interface{} {
|
||||||
// return value will be used to d.Set("networks",) item of dataSourceCompute schema
|
// return value will be used to d.Set("networks",) item of dataSourceCompute schema
|
||||||
length := len(ifaces)
|
length := len(ifaces)
|
||||||
@@ -160,6 +166,8 @@ func parseComputeInterfacesToNetworks(ifaces []InterfaceRecord) []interface{} {
|
|||||||
|
|
||||||
func parseComputeInterfaces(ifaces []InterfaceRecord) []interface{} {
|
func parseComputeInterfaces(ifaces []InterfaceRecord) []interface{} {
|
||||||
// return value was designed to d.Set("interfaces",) item of dataSourceCompute schema
|
// return value was designed to d.Set("interfaces",) item of dataSourceCompute schema
|
||||||
|
// However, this item was excluded from the schema as it is not directly
|
||||||
|
// managed through Terraform
|
||||||
length := len(ifaces)
|
length := len(ifaces)
|
||||||
log.Debugf("parseComputeInterfaces: called for %d ifaces", length)
|
log.Debugf("parseComputeInterfaces: called for %d ifaces", length)
|
||||||
|
|
||||||
@@ -231,25 +239,27 @@ func flattenCompute(d *schema.ResourceData, compFacts string) error {
|
|||||||
d.Set("tech_status", model.TechStatus)
|
d.Set("tech_status", model.TechStatus)
|
||||||
|
|
||||||
if len(model.Disks) > 0 {
|
if len(model.Disks) > 0 {
|
||||||
log.Debugf("flattenCompute: calling parseComputeDisks for %d disks", len(model.Disks))
|
log.Debugf("flattenCompute: calling parseComputeDisksToExtraDisks for %d disks", len(model.Disks))
|
||||||
if err = d.Set("extra_disks", parseComputeDisksToExtraDisks(model.Disks)); err != nil {
|
if err = d.Set("extra_disks", parseComputeDisksToExtraDisks(model.Disks)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(model.Interfaces) > 0 {
|
if len(model.Interfaces) > 0 {
|
||||||
log.Debugf("flattenCompute: calling parseComputeInterfaces for %d interfaces", len(model.Interfaces))
|
log.Debugf("flattenCompute: calling parseComputeInterfacesToNetworks for %d interfaces", len(model.Interfaces))
|
||||||
if err = d.Set("networks", parseComputeInterfacesToNetworks(model.Interfaces)); err != nil {
|
if err = d.Set("networks", parseComputeInterfacesToNetworks(model.Interfaces)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if len(model.OsUsers) > 0 {
|
if len(model.OsUsers) > 0 {
|
||||||
log.Debugf("flattenCompute: calling parseGuestLogins for %d logins", len(model.OsUsers))
|
log.Debugf("flattenCompute: calling parseGuestLogins for %d logins", len(model.OsUsers))
|
||||||
if err = d.Set("guest_logins", parseGuestLogins(model.OsUsers)); err != nil {
|
if err = d.Set("guest_logins", parseGuestLogins(model.OsUsers)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -390,7 +400,6 @@ func dataSourceCompute() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "Specification for the virtual NICs configured on this compute instance.",
|
Description: "Specification for the virtual NICs configured on this compute instance.",
|
||||||
},
|
},
|
||||||
*/
|
|
||||||
|
|
||||||
"guest_logins": {
|
"guest_logins": {
|
||||||
Type: schema.TypeList,
|
Type: schema.TypeList,
|
||||||
@@ -400,6 +409,7 @@ func dataSourceCompute() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "Details about the guest OS users provisioned together with this compute instance.",
|
Description: "Details about the guest OS users provisioned together with this compute instance.",
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
|
|
||||||
"description": {
|
"description": {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
|
|||||||
@@ -60,8 +60,10 @@ func flattenResgroup(d *schema.ResourceData, rg_facts string) error {
|
|||||||
d.Set("status", details.Status)
|
d.Set("status", details.Status)
|
||||||
d.Set("def_net_type", details.DefaultNetType)
|
d.Set("def_net_type", details.DefaultNetType)
|
||||||
d.Set("def_net_id", details.DefaultNetID)
|
d.Set("def_net_id", details.DefaultNetID)
|
||||||
|
/*
|
||||||
d.Set("vins", details.Vins)
|
d.Set("vins", details.Vins)
|
||||||
d.Set("computes", details.Computes)
|
d.Set("computes", details.Computes)
|
||||||
|
*/
|
||||||
|
|
||||||
log.Debugf("flattenResgroup: calling flattenQuota()")
|
log.Debugf("flattenResgroup: calling flattenQuota()")
|
||||||
if err = d.Set("quota", parseQuota(details.Quota)); err != nil {
|
if err = d.Set("quota", parseQuota(details.Quota)); err != nil {
|
||||||
@@ -159,6 +161,7 @@ func dataSourceResgroup() *schema.Resource {
|
|||||||
Description: "ID of the default network for this resource group (if any).",
|
Description: "ID of the default network for this resource group (if any).",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
"vins": {
|
"vins": {
|
||||||
Type: schema.TypeList, // this is a list of ints
|
Type: schema.TypeList, // this is a list of ints
|
||||||
Computed: true,
|
Computed: true,
|
||||||
@@ -177,6 +180,7 @@ func dataSourceResgroup() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "List of computes deployed in this resource group.",
|
Description: "List of computes deployed in this resource group.",
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -359,7 +359,6 @@ func resourceCompute() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "Specification for the virtual NICs configured on this compute instance.",
|
Description: "Specification for the virtual NICs configured on this compute instance.",
|
||||||
},
|
},
|
||||||
*/
|
|
||||||
|
|
||||||
"guest_logins": {
|
"guest_logins": {
|
||||||
Type: schema.TypeList,
|
Type: schema.TypeList,
|
||||||
@@ -369,6 +368,7 @@ func resourceCompute() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "Specification for guest logins on this compute instance.",
|
Description: "Specification for guest logins on this compute instance.",
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
|
|
||||||
"status": {
|
"status": {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ func resourceResgroupCreate(d *schema.ResourceData, m interface{}) error {
|
|||||||
if set_quota {
|
if set_quota {
|
||||||
url_values.Add("maxCPUCapacity", fmt.Sprintf("%d", quota_record.Cpu))
|
url_values.Add("maxCPUCapacity", fmt.Sprintf("%d", quota_record.Cpu))
|
||||||
url_values.Add("maxVDiskCapacity", fmt.Sprintf("%d", quota_record.Disk))
|
url_values.Add("maxVDiskCapacity", fmt.Sprintf("%d", quota_record.Disk))
|
||||||
url_values.Add("maxMemoryCapacity", fmt.Sprintf("%d", quota_record.Ram))
|
url_values.Add("maxMemoryCapacity", fmt.Sprintf("%f", quota_record.Ram)) // RAM quota is float; this may change in the future
|
||||||
url_values.Add("maxNetworkPeerTransfer", fmt.Sprintf("%d", quota_record.ExtTraffic))
|
url_values.Add("maxNetworkPeerTransfer", fmt.Sprintf("%d", quota_record.ExtTraffic))
|
||||||
url_values.Add("maxNumPublicIP", fmt.Sprintf("%d", quota_record.ExtIPs))
|
url_values.Add("maxNumPublicIP", fmt.Sprintf("%d", quota_record.ExtIPs))
|
||||||
// url_values.Add("???", fmt.Sprintf("%d", quota_record.GpuUnits))
|
// url_values.Add("???", fmt.Sprintf("%d", quota_record.GpuUnits))
|
||||||
@@ -353,6 +353,7 @@ func resourceResgroup() *schema.Resource {
|
|||||||
Description: "Current status of this resource group.",
|
Description: "Current status of this resource group.",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
"vins": {
|
"vins": {
|
||||||
Type: schema.TypeList, // this is a list of ints
|
Type: schema.TypeList, // this is a list of ints
|
||||||
Computed: true,
|
Computed: true,
|
||||||
@@ -371,6 +372,7 @@ func resourceResgroup() *schema.Resource {
|
|||||||
},
|
},
|
||||||
Description: "List of computes deployed in this resource group.",
|
Description: "List of computes deployed in this resource group.",
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user