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.
terraform-provider-dynamix/internal/service/cloudapi/lb/models/model_resource_lb.go

97 lines
3.5 KiB

package models
import (
"github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts"
"github.com/hashicorp/terraform-plugin-framework/attr"
"github.com/hashicorp/terraform-plugin-framework/types"
)
type ResourceLBModel struct {
// required fields
RGID types.Int64 `tfsdk:"rg_id"`
Name types.String `tfsdk:"name"`
ExtNetID types.Int64 `tfsdk:"extnet_id"`
VINSID types.Int64 `tfsdk:"vins_id"`
Start types.Bool `tfsdk:"start"`
// optional fields
HAMode types.Bool `tfsdk:"ha_mode"`
ACL types.String `tfsdk:"acl"`
Description types.String `tfsdk:"desc"`
Enable types.Bool `tfsdk:"enable"`
Restart types.Bool `tfsdk:"restart"`
ConfigReset types.Bool `tfsdk:"config_reset"`
Permanently types.Bool `tfsdk:"permanently"`
Restore types.Bool `tfsdk:"restore"`
Safe types.Bool `tfsdk:"safe"`
SysctlParams types.List `tfsdk:"sysctl_params"`
Timeouts timeouts.Value `tfsdk:"timeouts"`
// response fields
BackendHAIP types.String `tfsdk:"backend_haip"`
Backends types.List `tfsdk:"backends"`
CreatedBy types.String `tfsdk:"created_by"`
CreatedTime types.Int64 `tfsdk:"created_time"`
DeletedBy types.String `tfsdk:"deleted_by"`
DeletedTime types.Int64 `tfsdk:"deleted_time"`
DPAPIUser types.String `tfsdk:"dp_api_user"`
FrontendHAIP types.String `tfsdk:"frontend_haip"`
Frontends types.List `tfsdk:"frontends"`
GID types.Int64 `tfsdk:"gid"`
GUID types.Int64 `tfsdk:"guid"`
ID types.String `tfsdk:"id"`
ImageID types.Int64 `tfsdk:"image_id"`
LBID types.Int64 `tfsdk:"lb_id"`
ManagerId types.Int64 `tfsdk:"manager_id"`
ManagerType types.String `tfsdk:"manager_type"`
Milestones types.Int64 `tfsdk:"milestones"`
PartK8s types.Bool `tfsdk:"part_k8s"`
PrimaryNode types.Object `tfsdk:"primary_node"`
RGName types.String `tfsdk:"rg_name"`
SecondaryNode types.Object `tfsdk:"secondary_node"`
Status types.String `tfsdk:"status"`
TechStatus types.String `tfsdk:"tech_status"`
UpdatedBy types.String `tfsdk:"updated_by"`
UpdatedTime types.Int64 `tfsdk:"updated_time"`
UserManaged types.Bool `tfsdk:"user_managed"`
}
type ItemBackendModel struct {
Algorithm types.String `tfsdk:"algorithm"`
GUID types.String `tfsdk:"guid"`
Name types.String `tfsdk:"name"`
ServerDefaultSettings types.Object `tfsdk:"server_default_settings"`
Servers types.List `tfsdk:"servers"`
}
type ItemFrontendModel struct {
Backend types.String `tfsdk:"backend"`
Bindings types.List `tfsdk:"bindings"`
GUID types.String `tfsdk:"guid"`
Name types.String `tfsdk:"name"`
}
var ItemNode = map[string]attr.Type{
"backend_ip": types.StringType,
"compute_id": types.Int64Type,
"frontend_ip": types.StringType,
"guid": types.StringType,
"mgmt_ip": types.StringType,
"network_id": types.Int64Type,
}
var ItemBackend = map[string]attr.Type{
"algorithm": types.StringType,
"guid": types.StringType,
"name": types.StringType,
"server_default_settings": types.ObjectType{AttrTypes: ItemServerSettings},
"servers": types.ListType{ElemType: types.ObjectType{AttrTypes: ItemServers}},
}
var ItemFrontend = map[string]attr.Type{
"backend": types.StringType,
"bindings": types.ListType{ElemType: types.ObjectType{AttrTypes: ItemBindings}},
"guid": types.StringType,
"name": types.StringType,
}