import requests # Remplacez cette clé API par la vôtre API_KEY = "SECRET.API" # Fonction pour afficher le menu de sélection du domaine à supprimer def select_domain(): options = { "NOMDOMAINE1": "ID", "NOMDOMAINE2": "ID", "NOMDOMAINE3": "ID" } print("Merci de faire votre choix :") for i, domain in enumerate(options.keys(), start=1): print(f"{i}. {domain}") while True: choice = input("Entrez le numéro du domaine à supprimer : ") try: choice = int(choice) if 1 <= choice <= len(options): domain = list(options.keys())[choice - 1] domain_id = list(options.values())[choice - 1] return domain, domain_id else: print("Choix invalide. Réessayez.") except ValueError: print("Choix invalide. Réessayez.") # Appeler la fonction pour afficher le menu de sélection du domaine à supprimer DOMAIN_NAME, DOMAIN_ID = select_domain() # Fonction pour afficher la liste des enregistrements de sous-domaine def lister_sous_domaines(): url = f"https://api.hosting.ionos.com/dns/v1/zones/{DOMAIN_ID}" headers = { "X-API-Key": API_KEY, "accept": "application/json" } response = requests.get(url, headers=headers) if response.status_code == 200: data = response.json() print("Liste des enregistrements de sous-domaine :") for idx, record in enumerate(data["records"]): print(f"{idx+1}. {record['name']} (ID: {record['id']})") return data # Renvoyer les données pour être utilisées plus tard else: print("Une erreur s'est produite lors de la récupération des enregistrements de sous-domaine.") print(f"Code d'erreur : {response.status_code}") print(f"Message d'erreur : {response.text}") return None # Renvoyer None en cas d'erreur # Fonction pour supprimer un sous-domaine en utilisant son ID def supprimer_sous_domaine(sous_domaine_id): url = f"https://api.hosting.ionos.com/dns/v1/zones/{DOMAIN_ID}/records/{sous_domaine_id}" headers = { "X-API-Key": API_KEY, "accept": "*/*", "Content-Type": "application/json" } response = requests.delete(url, headers=headers) if response.status_code == 200: print("Le sous-domaine a été supprimé avec succès !") else: print("Une erreur s'est produite lors de la suppression du sous-domaine.") print(f"Code d'erreur : {response.status_code}") try: message_erreur = response.json().get("message", "Erreur lors de l'obtention du message d'erreur.") except ValueError: message_erreur = "Erreur lors de l'obtention du message d'erreur." print(f"Message d'erreur : {message_erreur}") # Appeler la fonction pour lister les enregistrements de sous-domaine et stocker les données data = lister_sous_domaines() # Demander à l'utilisateur d'entrer le chiffre correspondant à l'ID du sous-domaine à supprimer while True: choix = input("Entrez le chiffre correspondant à l'ID du sous-domaine que vous souhaitez supprimer (ou appuyez sur Entrée pour ne rien supprimer) : ") if choix.isdigit(): choix = int(choix) break elif choix == "": choix = None break else: print("Veuillez entrer un chiffre valide.") # Si l'utilisateur a entré un chiffre, supprimer le sous-domaine correspondant if choix is not None: # Vérifier si le choix est un index valide dans la liste des enregistrements de sous-domaine if 1 <= choix <= len(data["records"]): sous_domaine_id = data["records"][choix - 1]["id"] supprimer_sous_domaine(sous_domaine_id) else: print("L'index choisi ne correspond à aucun sous-domaine.") else: print("Aucun sous-domaine n'a été supprimé.")