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.
		
		
		
		
		
			
		
			
				
					
					
						
							97 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
	
	
							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,
 | |
| }
 |