package models

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

type DataSourceExtNetListModel struct {
	// optional fields
	AccountID types.Int64    `tfsdk:"account_id"`
	ByID      types.Int64    `tfsdk:"by_id"`
	Name      types.String   `tfsdk:"name"`
	Network   types.String   `tfsdk:"network"`
	VLANID    types.Int64    `tfsdk:"vlan_id"`
	VNFDevID  types.Int64    `tfsdk:"vnfdev_id"`
	OVSBridge types.String   `tfsdk:"ovs_bridge"`
	Status    types.String   `tfsdk:"status"`
	Page      types.Int64    `tfsdk:"page"`
	Size      types.Int64    `tfsdk:"size"`
	Timeouts  timeouts.Value `tfsdk:"timeouts"`
	SortBy    types.String   `tfsdk:"sort_by"`

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

type ItemExtNetModel struct {
	ID     types.Int64  `tfsdk:"net_id"`
	IPCIDR types.String `tfsdk:"ipcidr"`
	Name   types.String `tfsdk:"name"`
	Status types.String `tfsdk:"status"`
}
