Instructions « using » et « using none »

Tous les fichiers de paramètres Bicep doivent inclure une using ou une using none déclaration.

Un fichier de paramètres Bicep utilise généralement une using instruction pour lier le fichier à un fichier Bicep, un modèle d’Azure Resource Manager JSON (modèle ARM), un module Bicep ou une spécification de modèle. Cette liaison permet au serveur de langage et au compilateur de Bicep de valider le fichier de paramètres en vérifiant les noms, les types et les valeurs requises correctes en fonction des entrées du modèle.

En revanche, l’instruction using none indique explicitement que le fichier de paramètres n’est lié à aucun modèle particulier au moment de la compilation. Cette instruction signifie que les paramètres ne sont pas validés par rapport à un modèle spécifique et sont plutôt destinés à une utilisation plus générale, comme être consommés par des outils externes ou servir de jeux de paramètres partagés et réutilisables.

Remarque

Les fichiers de paramètres Bicep sont pris en charge uniquement dans Bicep CLI version 0.18.4 ou ultérieure, Azure CLI version 2.47.0 ou ultérieure, et Azure PowerShell version 9.7.1 ou ultérieure. La using none fonctionnalité est prise en charge dans la version 0.31.0 du Bicep CLI ou ultérieure.

Pour utiliser l’instruction avec des modèles ARM JSON, des modules Bicep et des spécifications de modèle, vous devez disposer de Bicep CLI version 0.22.6 ou ultérieure et d’Azure CLI version 2.53.0 ou ultérieure.

Instruction using

Syntaxe de l’instruction using :

  • Pour utiliser les fichiers Bicep :

    using '<path>/<file-name>.bicep'
    
  • Pour utiliser les modèles JSON ARM :

    using '<path>/<file-name>.json'
    
  • Pour utiliser le module public :

    using 'br/public:<file-path>:<tag>'
    

    Exemple :

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • Pour utiliser des modules privés :

    using 'br:<acr-name>.azurecr.io/bicep/<file-path>:<tag>'
    

    Exemple :

    using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
    

    Pour utiliser un module privé avec un alias défini dans un fichier bicepconfig.json :

    using 'br/<alias>:<file>:<tag>'
    

    Exemple :

    using 'br/storageModule:storage:v1'
    
  • Pour utiliser des specs de modèle :

    using 'ts:<subscription-id>/<resource-group-name>/<template-spec-name>:<tag>
    

    Exemple :

    using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
    

    Pour utiliser une spec de modèle avec un alias défini dans un fichier bicepconfig.json :

    using 'ts/<alias>:<template-spec-name>:<tag>'
    

    Exemple :

    using 'ts/myStorage:storageSpec:1.0'
    

Instruction « using none »

L’instruction using none dans un fichier de paramètres Bicep (.bicepparam) indique que le fichier n’est pas lié à un modèle Bicep spécifique pendant la création ou la compilation. Cette instruction dissocie le fichier de paramètres d’un modèle particulier, ce qui permet une plus grande flexibilité dans la façon dont vous définissez et utilisez des paramètres entre les déploiements.

Syntaxe de l’instruction using none :

using none

Placez cette instruction au début d’un fichier de paramètres Bicep pour signaler qu’aucun modèle spécifique n’est référencé.

L’avantage principal de using none Bicep réside dans les scénarios où les fichiers de paramètres sont généralisés, partagés ou intégrés dynamiquement aux modèles. Les cas d’utilisation courants sont les suivants :

  • Référentiels de paramètres centralisés

    Les organisations conservent souvent des valeurs de paramètres standard ( telles que les régions par défaut, les conventions d’affectation de noms ou les étiquettes globales) utilisées dans plusieurs déploiements Bicep. Un fichier de paramètres Bicep peut using none servir de magasin central pour ces valeurs partagées, ce qui améliore la cohérence et réduit la duplication. Vous pouvez fusionner ces paramètres par programmation avec des valeurs spécifiques au modèle au moment du déploiement.

    Par exemple, un fichier de paramètres Bicep partagé peut définir :

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    

    En outre, vous pouvez étendre ce fichier de paramètres. Pour plus d’informations, consultez Étendre le fichier de paramètres.

  • Génération dynamique et intégration au runtime

    Dans les pipelines CI/CD ou les scripts d’automatisation, vous pouvez créer des fichiers de paramètres à la volée ou les associer à des modèles au moment de l’exécution. En omettant une référence de modèle fixe, using none ces fichiers restent flexibles et adaptables à différents contextes de déploiement.

Lorsque vous spécifiez using none dans un fichier de paramètres Bicep, le compilateur ne valide pas les paramètres par rapport à un modèle Bicep spécifique. Cela signifie que le compilateur ne déclenche aucun avertissement ou erreur au moment de la compilation pour les noms ou types incompatibles en raison de l’absence d’un modèle lié. Toutefois, ce découplage s’applique uniquement pendant la création et la compilation. Au moment du déploiement, Azure Resource Manager (ARM) nécessite toujours un modèle Bicep et un fichier de paramètres. Le moteur ARM effectue la validation pendant le déploiement en résolvant les paramètres du fichier par rapport à ceux définis dans le modèle cible.

Étapes suivantes