mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-06 22:14:01 +00:00
51 lines
1.6 KiB
Go
51 lines
1.6 KiB
Go
package sdn
|
|
|
|
/*
|
|
VNET MODEL TERRAFORM
|
|
*/
|
|
|
|
import (
|
|
"github.com/bpg/terraform-provider-proxmox/fwprovider/helpers/ptrConversion"
|
|
"github.com/bpg/terraform-provider-proxmox/proxmox/cluster/sdn/vnets"
|
|
"github.com/hashicorp/terraform-plugin-framework/types"
|
|
)
|
|
|
|
type sdnVnetModel struct {
|
|
ID types.String `tfsdk:"id"`
|
|
Name types.String `tfsdk:"name"`
|
|
Zone types.String `tfsdk:"zone"`
|
|
Alias types.String `tfsdk:"alias"`
|
|
IsolatePorts types.Bool `tfsdk:"isolate_ports"`
|
|
Tag types.Int64 `tfsdk:"tag"`
|
|
Type types.String `tfsdk:"type"`
|
|
VlanAware types.Bool `tfsdk:"vlanaware"`
|
|
ZoneType types.String `tfsdk:"zonetype"`
|
|
}
|
|
|
|
func (m *sdnVnetModel) importFromAPI(name string, data *vnets.VnetData) {
|
|
m.ID = types.StringValue(name)
|
|
m.Name = types.StringValue(name)
|
|
|
|
m.Zone = types.StringPointerValue(data.Zone)
|
|
m.Alias = types.StringPointerValue(data.Alias)
|
|
m.IsolatePorts = types.BoolPointerValue(ptrConversion.Int64ToBoolPtr(data.IsolatePorts))
|
|
m.Tag = types.Int64PointerValue(data.Tag)
|
|
m.Type = types.StringPointerValue(data.Type)
|
|
m.VlanAware = types.BoolPointerValue(ptrConversion.Int64ToBoolPtr(data.VlanAware))
|
|
}
|
|
|
|
func (m *sdnVnetModel) toAPIRequestBody() *vnets.VnetRequestData {
|
|
data := &vnets.VnetRequestData{}
|
|
|
|
data.ID = m.Name.ValueString()
|
|
|
|
data.Zone = m.Zone.ValueStringPointer()
|
|
data.Alias = m.Alias.ValueStringPointer()
|
|
data.IsolatePorts = ptrConversion.BoolToInt64Ptr(m.IsolatePorts.ValueBoolPointer())
|
|
data.Tag = m.Tag.ValueInt64Pointer()
|
|
data.Type = m.Type.ValueStringPointer()
|
|
data.VlanAware = ptrConversion.BoolToInt64Ptr(m.VlanAware.ValueBoolPointer())
|
|
|
|
return data
|
|
}
|