package models

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

type DataSourceExtNetReservedIPModel struct {
	// required fields
	AccountID types.Int64 `tfsdk:"account_id"`

	// optional fields
	ExtNetID types.Int64    `tfsdk:"extnet_id"`
	Timeouts timeouts.Value `tfsdk:"timeouts"`

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

type ItemReservedIPModel struct {
	ExtNetID     types.Int64             `tfsdk:"extnet_id"`
	Reservations []ItemReservationsModel `tfsdk:"reservations"`
}

type ItemReservationsModel struct {
	AccountID  types.Int64  `tfsdk:"account_id"`
	ClientType types.String `tfsdk:"client_type"`
	DomainName types.String `tfsdk:"domain_name"`
	HostName   types.String `tfsdk:"hostname"`
	IP         types.String `tfsdk:"ip"`
	MAC        types.String `tfsdk:"mac"`
	Type       types.String `tfsdk:"type"`
	VMID       types.Int64  `tfsdk:"vm_id"`
}
