What is missing?
It would be useful to support the X-Auth-All-Projects header in recordsets.ListByZone,
recordsets.ListAll, recordsets.Create, recordsets.Update, and recordsets.Delete, allowing
admin users to manage DNS recordsets across projects.
Proposed change
Following the same optional type assertion pattern introduced in #3800 for zones.List:
- Add
AllProjects bool with the h:"X-Auth-All-Projects" tag to ListOpts, CreateOpts, and UpdateOpts
- Add
ListOptsHeadersBuilder interface and implement it on ListOpts to populate pager.Headers in ListByZone and ListAll
- Add
RequestOptsHeadersBuilder interface and implement it on CreateOpts and UpdateOpts to populate RequestOpts.MoreHeaders in Create and Update
- Introduce
DeleteOpts with AllProjects bool and a variadic opts ...DeleteOptsBuilder parameter on Delete to support the header without breaking the existing signature.
This would be very useful to have full admin DNS management using external-dns via https://github.com/inovex/external-dns-openstack-webhook
What is missing?
It would be useful to support the
X-Auth-All-Projectsheader inrecordsets.ListByZone,recordsets.ListAll,recordsets.Create,recordsets.Update, andrecordsets.Delete, allowingadmin users to manage DNS recordsets across projects.
Proposed change
Following the same optional type assertion pattern introduced in #3800 for
zones.List:AllProjects boolwith theh:"X-Auth-All-Projects"tag toListOpts,CreateOpts, andUpdateOptsListOptsHeadersBuilderinterface and implement it onListOptsto populatepager.HeadersinListByZoneandListAllRequestOptsHeadersBuilderinterface and implement it onCreateOptsandUpdateOptsto populateRequestOpts.MoreHeadersinCreateandUpdateDeleteOptswithAllProjects booland a variadicopts ...DeleteOptsBuilderparameter onDeleteto support the header without breaking the existing signature.This would be very useful to have full admin DNS management using
external-dnsvia https://github.com/inovex/external-dns-openstack-webhook