4.10.1
This commit is contained in:
74
internal/service/cloudbroker/stpolicy/flattens.go
Normal file
74
internal/service/cloudbroker/stpolicy/flattens.go
Normal file
@@ -0,0 +1,74 @@
|
||||
package stpolicy
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/pkg/cloudbroker/stpolicy"
|
||||
)
|
||||
|
||||
func flattenStoragePolicyData(d *schema.ResourceData, storagePolicy *stpolicy.InfoStoragePolicy) {
|
||||
d.Set("storage_policy_id", storagePolicy.ID)
|
||||
d.Set("description", storagePolicy.Description)
|
||||
d.Set("guid", storagePolicy.GUID)
|
||||
d.Set("limit_iops", storagePolicy.LimitIOPS)
|
||||
d.Set("name", storagePolicy.Name)
|
||||
d.Set("status", storagePolicy.Status)
|
||||
d.Set("access_seps_pools", flattenAccessSEPPools(storagePolicy.AccessSEPPools))
|
||||
d.Set("usage", flattenUsage(storagePolicy.Usage))
|
||||
}
|
||||
|
||||
func flattenAccessSEPPools(accessSEPPools stpolicy.ListAccessSEPPools) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(accessSEPPools))
|
||||
for _, asp := range accessSEPPools {
|
||||
temp := map[string]interface{}{
|
||||
"sep_id": asp.SEPID,
|
||||
//TODO
|
||||
//"name": asp.Name,
|
||||
"pool_names": asp.PoolNames,
|
||||
}
|
||||
|
||||
res = append(res, temp)
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
func flattenUsage(usage stpolicy.Usage) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0)
|
||||
|
||||
temp := map[string]interface{}{
|
||||
"accounts": usage.Accounts,
|
||||
"resgroups": usage.Resgroups,
|
||||
}
|
||||
|
||||
res = append(res, temp)
|
||||
return res
|
||||
}
|
||||
|
||||
func flattenStoragePolicyList(storagePolicyList *stpolicy.ListStoragePolicies) []map[string]interface{} {
|
||||
res := make([]map[string]interface{}, 0, len(storagePolicyList.Data))
|
||||
for _, v := range storagePolicyList.Data {
|
||||
temp := map[string]interface{}{
|
||||
"storage_policy_id": v.ID,
|
||||
"description": v.Description,
|
||||
"guid": v.GUID,
|
||||
"limit_iops": v.LimitIOPS,
|
||||
"name": v.Name,
|
||||
"status": v.Status,
|
||||
"access_seps_pools": flattenAccessSEPPools(v.AccessSEPPools),
|
||||
"usage": flattenUsage(v.Usage),
|
||||
}
|
||||
res = append(res, temp)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func flattenStoragePolicyResource(d *schema.ResourceData, storagePolicy *stpolicy.InfoStoragePolicy) {
|
||||
d.Set("storage_policy_id", storagePolicy.ID)
|
||||
d.Set("description", storagePolicy.Description)
|
||||
d.Set("guid", storagePolicy.GUID)
|
||||
d.Set("limit_iops", storagePolicy.LimitIOPS)
|
||||
d.Set("name", storagePolicy.Name)
|
||||
d.Set("status", storagePolicy.Status)
|
||||
d.Set("access_seps_pools", flattenAccessSEPPools(storagePolicy.AccessSEPPools))
|
||||
d.Set("usage", flattenUsage(storagePolicy.Usage))
|
||||
}
|
||||
Reference in New Issue
Block a user