package models

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

type DataSourceRGAffinityGroupsListModel struct {
	// request required fields
	RGID types.Int64 `tfsdk:"rg_id"`

	// request optional fields
	Page     types.Int64    `tfsdk:"page"`
	Size     types.Int64    `tfsdk:"size"`
	Timeouts timeouts.Value `tfsdk:"timeouts"`

	// response fields
	Id             types.String             `tfsdk:"id"`
	AffinityGroups []ItemAffinityGroupModel `tfsdk:"affinity_groups"`
	EntryCount     types.Int64              `tfsdk:"entry_count"`
}

type ItemAffinityGroupModel struct {
	Label types.String  `tfsdk:"label"`
	Ids   []ItemIDModel `tfsdk:"ids"`
}

type ItemIDModel struct {
	Id     types.Int64 `tfsdk:"id"`
	NodeId types.Int64 `tfsdk:"node_id"`
}
