package models

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

type DataSourceVINSNATRuleListModel struct {
	// request fields
	VinsID   types.Int64    `tfsdk:"vins_id"`
	Timeouts timeouts.Value `tfsdk:"timeouts"`

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

type ItemVINSNATRuleModel struct {
	ID              types.Int64  `tfsdk:"id"`
	LocalIP         types.String `tfsdk:"local_ip"`
	LocalPort       types.Int64  `tfsdk:"local_port"`
	Protocol        types.String `tfsdk:"protocol"`
	PublicPortEnd   types.Int64  `tfsdk:"public_port_end"`
	PublicPortStart types.Int64  `tfsdk:"public_port_start"`
	VMID            types.Int64  `tfsdk:"vm_id"`
	VMName          types.String `tfsdk:"vm_name"`
}
