package models

import (
	"github.com/hashicorp/terraform-plugin-framework-timeouts/datasource/timeouts"
	"github.com/hashicorp/terraform-plugin-framework/types"
)

type DataSourceRGAffinityGroupComputesModel struct {
	// request required fields
	RGID          types.Int64  `tfsdk:"rg_id"`
	AffinityGroup types.String `tfsdk:"affinity_group"`

	// request optional fields
	Timeouts timeouts.Value `tfsdk:"timeouts"`

	// response fields
	Id    types.String                    `tfsdk:"id"`
	Items []ItemAffinityGroupComputeModel `tfsdk:"items"`
}

type ItemAffinityGroupComputeModel struct {
	ComputeID             types.Int64 `tfsdk:"compute_id"`
	OtherNode             types.List  `tfsdk:"other_node"`
	OtherNodeIndirect     types.List  `tfsdk:"other_node_indirect"`
	OtherNodeIndirectSoft types.List  `tfsdk:"other_node_indirect_soft"`
	OtherNodeSoft         types.List  `tfsdk:"other_node_soft"`
	SameNode              types.List  `tfsdk:"same_node"`
	SameNodeSoft          types.List  `tfsdk:"same_node_soft"`
}
