Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Migration des règles de suppression vers les règles cloud de Pipeline
Important
À compter du 21 mai 2025, les nouveaux clients ne pourront plus utiliser les règles de suppression NRQL. Les règles d'abandon NRQL prendront fin le 7 janvier 2026.
Si vous gérez vos règles de suppression NRQL via Terraform en utilisant la ressource newrelic_nrql_drop_rule, vous devrez les migrer vers la ressource newrelic_pipeline_cloud_rule. Bien que New Relic ait déjà migré les règles de suppression sous-jacentes, Terraform conserve son propre fichier d'état et ne connaît que les ressources que vous avez explicitement configurées. Étant donné que Terraform traite ces éléments comme deux types de ressources complètement différents, vous devrez importer les règles cloud de Pipeline dans l'état de Terraform et supprimer les anciennes ressources de la règle de suppression.
Approches migratoires
Ce guide présente deux façons de migrer vos règles de suppression NRQL vers les règles cloud Pipeline dans Terraform :
Commandes Terraform natives : Le workflow Terraform standard utilisant les commandes terraform import, terraform plan et terraform state rm.
Outils d'automatisation CLI de New Relic : New Relic fournit des outils CLI qui automatisent le workflow Terraform natif, disponibles en deux versions :
GitOps (CI/CD (intégration et livraison continues)) : Pour les équipes utilisant des outils CI/CD (intégration et livraison continues) où l'état Terraform n'est pas directement accessible depuis l'espace de travail (généralement stocké dans un backend distant).
Terraform local : pour les équipes exécutant des commandes Terraform où elles peuvent lire directement le fichier d’état Terraform, qu’il soit local ou dans un backend distant.
Nous recommandons l'utilisation des outils d'automatisation de New Relic, car ils réduisent considérablement le travail manuel et les risques d'erreurs. Toutefois, si vous préférez un contrôle total ou si vous avez des exigences spécifiques, vous pouvez suivre l'approche de la commande Terraform native.
Migrer avec les commandes Terraform natives
Cette section décrit le workflow Terraform standard pour migrer des ressources newrelic_nrql_drop_rule vers des ressources newrelic_pipeline_cloud_rule à l'aide de commandes Terraform natives. Toutes les commandes de cette section doivent être exécutées depuis votre répertoire de travail Terraform où se trouve votre configuration de règles de suppression.
Prérequis
Terraform ou OpenTofu v1.5 ou supérieur : cette version a introduit la fonctionnalité de bloc import, qui rend le processus de migration plus efficace en éliminant le besoin d’écrire manuellement la configuration des ressources.
Fournisseur New Relic Terraform v3.73.0 ou supérieur : cette version recommandée étend la prise en charge de la gestion des règles cloud Pipeline via Terraform en utilisant la ressource newrelic_pipeline_cloud_rule et l’attribut pipeline_cloud_rule_entity_id sur les ressources newrelic_nrql_drop_rule (ajouté dans la version 3.68.0 sortie en septembre 2025) avec un débogage important pour assurer un processus de migration en douceur.
Étapes de migration
Obtenez les ID des règles cloud Pipeline
Mettez à niveau le fournisseur New Relic Terraform vers la version 3.73.0 ou supérieure dans votre répertoire de travail Terraform, puis exécutez terraform apply pour mettre à jour vos ressources newrelic_nrql_drop_rule existantes. Cette opération met à jour l'état Terraform en ajoutant l'attribut pipeline_cloud_rule_entity_id, qui contient l'ID de la règle cloud Pipeline correspondante que New Relic a créée automatiquement.
Note
Pour des opérations plus sûres, utilisez l'indicateur -refresh-only pour mettre à jour l'état sans apporter de modifications à l'infrastructure, ou utilisez -target pour limiter l'opération à des ressources de règles de suppression spécifiques.
Accédez à votre répertoire de travail Terraform et exécutez l'une des commandes suivantes :
bash
$
# Apply to update state with pipeline_cloud_rule_entity_id
$
terraform apply
$
$
# Safer: use refresh-only to see changes without modifying infrastructure
$
terraform apply -refresh-only
$
$
# Targeted: limit operation to specific drop rule resources
Après avoir exécuté l'une des commandes ci-dessus, le pipeline_cloud_rule_entity_id sera disponible dans votre état pour chaque règle de suppression. Gardez les pièces d'identité à portée de main pour l'étape suivante.
# Example: Get the Pipeline cloud rule ID for a drop rule
Importer les règles cloud Pipeline dans l'état Terraform
Créez un nouveau fichier .tf (par exemple, import_pipeline_rules.tf) dans votre répertoire de travail Terraform. Dans ce fichier, ajoutez des blocs d'importation pour chaque règle de suppression que vous souhaitez migrer. Utilisez les valeurs pipeline_cloud_rule_entity_id de l'étape précédente.
# import_pipeline_rules.tf
# Create import block using the pipeline_cloud_rule_entity_id from state
terraform plan -generate-config-out=generated_pipeline_rules.tf
$
$
# Apply to import the Pipeline cloud rules
$
terraform apply
Supprimer les anciennes ressources de la règle de suppression de l'état Terraform
Après avoir importé avec succès les règles cloud Pipeline, vous devez supprimer toutes les références aux ressources newrelic_nrql_drop_rule de votre état Terraform à l'aide de la commande terraform state rm.
bash
$
terraform state rm newrelic_nrql_drop_rule.foo
Cela supprime les règles de suppression de l'état Terraform sans les supprimer de New Relic.
Conseil
Vous pouvez également utiliser le blocremovedde Terraform (disponible dans Terraform v1.7 et supérieur) pour supprimer des ressources de l'état de manière déclarative dans vos fichiers de configuration.
Nettoyez votre configuration Terraform
Après avoir supprimé les règles de suppression de l'état Terraform, vous devez placer en commentaire tous les blocs de ressources newrelic_nrql_drop_rule de vos fichiers configuration Terraform et supprimer toutes les ressources auxiliaires qui dépendent de ces règles de suppression.
Vérifiez ensuite la migration en exécutant terraform plan:
bash
$
terraform plan
Si la migration a réussi, le résultat devrait afficher « Aucun changement ».
Migrez avec les outils d'automatisation de New Relic
Pour simplifier le workflow de migration Terraform natif décrit ci-dessus, New Relic fournit des outils d'automatisation en ligne de commande qui gèrent l'importation et la gestion de l'état pour vous. Ces outils automatisent les mêmes opérations Terraform sous-jacentes (importation, planification, application et suppression de l'état) mais avec beaucoup moins de travail manuel.
Prérequis
Terraform ou OpenTofu v1.5 ou supérieur : requis pour les approches de migration automatisées.
Fournisseur New Relic Terraform v3.73.0 ou supérieur : cette version recommandée étend la prise en charge de la gestion des règles cloud Pipeline via Terraform en utilisant la ressource newrelic_pipeline_cloud_rule et l’attribut pipeline_cloud_rule_entity_id sur les ressources newrelic_nrql_drop_rule (ajouté dans la version 3.68.0 sortie en septembre 2025) avec un débogage important pour assurer un processus de migration en douceur.
Interface de ligne de commande New Relic : requise pour exécuter les commandes de migration automatisées.
Variables d'environnement :
NEW_RELIC_API_KEY - Votre clé API utilisateur New Relic avec les autorisations appropriées.
NEW_RELIC_ACCOUNT_ID - Votre identifiant de compte New Relic, où se trouvent vos règles de butin.
NEW_RELIC_REGION (facultatif) - À définir sur « États-Unis » ou « UE » en fonction de la région de votre compte (par défaut : « États-Unis »).
Choisissez votre approche
Le processus automatisé GitOps utilise une approche en trois phases conçue pour les environnements CI/CD (intégration et livraison continues) où le fichier d'état n'est pas facilement accessible. Ces phases garantissent l'extraction sécurisée du nouvel ID de règle Pipeline Cloud, la génération des fichiers de configuration, ainsi que l'importation et le nettoyage de l'état au sein du pipeline.
Dans cette phase, vous ajouterez un script de validation à votre configuration Terraform CI/CD (intégration et livraison continues) qui identifiera vos règles de suppression existantes et exportera leur modélisation sous forme de données JSON structurées.
Important
Cette procédure s'applique à un espace de travail à la fois (un fichier d'état Terraform à la fois). Si vous avez plusieurs espaces de travail avec des règles de dépôt, répétez ce processus pour chaque espace de travail.
Ce script fournit un système de validation et d'extraction des ressources de règles de suppression, en exportant leurs identifiants au format JSON pour une utilisation dans les procédures de migration.
Configurez le script pour vos types de règles de suppression
Le script prend en charge deux types de règles de suppression :
Règles de suppression autonomes: newrelic_nrql_drop_rule ressources définies directement dans votre configuration (non encapsulées dans un module)
Règles de suppression modulaires: newrelic_nrql_drop_rule ressources encapsulées dans un module Terraform
Dans le fichier outputs.tf que vous venez d'ajouter, définissez les indicateurs appropriés dans le bloc locals pour activer le traitement de vos types de règles de suppression :
locals{
# Enable for standalone drop rules
enable_standalone_drop_rules=true
# Enable for modular drop rules
enable_modular_drop_rules=false
}
Définissez enable_standalone_drop_rules sur true si vous avez des règles de suppression autonomes. Configurez enable_modular_drop_rules à true si vous avez des règles de suppression modulaires. Vous pouvez activer les deux si vous possédez les deux types.
Ajoutez vos règles de dépôt autonomes (le cas échéant).
Si vous avez des règles de suppression autonomes et que vous les avez activées à l'étape précédente, identifiez toutes les ressources autonomes newrelic_nrql_drop_rule dans votre configuration Terraform.
Par exemple, si votre configuration Terraform comporte ces règles de suppression autonomes :
nrql="SELECT * FROM Log WHERE contains(message, 'SSN')"
}
Pour chaque ressource, vous devez noter l'identifiant de la ressource et la référence complète de la ressource. Par exemple, dans la ressource newrelic_nrql_drop_rule.drop_debug_logs:
L'identifiant de la ressource est drop_debug_logs
La référence complète de la ressource est newrelic_nrql_drop_rule.drop_debug_logs
Dans le fichier outputs.tf, ajoutez ces ressources à la liste standalone_rules dans la section des règles de suppression autonomes désignées :
Le champ name doit correspondre à l'identifiant de la ressource et le champ resource doit correspondre à la référence complète de la ressource. Pour les ressources de règles de suppression créées à l'aide des méta-arguments count ou for_each, indexez explicitement l'identifiant de la ressource (par exemple, newrelic_nrql_drop_rule.drop_health_checks[0] ou newrelic_nrql_drop_rule.drop_health_checks["key_1"]). Si vous disposez d'un accès à l'état dans votre environnement CI/CD (intégration et livraison continues), vous pouvez utiliser cette commande bash pour générer automatiquement le format de la liste (cette fonctionnalité est expérimentale et peut nécessiter des ajustements en fonction de votre structure d'état spécifique) :
bash
$
terraform state list |\
>
grep'newrelic_nrql_drop_rule'|\
>
grep-v'^module\.'|\
>
sed-E\
>
-e'/\.([^[]+)\["/ s/^.*\.([^[]+)\["([^"]+)"\].*$/ {\n name = "\1_\2"\n resource = &\n },/'\
>
-e't'\
>
-e'/\.([^[]+)\[[0-9]/ s/^.*\.([^[]+)\[([0-9]+)\].*$/ {\n name = "\1_\2"\n resource = &\n },/'\
>
-e't'\
>
-e's/^.*\.([^ ]+)$/ {\n name = "\1"\n resource = &\n },/'
La commande terraform devra peut-être être remplacée par votre wrapper Terraform ou votre outil GitOps équivalent.
Ajoutez vos règles de dépôt modulaires (le cas échéant).
Si vous avez des règles de dépôt modulaires et que vous les avez activées à l'étape 2, vous devez vous assurer que vos modules exportent un attribut all_rules avant de les ajouter au script.
Prérequis: Vos modules doivent exporter un attribut all_rules qui contient des références à toutes les ressources newrelic_nrql_drop_rule gérées par le module.
Si vous avez les mêmes trois règles de suppression que celles décrites à l'étape précédente, ajoutez cette sortie à votre module :
output "all_rules" {
description="A map of all drop rule resource objects created by this module."
Si vous disposez d'un accès à l'état dans votre environnement CI/CD (intégration et livraison continues), vous pouvez utiliser cette commande bash pour générer automatiquement le format de liste des règles modulaires (cette fonctionnalité est expérimentale et peut nécessiter des ajustements en fonction de la structure de votre état) :
bash
$
terraform state list |\
>
grep'^module\..*newrelic_nrql_drop_rule'|\
>
sed-E's/(\.newrelic_nrql_drop_rule.*)//'|\
>
sort-u|\
>
sed-E's/^module\.([^[]+)\["([^"]+)"\]$/ {\n name = "\2"\n resource = module.\1\["\2"].all_rules\n },/'
La commande terraform devra peut-être être remplacée par votre wrapper Terraform ou votre outil GitOps équivalent.
Exécuter le plan Terraform
Dans votre environnement CI/CD (intégration et livraison continue), exécutez :
bash
$
terraform plan
Si le plan réussit, vous devriez voir un message de réussite dans le résultat :
Changes to Outputs:
+ a_validation_success = "✅ All listed resources export pipeline_cloud_rule_entity_id"
Cela confirme que toutes les ressources de règles de suppression sont correctement configurées et exportent l'attribut pipeline_cloud_rule_entity_id. Vous pouvez maintenant procéder à l'exécution de terraform apply.
Si vous voyez des erreurs de validation comme celle-ci :
Changes to Outputs:
+ validation_errors = [
+ "❌ Drop rule 'drop_debug_logs' does not export `pipeline_cloud_rule_entity_id` or it is null",
+ "❌ Drop rule 'drop_health_checks' does not export `pipeline_cloud_rule_entity_id` or it is null",
+ "❌ Drop rule 'drop_pii_data' does not export `pipeline_cloud_rule_entity_id` or it is null",
]
Cela signifie que vous n'utilisez pas New Relic Terraform Provider >= v3.73.0. Mettez à jour la version de votre fournisseur dans votre configuration Terraform vers la version 3.73.0 ou supérieure, puis exécutez à nouveau terraform plan .
Exécutez terraform apply
Après avoir vérifié que le résultat du plan affiche le message de réussite, exécutez :
bash
$
terraform apply
Une fois l'application terminée avec succès, vous verrez un résultat similaire à celui-ci :
Copiez la chaîne JSON complète de la sortie experimental_drop_rule_resource_ids_formatted. Vous en aurez besoin pour la phase 2.
Dans cette phase, vous utiliserez l'interface de ligne de commande New Relic pour générer automatiquement des fichiers de configuration Terraform pour vos règles cloud Pipeline en fonction de la sortie JSON de la phase 1.
Définir les variables d'environnement requises
Avant d'exécuter la commande CLI, assurez-vous que les variables d'environnement requises sont définies :
bash
$
exportNEW_RELIC_API_KEY="your-api-key"
$
exportNEW_RELIC_ACCOUNT_ID="your-account-id"
$
exportNEW_RELIC_REGION="US"# Optional, defaults to 'US'
Enregistrez la sortie JSON dans un fichier
Créez un fichier JSON (par exemple, drop_rules.json) dans votre répertoire d'espace de travail Terraform et collez la sortie JSON de la phase 1.
Par souci de simplicité, il est recommandé d'exécuter cette commande directement dans votre répertoire d'espace de travail Terraform avec le fichier JSON présent, évitant ainsi d'avoir à spécifier un --workspacePath séparé.
Paramètres de la commande :
paramètres
Type
Description
Requis
--déposer
Chaîne
Chemin d'accès au fichier JSON contenant votre modèle de règle de suppression de l'étape 1. Soit
--file
soit
--json
doit être fourni, mais pas les deux.
Oui*
--json
Chaîne
Chaîne JSON contenant votre modèle de règle de suppression. Alternative à
--file
.
Oui*
--chemin_de_l'espace_de_travail
Chaîne
Chemin d'accès à votre espace de travail Terraform. Par défaut, le répertoire courant sera utilisé si ce paramètre est omis.
Non
--tofu
Booléen
À utiliser si vous utilisez OpenTofu au lieu de Terraform.
Non
Exemple utilisant le paramètre --json :
Si vous préférez ne pas créer de fichier, vous pouvez transmettre directement la chaîne JSON :
/ <Step> #### Comprendre le fonctionnement de la commande [#understand-command-execution] La commande tf-importgen-ci effectue automatiquement les actions suivantes : - Valide les paramètres d'entrée et les variables d'environnement - Vérifie la cohérence de l'identifiant de compte entre l'environnement et les données d'entrée - Valide l'installation et la version de Terraform/OpenTofu (nécessite la version 1.5 ou supérieure) - Crée ou valide le répertoire de l'espace de travail - Génère la configuration du fournisseur (provider.tf) - Génère les blocs d'importation (imports.tf) - Initialise l'espace de travail Terraform/OpenTofu - Exécute terraform plan pour générer configuration des règles cloud Pipeline (pcrs.tf) - Formate tous les fichiers de configuration - Fournit des recommandations pour la phase 3 (suppression des anciennes règles de suppression de l'état) <Callout variant="important"> Validation de l'ID de compte : La commande vérifie automatiquement que les ID de compte dans vos données JSON correspondent à la variable d'environnement NEW_RELIC_ACCOUNT_ID. En cas de détection d'incohérences, des avertissements concernant d'éventuels échecs d'importation s'afficheront. </Callout> <Callout title="Remarque"> Noms de ressources en double : Si des noms de ressources en double sont trouvés dans vos données d'entrée, la commande les résout automatiquement en ajoutant des suffixes alphabétiques aléatoires pour garantir des définitions de ressources uniques. </Callout> </Step> /
Examinez les fichiers générés
La commande CLI génère trois fichiers de configuration Terraform dans votre espace de travail :
provider.tf: configuration du fournisseur Terraform et New Relic avec contraintes de version.
imports.tf: Blocs d'importation qui relient les nouvelles ressources aux règles cloud Pipeline existantes dans New Relic.
pcrs.tf: Définitions de ressources de règles cloud Pipeline (générées automatiquement lors de l'exécution de la commande).
La commande affiche également des recommandations pour supprimer les anciennes règles de suppression de l'état Terraform, que vous utiliserez dans la phase 3.
Validez et envoyez la configuration générée
Ajoutez les fichiers Terraform générés à votre référentiel git :
Cela déclenchera le traitement des modifications par votre pipeline CI/CD lors de la phase 3.
Dans cette phase, votre pipeline CI/CD traitera les modifications que vous avez poussées lors de la phase 2, importera les règles cloud Pipeline dans l'état Terraform et supprimera les anciennes ressources de la règle de suppression.
Examinez le plan Terraform
Après avoir poussé vos modifications, votre pipeline CI/CD se déclenchera automatiquement et publiera un commentaire de plan sur votre demande de tirage. Le résultat du plan affichera :
Ressources importées : Trois ressources newrelic_pipeline_cloud_rule
Résumé du plan :Plan: 3 to import, 0 to add, 0 to change, 0 to destroy
/ Exemple de sortie du plan Terraform : diff Terraform effectuera les actions suivantes : # newrelic_pipeline_cloud_rule.drop_debug_logs sera importée ressource "newrelic_pipeline_cloud_rule" "drop_debug_logs" { account_id = 3806526 description = "Filtre les logs de niveau débogage de l'environnement de production pour réduire le volume de données" id = "MzgwNjUyNnxOR0VQfFBJUEVMSU5FX0NMT1VEX1JVTEV8MDE5OTRjZjgtYmFmNy03MjU3LWE3M2MtZWY5OTkxYTQxMjgy" name = " Règle de suppression NRQL ID : 106878882 créée par l'utilisateur ID : 1004672904 créée à : 2025-09-15T10:43:13.122888Z" NRQL = "DELETE FROM `Log` WHERE ((`level` = 'debug') AND (`environment` = 'production'))" } # newrelic_pipeline_cloud_rule.drop_health_checks sera importée ressource "newrelic_pipeline_cloud_rule" "drop_health_checks" { account_id = 3806526 description = "Supprime les attributs userEmail et userName des données MyCustomEvent" id = "MzgwNjUyNnxOR0VQfFBJUEVMSU5FX0NMT1VEX1JVTEV8MDE5OTRjZmItMTQ0Yy03NDM5LWJhNDYtZjI4MTg0ODc5YmE2" name = " ID de la règle de suppression NRQL : 106878884 créé par l'utilisateur ID : 1004672904 créé le : 2025-09-15T10:45:47.049993Z" NRQL = "DELETE `userEmail`, `userName` FROM `MyCustomEvent`" } # newrelic_pipeline_cloud_rule.drop_pii_data sera importée ressource "newrelic_pipeline_cloud_rule" "drop_pii_data" { account_id = 3806526 description = "Exclut l'attribut containerId des agrégats métriques" id = "MzgwNjUyNnxOR0VQfFBJUEVMSU5FX0NMT1VEX1JVTEV8MDE5OTRjZmItMTQ4Ni03MDI4LWJlMDktZmYzOTM2NWQ4ODUw" name = " Règle de suppression NRQL ID : 106878885 créée par l'utilisateur ID : 1004672904 créée le : 2025-09-15T10:45:47.060296Z" NRQL = "DELETE `containerId` FROM `MetricAggregate`" } Plan : 3 à importer, 0 à ajouter, 0 à modifier, 0 à détruire. /
Appliquer les modifications
Une fois que vous avez examiné le plan et confirmé qu'il vous semble correct, commentez votre demande de tirage :
bash
$
terraform apply
Votre pipeline CI/CD exécutera la commande Terraform apply, qui importera les règles cloud Pipeline dans l'état Terraform.
Une fois l'importation terminée avec succès, vous devez supprimer les anciennes ressources newrelic_nrql_drop_rule de votre état Terraform. Utilisez les recommandations fournies dans la sortie CLI de la phase 2.
Dans votre environnement CI/CD (intégration et livraison continues) ou localement, exécutez les commandes terraform state rm pour chaque ancienne règle de suppression :
bash
$
terraform state rm newrelic_nrql_drop_rule.drop_debug_logs
$
terraform state rm newrelic_nrql_drop_rule.drop_health_checks
$
terraform state rm newrelic_nrql_drop_rule.drop_pii_data
Note
Ces commandes suppriment les ressources de l'état Terraform sans les supprimer de New Relic. Les anciennes règles de suppression seront finalement retirées de New Relic à la date de fin de vie (7 janvier 2026), mais ne seront plus gérées par Terraform après cette étape.
Vérifiez la migration
Après avoir nettoyé l'État :
Vérifiez le résultat pour confirmer que toutes les importations ont été effectuées avec succès.
Vérifiez dans l'interface utilisateur de New Relic que vos règles cloud Pipeline sont toujours actives et fonctionnelles.
Exécutez terraform plan pour confirmer qu'il n'y a pas de modifications en attente (le résultat devrait afficher « Aucune modification »).
Confirmez que les anciennes règles de suppression n'apparaissent plus dans terraform state list.
Fusionnez votre demande de tirage
Une fois la vérification terminée, fusionnez votre demande de tirage pour finaliser la migration. Votre configuration Terraform gère désormais les règles cloud de Pipeline au lieu des règles de suppression NRQL.
Pour obtenir de l'aide concernant le dépannage de l'approche GitOps, consultez le guide de dépannage de la phase 1 pour les problèmes de script de validation, ou le guide de dépannage des phases 2/3 pour les problèmes d'interface de ligne de commande et d'importation.
Le processus d'automatisation locale est rationalisé en trois étapes séquentielles, tirant parti du fait que le fichier d'état est facilement accessible pour mettre à jour automatiquement l'état, générer et importer les nouvelles règles et nettoyer les ressources obsolètes.
Dans cette étape, vous utiliserez l'interface de ligne de commande New Relic pour identifier automatiquement toutes les règles de suppression dans votre espace de travail Terraform et mettre à jour votre état Terraform avec leur modélisation de règle cloud Pipeline correspondante.
Accédez à votre espace de travail Terraform.
Ouvrez votre terminal et accédez au répertoire contenant vos fichiers de configuration Terraform avec les ressources newrelic_nrql_drop_rule.
bash
$
cd /path/to/your/terraform/workspace
Exécutez la commande de mise à jour de l'interface de ligne de commande New Relic
Exécutez la commande suivante pour mettre à jour votre état Terraform :
bash
$
newrelic migrate nrqldroprules tf-update
Cette commande automatiquement :
Analyse votre espace de travail Terraform pour identifier toutes les ressources newrelic_nrql_drop_rule.
Exécute les opérations terraform plan et terraform apply sur ces ressources.
Met à jour votre fichier d'état Terraform avec l'attribut pipeline_cloud_rule_entity_id pour chaque règle de suppression.
Vérifier la mise à jour de l'état
Une fois la commande terminée, votre fichier d'état Terraform contient désormais la modélisation entre les règles de suppression et les règles cloud Pipeline. Vous pouvez le vérifier en consultant votre état :
bash
$
terraform show -json|grep pipeline_cloud_rule_entity_id
Vous devriez voir les valeurs pipeline_cloud_rule_entity_id pour chaque règle de suppression dans le résultat. Cela confirme que votre fichier d'état a été mis à jour avec succès. L'interface de ligne de commande lira automatiquement ces valeurs à l'étape suivante.
Exécutez la commande de génération d'importation de l'interface de ligne de commande New Relic
Dans votre répertoire d'espace de travail Terraform, exécutez :
bash
$
newrelic migrate nrqldroprules tf-importgen
Cette commande automatiquement :
Vérifie que les ressources de la règle de suppression contiennent des valeurs pipeline_cloud_rule_entity_id.
Génère des blocs d'importation pour chaque règle cloud Pipeline.
Exécute terraform plan -generate-config-out=generated_pipeline_rules.tf pour créer la configuration de règle cloud Pipeline.
Exécute terraform apply pour importer les règles cloud Pipeline dans l'état Terraform.
Conseil
Paramètres optionnels :
--tofuUtilisez cette option si vous utilisez OpenTofu au lieu de Terraform.
--fileNameSpécifiez un nom de fichier personnalisé pour les blocs d'importation (par défaut, les blocs d'importation sont affichés dans le terminal).
--workspacePath: Spécifiez un autre chemin d'accès à l'espace de travail Terraform (par défaut, le répertoire courant)
Examiner les résultats de l'importation
Une fois la commande exécutée avec succès, les règles cloud de Pipeline sont importées dans votre état Terraform. La commande génère le fichier generated_pipeline_rules.tf contenant les définitions de ressources de règles cloud Pipeline créées par terraform plan -generate-config-out.
Dans cette étape, vous utiliserez l'interface de ligne de commande New Relic pour supprimer en toute sécurité les anciennes ressources de règles de suppression NRQL de votre état Terraform. Cette commande les supprime uniquement de la gestion Terraform ; les règles de suppression proprement dites seront finalement supprimées de New Relic à la date de fin de vie (7 janvier 2026).
Exécutez la commande de désinscription de l'interface de ligne de commande New Relic
Dans votre répertoire d'espace de travail Terraform, exécutez :
bash
$
newrelic migrate nrqldroprules tf-delist
Cette commande :
Affiche des avertissements de sécurité confirmant que les ressources ne seront retirées que de l'état
Supprime toutes les ressources newrelic_nrql_drop_rule de l'état Terraform
Fournit des instructions pour nettoyer vos fichiers de configuration Terraform
Nettoyez votre configuration Terraform
Une fois la commande delist terminée, vous devez placer un commentaire ou supprimer tous les blocs de ressources newrelic_nrql_drop_rule de vos fichiers configuration Terraform pour empêcher leur recréation.
Vérifiez la migration
Après avoir nettoyé vos fichiers de configuration, vérifiez la migration :
bash
$
# Confirm Pipeline cloud rules are in state
$
terraform state list |grep pipeline_cloud_rule
$
$
# Confirm old drop rules are removed from state
$
terraform state list |grep nrql_drop_rule
$
$
# Verify no pending changes
$
terraform plan
En cas de succès, terraform plan devrait afficher « Aucun changement ».
Pour obtenir de l'aide concernant le dépannage de l'approche Terraform locale, consultez le guide de dépannage Terraform local pour les problèmes liés aux commandes CLI et aux importations.