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/bservice/models/model_resource_bservice.go

113 lines
3.9 KiB

7 months ago
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 RecordBasicServiceResourceModel struct {
//required fields
Name types.String `tfsdk:"service_name"`
RGID types.Int64 `tfsdk:"rg_id"`
//optional fields
SSHKey types.String `tfsdk:"ssh_key"`
SSHUser types.String `tfsdk:"ssh_user"`
Permanently types.Bool `tfsdk:"permanently"`
Enable types.Bool `tfsdk:"enable"`
Restore types.Bool `tfsdk:"restore"`
Start types.Bool `tfsdk:"start"`
ServiceId types.Int64 `tfsdk:"service_id"`
Snapshots types.List `tfsdk:"snapshots"`
Timeouts timeouts.Value `tfsdk:"timeouts"`
//computed fields
AccountID types.Int64 `tfsdk:"account_id"`
AccountName types.String `tfsdk:"account_name"`
BaseDomain types.String `tfsdk:"base_domain"`
Computes types.List `tfsdk:"computes"`
CPUTotal types.Int64 `tfsdk:"cpu_total"`
CreatedBy types.String `tfsdk:"created_by"`
CreatedTime types.Int64 `tfsdk:"created_time"`
DeletedBy types.String `tfsdk:"deleted_by"`
DeletedTime types.Int64 `tfsdk:"deleted_time"`
DiskTotal types.Int64 `tfsdk:"disk_total"`
GID types.Int64 `tfsdk:"gid"`
Groups types.List `tfsdk:"groups"`
GUID types.Int64 `tfsdk:"guid"`
Milestones types.Int64 `tfsdk:"milestones"`
ParentSrvID types.Int64 `tfsdk:"parent_srv_id"`
ParentSrvType types.String `tfsdk:"parent_srv_type"`
RAMTotal types.Int64 `tfsdk:"ram_total"`
RGName types.String `tfsdk:"rg_name"`
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"`
ID types.String `tfsdk:"id"`
}
type ItemComputeResourceModel struct {
AccountID types.Int64 `tfsdk:"account_id"`
Architecture types.String `tfsdk:"architecture"`
CompGroupID types.Int64 `tfsdk:"compgroup_id"`
CompGroupName types.String `tfsdk:"compgroup_name"`
CompGroupRole types.String `tfsdk:"compgroup_role"`
ID types.Int64 `tfsdk:"id"`
Name types.String `tfsdk:"name"`
RGID types.Int64 `tfsdk:"rg_id"`
StackID types.Int64 `tfsdk:"stack_id"`
Status types.String `tfsdk:"status"`
TechStatus types.String `tfsdk:"tech_status"`
}
var ItemComputeResource = map[string]attr.Type{
"account_id": types.Int64Type,
"architecture": types.StringType,
"compgroup_id": types.Int64Type,
"compgroup_name": types.StringType,
"compgroup_role": types.StringType,
"id": types.Int64Type,
"name": types.StringType,
"rg_id": types.Int64Type,
"stack_id": types.Int64Type,
"status": types.StringType,
"tech_status": types.StringType,
}
type ItemGroupResourceModel struct {
Computes types.Int64 `tfsdk:"computes"`
Consistency types.Bool `tfsdk:"consistency"`
ID types.Int64 `tfsdk:"id"`
Name types.String `tfsdk:"name"`
Status types.String `tfsdk:"status"`
TechStatus types.String `tfsdk:"tech_status"`
}
var ItemGroupResource = map[string]attr.Type{
"computes": types.Int64Type,
"consistency": types.BoolType,
"id": types.Int64Type,
"name": types.StringType,
"status": types.StringType,
"tech_status": types.StringType,
}
type ItemSnapshotResourceModel struct {
GUID types.String `tfsdk:"guid"`
Label types.String `tfsdk:"label"`
Rollback types.Bool `tfsdk:"rollback"`
Timestamp types.Int64 `tfsdk:"timestamp"`
Valid types.Bool `tfsdk:"valid"`
}
var ItemSnapshotResource = map[string]attr.Type{
"guid": types.StringType,
"label": types.StringType,
"rollback": types.BoolType,
"timestamp": types.Int64Type,
"valid": types.BoolType,
}