Scripts et modèles de script dans le cloud
Dans l’application, l’exécution Mise en service et gouvernance du cloud de script est divisée en scripts cloud et en modèles de script cloud. Utilisez des scripts dans des plans, des blocs de ressources, des profils de système d’exploitation et utilisez des scripts de stratégie pour définir les attributs de formulaire de demande. Les scripts de stratégie ne peuvent pas remplacer les données utilisateur.
Scripts cloud
function evaluateTemplate() {
// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
// var templateResolver=new TemplateResolver(); this comes inbuild
// templateAttributes below will passed from the user.
var listDir=templateResolver.getTemplate('Install',templateAttributes);
return listDir;
}
Chaque script cloud contient certains paramètres. Les paramètres sont les attributs auxquels vous souhaitez accéder. Un paramètre contient un nom, une valeur par défaut et une valeur de remplacement. La valeur par défaut peut être un littéral de chaîne, un paramètre de bloc de ressources ou une expression de script complexe utilisée dans des blocs de ressources.
Par défaut, un script cloud a accès à l’objet templateResolver . L’objet templateResolver a, par défaut, une méthode getTemplate, dont le premier paramètre est le nom du modèle de script cloud. templateAttributes Les paramètres de script cloud sont-ils créés dans le cadre d’un script cloud. Si nécessaire, des personnalisations peuvent être effectuées dans templateAttributes. À titre d’exemple, consultez l’extrait de code suivant si la valeur du DevName paramètre doit être modifiée de John à Emily.
function evaluateTemplate() {
// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
// var templateResolver=new TemplateResolver(); this comes inbuild
// templateAttributes below will passed from the user.
templateAttributes['DevName'] = 'Emily';
var customNodeName;
var now_GR = new GlideRecord('some_custom_table_to_query');
gr.addQuery('some_parameter','some_value');
gr.query();
if(gr.next())
customNodeName=gr.getValue('some_custom_node_name');
templateAttributes['NodeName'] = customNodeName;
var listDir=templateResolver.getTemplate('Install',templateAttributes);
return listDir;
}
evaluateTemplate();
Modèles de script pour le cloud
Les modèles de script cloud sont des exécutables réels qui sont transmis à un ordinateur virtuel cible pour exécution. Les modèles dans le cloud peuvent être de n’importe quel type (Shell/PowerShell/CloudInit) en fonction du contexte d’exécution. Vous devez d’abord créer un modèle dans le cloud, puis l’associer à un script dans le cloud.
Scripts cloud comme CloudInit
- Niveau d’image : au moment de créer un script cloud, vous pouvez spécifier une image sur laquelle ce script doit être exécuté. Une fois qu’un profil de système d’exploitation contenant cette image spécifique est sélectionné, le script cloud par défaut sur cette image est exécuté. Dans l’exemple ci-dessous, un script Apache cloud est associé à une image particulière.
- Niveau de profil du système d’exploitation : vous pouvez exécuter un cloudinit sur un fournisseur cloud spécifique et sur une AMI/image spécifique. Vous pouvez également être générique et associer un cloudinit à un profil de système d’exploitation, quelle que soit l’image sous-jacente. Dans l’exemple suivant, plusieurs images sont associées au profil de système d’exploitation. Vous pouvez mapper n’importe quel script cloud au profil de système d’exploitation dans l’onglet Mappages de profils de système d’exploitation de script cloud. Le mappage d’un script cloud avec un profil de système d’exploitation est prioritaire sur l’association de scripts cloud au niveau de l’image.
Dans cet exemple, le script cloud Apache est mappé au profil du système d’exploitation Centos. Si nécessaire, vous pouvez remplacer les paramètres de script dans la section Remplacements de mappage de profil de système d’exploitation. - Blocs de ressources : lors du mappage d’un script cloud à un profil de système d’exploitation, vous pouvez choisir d’exécuter le script cloud pour un bloc de ressource spécifique utilisé dans un plan et sur un alias de ressource particulier. Consultez Créer un profil de SE.
Scripts cloud comme Postinit
Vous pouvez utiliser des scripts cloud en tant que scripts Postinit dans un bloc de ressources. Une fois que vous avez créé un bloc de ressources avec un ordinateur virtuel à provisionner, vous pouvez ajouter une opération ExecuteScript. L’opération ExecuteScript prend un paramètre de script (un pool de scripts cloud) et vous pouvez sélectionner n’importe quel script à exécuter. Utilisez l’attribut dans l’opération ExecuteScript pour remplacer n’importe ScriptParameters quel paramètre de script. Vous pouvez fournir une carte JSON du paramètre de script et de sa valeur de remplacement. Toutes les expressions qui sont prises en charge par Gestion cloud fonctionnent dans l’attribut ScriptParamters .