Lier un paramètre à un pool de ressources

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Pour rendre la commande de catalogue moins sujette aux erreurs, vous pouvez lier un paramètre à un pool de ressources (pool fourni dans le système de base). Les paramètres basés sur un pool de ressources répertorient uniquement les valeurs spécifiées des tables existantes sur le formulaire de commande du catalogue dans le Portail de l'utilisateur dans le cloud.

    Avant de commencer

    Rôle requis : sn.cmp.cloud_service_designer

    Pourquoi et quand exécuter cette tâche

    Le formulaire de commande de catalogue répertorie uniquement les valeurs de paramètres pour lesquelles la source de données est spécifiée. Par exemple, si vous utilisez le Resource Group Name paramètre dans votre modèle, vous pouvez lier le champ Nom du groupe de ressources à un pool ServiceNow existant (ResourceGroupPool) dans la section des métadonnées.

    Lorsque vous créez un bloc de ressources à l’aide d’un modèle de cloud, vous pouvez lier un paramètre à un pool ServiceNow dans la section des métadonnées du modèle Azure Resource Manager (ARM) ou CloudFormation (CF). Tous les pools ServiceNow sont répertoriés dans la procédure.

    Procédure

    1. Dans le portail d’administration du cloud, accédez à Conception > Éléments de Catalogue dans le cloud.
    2. Sélectionnez un modèle existant ou cliquez sur Nouveau pour créer un modèle dans le cloud.

      Si vous sélectionnez un modèle existant, renommez-le.

      À l’étape suivante, vous modifiez la définition de modèle pour le type de modèle approprié (choisissez ARM ou CloudFormation). Vous spécifiez le filtre de pool SN comme datasource valeur.

      Tableau 1. Pools ServiceNow à utiliser comme valeur de source de données
      SN Pool Filtre
      AvailabilityZonePool

      getAllObjects : obtient toutes les zones de disponibilité.

      getObjectsByLDC : obtient la zone de disponibilité en fonction de LDC.

      Pool de types matériels
      Pool d’images
      Pool d’équilibreur de charge Tous : obtient tous les équilibreurs de charge.
      Pool réseau

      getAllObjects : Obtient tous les réseaux.

      getObjectsByLDC : obtient les réseaux dépendant de LDC.

      Pool de groupes de ressources getObjectsByLDC : obtient les groupes de ressources en fonction de LDC.
      Pool de groupes de sécurité getObjectsByNetwork : obtient tous les groupes de sécurité.
      SecurityGroupProfilePool Tous : obtient tous les profils de groupe de sécurité.
      SSHKeyPool UserKeys : obtient toutes les clés SSH.
      Pool de comptes de stockage getObjectsByLDC : obtient les comptes de stockage dépendant de LDC.
      Pool de volumes de stockage Tout : obtient tous les volumes de stockage.
      Pool de sous-réseaux getObjectsByNetwork : obtient tous les sous-réseaux.
      Pool de machines virtuelles getByAvailabilityZone : obtient tous les ordinateurs virtuels.
    3. Modifier une définition de modèle ARM :
      1. Ajoutez l’attribut SNC::Parameter::Metadata dans la section des parameters métadonnées.
      2. Pour l’attribut, ajoutez la SNC::Parameter::Metadatasource de données en tant que clé et entrez un filtre de pool SN pour la valeur, tel que StorageAccountPool.getObjectsByLDC comme indiqué dans cet exemple.
        "parameters": {
            "newStorageAccountName": {
              "type": "string",
              "metadata": {
                "description": "Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed.",
                 "SNC::Parameter::Metadata": {
                 "allowedPattern": "[0-9a-z]{1,11}",
                 "ConstraintDescription": "must be a alphanumeric ",
                 "datasource":"ServiceNow::Pools::StorageAccountPool.getObjectsByLDC",
         
                } 
              }
            }
        
    4. Modifier une définition de modèle CloudFormation :
      1. Ajoutez l’attribut SNC::Parameter::Metadata et définissez le nom d’attribut personnalisé (VpcId) avec un datasource.
        Pour la datasource valeur, entrez un filtre de pool SN tel que NetworkPool.getObjectsByLDC dans cet exemple.
      2. Définissez l’attribut datasourceFilter de mappage pour lier le nom personnalisé (VpcId) au nom de l’attribut réel (Network).
        "Parameters" : { 
         
              "VpcId" : {
              "Type" : "AWS::EC2::VPC::Id",
              "Description" : "VpcId of your existing Virtual Private Cloud (VPC)",
              "ConstraintDescription" : "must be the VPC Id of an existing Virtual Private Cloud."
            },
         
            "SubnetId" : {
              "Type" : "AWS::EC2::Subnet::Id",
              "Description" : "SubnetId of an existing subnet (for the primary network) in your Virtual Private Cloud (VPC)",
              "ConstraintDescription" : "must be an existing subnet in the selected Virtual Private Cloud."
            }
          },
          "Metadata": {
                  "SNC::Parameter::Metadata": {
                        "VpcId":{
                             "datasource":"ServiceNow::Pools::NetworkPool.getObjectsByLDC",
                             "datasourceFilter":{"Network":"VpcId"}
                         },
                         "SubnetId":{
                             "datasource":"ServiceNow::Pools::SubnetPool.getObjectsByNetwork",
                             "datasourceFilter":{"Network":"VpcId"}
                         }
         
                    }
            }
        
    5. Cliquez sur Envoyer.
    6. Une fois le bloc de ressources, le plan et les éléments de catalogue créés, l’utilisateur du service dans le cloud ne voit que la liste des valeurs des données de pool pour le paramètre dans le formulaire de commande du catalogue.