From 0d7a542b6dad1d906cfc4b5a5af032a3a47f5791 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Mon, 5 May 2025 15:58:35 +0300 Subject: [PATCH] allow multiple records --- ovh_dns_ensure/ovh_dns_ensure.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/ovh_dns_ensure/ovh_dns_ensure.py b/ovh_dns_ensure/ovh_dns_ensure.py index 401ec26..5a6394d 100755 --- a/ovh_dns_ensure/ovh_dns_ensure.py +++ b/ovh_dns_ensure/ovh_dns_ensure.py @@ -68,14 +68,17 @@ class OvhDnsEnsure: ) self._log.debug(result) elif self.current_state == 'different': - for record in self.records: - if not self.config['dummy']: - self._log.debug( - 'Deleting record %s', - record - ) - result = self.ovh.delete(f"/domain/zone/{self.config['zone']}/record/{record}") - self._log.debug(result) + if not self.config['allow_multiple']: + for record in self.records: + if not self.config['dummy']: + self._log.debug( + 'Deleting record %s', + record + ) + result = self.ovh.delete( + f"/domain/zone/{self.config['zone']}/record/{record}" + ) + self._log.debug(result) self._log.debug( "Creating new record..." ) @@ -271,6 +274,13 @@ class OvhDnsEnsure: ), help='OVH Server to use.' ) +@click.option( + '--allow-multiple', + '-m', + is_flag=True, + required=True, + help='OVH Consumer key. Better use the configuration file for safety.' +) @click_config_file.configuration_option() def __main__(**kwargs): return OvhDnsEnsure(**kwargs)