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.
75 lines
3.0 KiB
75 lines
3.0 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 ResourceAccountModel struct {
|
|
// request fields - required
|
|
AccountName types.String `tfsdk:"account_name"`
|
|
Username types.String `tfsdk:"username"`
|
|
|
|
// request fields - optional
|
|
EmailAddress types.String `tfsdk:"emailaddress"`
|
|
SendAccessEmails types.Bool `tfsdk:"send_access_emails"`
|
|
Users types.List `tfsdk:"users"`
|
|
Restore types.Bool `tfsdk:"restore"`
|
|
Permanently types.Bool `tfsdk:"permanently"`
|
|
Enable types.Bool `tfsdk:"enable"`
|
|
ResourceLimits types.Object `tfsdk:"resource_limits"`
|
|
Timeouts timeouts.Value `tfsdk:"timeouts"`
|
|
|
|
// response fields
|
|
Id types.String `tfsdk:"id"`
|
|
LastUpdated types.String `tfsdk:"last_updated"`
|
|
DCLocation types.String `tfsdk:"dc_location"`
|
|
AccountID types.Int64 `tfsdk:"account_id"`
|
|
CKey types.String `tfsdk:"ckey"`
|
|
ACL types.List `tfsdk:"acl"`
|
|
Company types.String `tfsdk:"company"`
|
|
CompanyURL types.String `tfsdk:"companyurl"`
|
|
ComputeFeatures types.List `tfsdk:"compute_features"`
|
|
Computes types.Object `tfsdk:"computes"`
|
|
CPUAllocationParameter types.String `tfsdk:"cpu_allocation_parameter"`
|
|
CPUAllocationRatio types.Float64 `tfsdk:"cpu_allocation_ratio"`
|
|
CreatedBy types.String `tfsdk:"created_by"`
|
|
CreatedTime types.Int64 `tfsdk:"created_time"`
|
|
DeactivationTime types.Float64 `tfsdk:"deactivation_time"`
|
|
DeletedBy types.String `tfsdk:"deleted_by"`
|
|
DeletedTime types.Int64 `tfsdk:"deleted_time"`
|
|
DisplayName types.String `tfsdk:"displayname"`
|
|
GUID types.Int64 `tfsdk:"guid"`
|
|
Machines types.Object `tfsdk:"machines"`
|
|
Status types.String `tfsdk:"status"`
|
|
UpdatedTime types.Int64 `tfsdk:"updated_time"`
|
|
Version types.Int64 `tfsdk:"version"`
|
|
VINS types.List `tfsdk:"vins"`
|
|
VINSes types.Int64 `tfsdk:"vinses"`
|
|
}
|
|
|
|
type UsersModel struct {
|
|
UserID types.String `tfsdk:"user_id"`
|
|
AccessType types.String `tfsdk:"access_type"`
|
|
RecursiveDelete types.Bool `tfsdk:"recursive_delete"`
|
|
}
|
|
|
|
type ResourceLimitsInAccountResourceModel struct {
|
|
CUC types.Float64 `tfsdk:"cu_c"`
|
|
CUD types.Float64 `tfsdk:"cu_d"`
|
|
CUI types.Float64 `tfsdk:"cu_i"`
|
|
CUM types.Float64 `tfsdk:"cu_m"`
|
|
CUNP types.Float64 `tfsdk:"cu_np"`
|
|
GPUUnits types.Float64 `tfsdk:"gpu_units"`
|
|
}
|
|
|
|
var ItemResourceLimitsInAccountResource = map[string]attr.Type{
|
|
"cu_c": types.Float64Type,
|
|
"cu_d": types.Float64Type,
|
|
"cu_i": types.Float64Type,
|
|
"cu_m": types.Float64Type,
|
|
"cu_np": types.Float64Type,
|
|
"gpu_units": types.Float64Type,
|
|
}
|