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.
713 lines
16 KiB
713 lines
16 KiB
package sep
|
|
|
|
import "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
|
|
|
func dataSourceSepCSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "sep type des id",
|
|
},
|
|
"ckey": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "ckey",
|
|
},
|
|
"meta": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "meta",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"config": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "config",
|
|
},
|
|
"consumed_by": {
|
|
Type: schema.TypeSet,
|
|
Computed: true,
|
|
Description: "consumed by",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "description",
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "gid",
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "guid",
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "milestones",
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "name",
|
|
},
|
|
"obj_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "object status",
|
|
},
|
|
"provided_by": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "provided by",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"shared_with": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "shared with",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "tech status",
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "type",
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceSepConfigSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "storage endpoint provider ID",
|
|
},
|
|
"config": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "sep config json string",
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceSepConsumptionSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "sep id",
|
|
},
|
|
"by_pool": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "consumption divided by pool",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "pool name",
|
|
},
|
|
"disk_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "number of disks",
|
|
},
|
|
"disk_usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "disk usage",
|
|
},
|
|
"snapshot_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "number of snapshots",
|
|
},
|
|
"snapshot_usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "snapshot usage",
|
|
},
|
|
"usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "usage",
|
|
},
|
|
"usage_limit": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "usage limit",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"total": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "total consumption",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"capacity_limit": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "capacity limit",
|
|
},
|
|
"disk_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "number of disks",
|
|
},
|
|
"disk_usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "disk usage",
|
|
},
|
|
"snapshot_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "number of snapshots",
|
|
},
|
|
"snapshot_usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "snapshot usage",
|
|
},
|
|
"usage": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "usage",
|
|
},
|
|
"usage_limit": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "usage limit",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "sep type",
|
|
},
|
|
}
|
|
}
|
|
|
|
func dataSourceSepDiskListSchemaMake() map[string]*schema.Schema {
|
|
rets := map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "storage endpoint provider ID",
|
|
},
|
|
"pool_name": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "pool name",
|
|
},
|
|
"items": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "sep disk list",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
}
|
|
|
|
return rets
|
|
}
|
|
|
|
func dataSourceSepListSchemaMake() map[string]*schema.Schema {
|
|
rets := 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",
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "find by gid",
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "find by sep type",
|
|
},
|
|
"provided_by": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "find by provided physical node id",
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Description: "find by techStatus",
|
|
},
|
|
"consumed_by": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "find by consumed physical node id",
|
|
},
|
|
"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,
|
|
Description: "sep list",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"ckey": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "ckey",
|
|
},
|
|
"meta": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "meta",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"config": {
|
|
Description: "config",
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
},
|
|
"consumed_by": {
|
|
Type: schema.TypeSet,
|
|
Computed: true,
|
|
Description: "consumed by",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "description",
|
|
},
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "gid",
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "guid",
|
|
},
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "sep id",
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "milestones",
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "name",
|
|
},
|
|
"obj_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "object status",
|
|
},
|
|
"provided_by": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "provided by",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"shared_with": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "shared with",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "tech status",
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "type",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"entry_count": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "entryCount",
|
|
},
|
|
}
|
|
|
|
return rets
|
|
}
|
|
|
|
func dataSourceSepPoolSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "storage endpoint provider ID",
|
|
},
|
|
"pool_name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "pool name",
|
|
},
|
|
"pool": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "pool",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"access_account_ids": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "access account ids",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"access_res_group_ids": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "access res group ids",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "name",
|
|
},
|
|
"pagecache_ratio": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "pagecache_ratio",
|
|
},
|
|
"reference_id": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "reference_id",
|
|
},
|
|
"types": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "types",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"uris": {
|
|
Type: schema.TypeSet,
|
|
Computed: true,
|
|
Description: "uris",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"ip": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "ip",
|
|
},
|
|
"port": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "port",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"usage_limit": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "usage limit",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func resourceSepSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"gid": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "grid (platform) ID",
|
|
},
|
|
"name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "SEP name",
|
|
},
|
|
"type": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "type of storage",
|
|
},
|
|
"access_to_pool": {
|
|
Type: schema.TypeSet,
|
|
MaxItems: 1,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "grant or revoke access to pool",
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"pool_name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "pool name",
|
|
},
|
|
"account_id_pool": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Description: "account id to grant/revoke access to the specified pool sep",
|
|
},
|
|
"rg_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "resource group id to grant/revoke access to the specified pool sep",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"account_ids": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Description: "lift of account ids to have access to sep",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
},
|
|
"clear_physically": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: true,
|
|
Description: "clear disks and images physically",
|
|
},
|
|
"decommission": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "unlink everything that exists from SEP",
|
|
},
|
|
"enable": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "enable SEP after creation",
|
|
},
|
|
"field_edit": {
|
|
Type: schema.TypeList,
|
|
MaxItems: 1,
|
|
Optional: true,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"field_name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field name",
|
|
},
|
|
"field_value": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field value",
|
|
},
|
|
"field_type": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field type",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "sep type des id",
|
|
},
|
|
"upd_capacity_limit": {
|
|
Type: schema.TypeBool,
|
|
Optional: true,
|
|
Default: false,
|
|
Description: "Update SEP capacity limit",
|
|
},
|
|
"pools": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Description: "add/delete pools to/from sep",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"ckey": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "ckey",
|
|
},
|
|
"meta": {
|
|
Type: schema.TypeList,
|
|
Computed: true,
|
|
Description: "meta",
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeString,
|
|
},
|
|
},
|
|
"config": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "sep config string",
|
|
},
|
|
"consumed_by": {
|
|
Type: schema.TypeSet,
|
|
Optional: true,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
Description: "list of consumer nodes IDs",
|
|
},
|
|
"desc": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Optional: true,
|
|
Description: "sep description",
|
|
},
|
|
"guid": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "guid",
|
|
},
|
|
"milestones": {
|
|
Type: schema.TypeInt,
|
|
Computed: true,
|
|
Description: "milestones",
|
|
},
|
|
"obj_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "object status",
|
|
},
|
|
"provided_by": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
Description: "list of provider nodes IDs",
|
|
},
|
|
"shared_with": {
|
|
Type: schema.TypeList,
|
|
Optional: true,
|
|
Computed: true,
|
|
Elem: &schema.Schema{
|
|
Type: schema.TypeInt,
|
|
},
|
|
Description: "list of shared with ids",
|
|
},
|
|
"tech_status": {
|
|
Type: schema.TypeString,
|
|
Computed: true,
|
|
Description: "tech status",
|
|
},
|
|
}
|
|
}
|
|
|
|
func resourceSepConfigSchemaMake() map[string]*schema.Schema {
|
|
return map[string]*schema.Schema{
|
|
"sep_id": {
|
|
Type: schema.TypeInt,
|
|
Required: true,
|
|
Description: "sep id",
|
|
},
|
|
"config": {
|
|
Type: schema.TypeString,
|
|
Optional: true,
|
|
Computed: true,
|
|
Description: "config json string",
|
|
},
|
|
"field_edit": {
|
|
Type: schema.TypeList,
|
|
MaxItems: 1,
|
|
Optional: true,
|
|
Computed: true,
|
|
Elem: &schema.Resource{
|
|
Schema: map[string]*schema.Schema{
|
|
"field_name": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field name",
|
|
},
|
|
"field_value": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field value",
|
|
},
|
|
"field_type": {
|
|
Type: schema.TypeString,
|
|
Required: true,
|
|
Description: "field type",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|