jaredhendrickson13 / pfsense-api

The missing REST API package for pfSense
https://pfrest.org/
Apache License 2.0
666 stars 101 forks source link

FreeRadius Configuration #431

Open elacy opened 8 months ago

elacy commented 8 months ago

Is your feature request related to existing pfSense functionality that is missing from the API? Please describe. Netgate Documentation for FreeRadius

Is your feature request related to a problem? Please describe. I'm creating a terraform provider based on your api and I would like to be able to add FreeRadius users using terraform

Describe the solution you'd like PFsense API Endpoints dedicated to creating/updating FreeRadius Configuration. Don't necessarily need you to actually create them, some idea about how you might go about implementing this in your API would be sufficient. Particularly the part about how the configuration isn't usage if the package is not installed. Then again if the mood strikes you, I wouldn't object :D

Describe alternatives you've considered I could use your configuration API but I decided that this would lose the benefit of the validation that you have placed in all the other APIs

Additional context Thanks for making this API!

jaredhendrickson13 commented 8 months ago

Good questions! As for endpoints that interact with packages, the APIModel class contains the packages and package_includes properties that can be used to define packages required for your APIModel(s) to operate. There's a section in the contributors guide that briefly details these properties. A good example can be found in the Service Watchdog APIModel:

https://github.com/jaredhendrickson13/pfsense-api/blob/f66128b747739c57bfdb4dedb0ae699c089c9e1b/pfSense-pkg-API/files/etc/inc/api/models/APIServicesServiceWatchdogUpdate.inc#L21-L27

The contributors guide also contains other helpful information on developing new API endpoints. In general, endpoints should be written to mimic their webConfigurator pages as closely as possible. Beyond that, implementation is mostly up to you. If you have any troubles feel free to reach out!

Thanks!