package models

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

type DataSourceDiskListTypesDetailedModel struct {
	// request fields - optional
	SortBy   types.String   `tfsdk:"sort_by"`
	Page     types.Int64    `tfsdk:"page"`
	Size     types.Int64    `tfsdk:"size"`
	Timeouts timeouts.Value `tfsdk:"timeouts"`

	// response fields
	Id         types.String                `tfsdk:"id"`
	Items      []ItemDiskTypeDetailedModel `tfsdk:"items"`
	EntryCount types.Int64                 `tfsdk:"entry_count"`
}

type ItemDiskTypeDetailedModel struct {
	Pools   []ItemPoolModel `tfsdk:"pools"`
	SepID   types.Int64     `tfsdk:"sep_id"`
	SepName types.String    `tfsdk:"sep_name"`
}

type ItemPoolModel struct {
	Name   types.String `tfsdk:"name"`
	System types.String `tfsdk:"system"`
	Types  types.List   `tfsdk:"types"`
}
