diff --git a/pkg/interfaces/assign.go b/pkg/interfaces/assign.go new file mode 100644 index 0000000..fe8233c --- /dev/null +++ b/pkg/interfaces/assign.go @@ -0,0 +1,48 @@ +// Code generated by internal/generate/api/main.go; DO NOT EDIT. + +package interfaces + +import ( + "context" + "github.com/browningluke/opnsense-go/pkg/api" +) + +var AssignOpts = api.ReqOpts{ + AddEndpoint: "/interfaces/assign_settings/addItem", + GetEndpoint: "/interfaces/assign_settings/getItem", + UpdateEndpoint: "/interfaces/assign_settings/setItem", + DeleteEndpoint: "/interfaces/assign_settings/delItem", + ReconfigureEndpoint: "/interfaces/assign_settings/reconfigure", + Monad: "assign", +} + +// Data structs + +type Assign struct { + Interface string `json:"interface"` + Device string `json:"device"` + Ip string `json:"ipaddr"` + Subnet string `json:"subnet"` + Gateway string `json:"gateway"` + GatewayInterface string `json:"gateway_interface"` + Enable string `json:"enable"` + Description string `json:"descr"` +} + +// CRUD operations + +func (c *Controller) AddAssign(ctx context.Context, resource *Assign) (string, error) { + return api.Add(c.Client(), ctx, AssignOpts, resource) +} + +func (c *Controller) GetAssign(ctx context.Context, id string) (*Assign, error) { + return api.Get(c.Client(), ctx, AssignOpts, &Assign{}, id) +} + +func (c *Controller) UpdateAssign(ctx context.Context, id string, resource *Assign) error { + return api.Update(c.Client(), ctx, AssignOpts, resource, id) +} + +func (c *Controller) DeleteAssign(ctx context.Context, id string) error { + return api.Delete(c.Client(), ctx, AssignOpts, id) +} diff --git a/pkg/interfaces/vip.go b/pkg/interfaces/vip.go new file mode 100644 index 0000000..13ac3f5 --- /dev/null +++ b/pkg/interfaces/vip.go @@ -0,0 +1,45 @@ +// Code generated by internal/generate/api/main.go; DO NOT EDIT. + +package interfaces + +import ( + "context" + "github.com/browningluke/opnsense-go/pkg/api" +) + +var VipOpts = api.ReqOpts{ + AddEndpoint: "/interfaces/vip_settings/addItem", + GetEndpoint: "/interfaces/vip_settings/getItem", + UpdateEndpoint: "/interfaces/vip_settings/setItem", + DeleteEndpoint: "/interfaces/vip_settings/delItem", + ReconfigureEndpoint: "/interfaces/vip_settings/reconfigure", + Monad: "vip", +} + +// Data structs + +type Vip struct { + Interface api.SelectedMap `json:"interface"` + Mode api.SelectedMap `json:"mode"` + Network string `json:"network"` + Description string `json:"descr"` + Gateway string `json:"gateway"` +} + +// CRUD operations + +func (c *Controller) AddVip(ctx context.Context, resource *Vip) (string, error) { + return api.Add(c.Client(), ctx, VipOpts, resource) +} + +func (c *Controller) GetVip(ctx context.Context, id string) (*Vip, error) { + return api.Get(c.Client(), ctx, VipOpts, &Vip{}, id) +} + +func (c *Controller) UpdateVip(ctx context.Context, id string, resource *Vip) error { + return api.Update(c.Client(), ctx, VipOpts, resource, id) +} + +func (c *Controller) DeleteVip(ctx context.Context, id string) error { + return api.Delete(c.Client(), ctx, VipOpts, id) +} diff --git a/schema/interfaces.yml b/schema/interfaces.yml index ad201bb..03b2bb1 100644 --- a/schema/interfaces.yml +++ b/schema/interfaces.yml @@ -27,3 +27,65 @@ resources: - name: Device type: string key: vlanif + + - name: Vip + filename: vip + monad: vip + endpoints: + add: "/interfaces/vip_settings/addItem" + get: "/interfaces/vip_settings/getItem" + update: "/interfaces/vip_settings/setItem" + delete: "/interfaces/vip_settings/delItem" + reconfigure: "/interfaces/vip_settings/reconfigure" + attrs: + - name: Interface + type: SelectedMap + key: interface + - name: Mode + type: SelectedMap + key: mode + - name: Network + type: string + key: network + - name: Description + type: string + key: descr + - name: Gateway + type: string + key: gateway + + - name: Assign + filename: assign + monad: assign + endpoints: + add: "/interfaces/assign_settings/addItem" + get: "/interfaces/assign_settings/getItem" + update: "/interfaces/assign_settings/setItem" + delete: "/interfaces/assign_settings/delItem" + reconfigure: "/interfaces/assign_settings/reconfigure" + attrs: + - name: Interface + type: string + key: interface + - name: Device + type: string + key: device + - name: Ip + type: string + key: ipaddr + - name: Subnet + type: string + key: subnet + - name: Gateway + type: string + key: gateway + - name: GatewayInterface + type: string + key: gateway_interface + - name: Enable + type: string + key: enable + - name: Description + type: string + key: descr +