CdmQuery : inclus dans le champ d’application
L’include de script CdmQuery fournit des méthodes qui vous permettent d’interroger l’arborescence du CDM modèle de données. Il renvoie une liste d’objets de nœud qui sont des champs/colonnes spécifiques dans la table Nœud CDM [sn_cdm_node]. Ces valeurs sont renvoyées en tant que propriétés dans l’objet. Chaque objet est un nœud dans le modèle de données.
Cet include de script est fluide, ce qui signifie que la plupart de ses méthodes prennent en charge le chaînage et renvoient un objet CdmQuery. Les méthodes de cet include de script sont classées en différents types. Vous devez les spécifier dans un ordre particulier au sein d’un appel, en fonction de leur type. Toutes les méthodes, à l’exception des méthodes de résultat, peuvent être chaînées.
- méthode d’entrée : cette méthode spécifie le nœud d’entrée. CdmQuery limite sa requête au nœud d’entrée et à ses nœuds descendants. La spécification du nœud d’entrée est obligatoire.
- méthode de requête : cette méthode exécute la requête spécifiée.
- méthodes de résultats : ces méthodes renvoient un ensemble spécifique de données de résultats.
- méthodes de paramétrage : Ces méthodes modifient le comportement de CdmQuery().
Les méthodes snapshotId() et query() sont obligatoires. Vous devez ajouter des méthodes de filtre et de définition avant la méthode query(), mais après la méthode snapshotId( ). L’ordre dans lequel vous ajoutez les méthodes de filtre et de configuration n’a pas d’importance, sauf s’ils sont contradictoires, auquel cas la dernière méthode pertinente prévaut. Vous devez ajouter toutes les méthodes de résultat, telles que getTree() pour extraire le résultat, après la méthode query().
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.includeFileMetadata()
.query()
.getTree(true, false);Cette API s’exécute dans l’espace de noms sn_cdm et vous devez disposer des rôles sn_cdm.cdm_viewer ou sn_cdm.cdm_secrets pour accéder à ses différentes méthodes.
CdmQuery : CdmQuery()
Instancie un objet CdmQuery. Vous devez appeler cette méthode avant d’appeler toute autre méthode CdmQuery .
| Nom | Type | Description |
|---|---|---|
| Aucun |
Les exemples de code suivants montrent comment appeler la méthode CdmQuery pour instancier un objet CdmQuery dans l’espace de noms sn_cdm.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
CdmQuery : decryptPassword (déchiffrement booléen)
Permet de spécifier si les valeurs déchiffrées pour les nœuds de données de configuration (CDI) et de variables chiffrés sont renvoyées dans les résultats.
Une erreur est générée si l’utilisateur ne possède pas le rôle sn_cdm.cdm_secrets requis.
| Nom | Type | Description |
|---|---|---|
| décrypter | Booléen | Facultatif. Marqueur indiquant s’il faut renvoyer des valeurs déchiffrées pour le CDI et les nœuds de variables. Valeurs valides :
Valeur par défaut : false |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler l’API CdmQuery() et spécifier pour renvoyer des valeurs chiffrées pour le CDI et les nœuds de variables.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.decryptPassword(false)
.query()
.getTree(true,true);
gs.info(primarySnapshot);
Résultats renvoyés :
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "*******"
}
}
}
}
}
}
L’exemple de code suivant montre comment appeler l’API CdmQuery() et spécifier pour renvoyer des valeurs déchiffrées pour le CDI et les nœuds de variables.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.decryptPassword(true)
.query()
.getTree(true,true);
gs.info(primarySnapshot);
Résultats renvoyés :
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "dev1-password"
}
}
}
}
}
}
CdmQuery : followIncludes(booléen followIncludes)
Permet de spécifier si les nœuds liés sont entièrement résolus, de sorte que les nœuds descendants d’un nœud référencé apparaissent sous un nœud lié.
| Nom | Type | Description |
|---|---|---|
| followIncludes (en anglais seulement) | Booléen | Facultatif. Marqueur indiquant si les nœuds liés sont entièrement résolus. Valeurs valides :
Valeur par défaut : true |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment renvoyer des données entièrement résolues, followIncludes = vrai.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.followIncludes(true)
.query()
.getTree(false, true);
Exemples de données de retour :
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "2bb0e0cc47f12150fd6ce977746d43e2",
"type": "sn_cdm_node_folder",
"main_id": "111680",
"name": "vars",
"node_path": "!K<+!K</!K<7!K<8",
"effective_path": "!K<+!K<0!K<1!K<G!K<8",
"main_id_encoded": "K<8",
"node_classifier": "/application/collections/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "7fd064cc47f12150fd6ce977746d4372",
"type": "sn_cdm_node_cdi",
"main_id": "111682",
"name": "applicationSLA",
"node_path": "!K<+!K<,!K<9!K<:",
"value": "24x7",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<:",
"main_id_encoded": "K<:",
"node_classifier": "/application/components",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "b3d064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_component",
"main_id": "111685",
"name": "backup",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?",
"main_id_encoded": "K<?",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "7bd064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_cdi",
"main_id": "111686",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?!K<@",
"value": "db23.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@",
"main_id_encoded": "K<@",
"node_classifier": "/application/components",
"status": "valid",
"level": "6",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"sys_id": "33d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111687",
"name": "dbIpAddress",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<A",
"value": "10.20.40.50",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A",
"main_id_encoded": "K<A",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f7d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111688",
"name": "dbName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<B",
"value": "paymentX_dev2",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B",
"main_id_encoded": "K<B",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "77d064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111690",
"name": "dbPort",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<D",
"value": "8050",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D",
"main_id_encoded": "K<D",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "3fd064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111691",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<E",
"value": "db22.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E",
"main_id_encoded": "K<E",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f3d064cc47f12150fd6ce977746d4377",
"type": "sn_cdm_node_cdi",
"main_id": "111692",
"name": "dbUserName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<F",
"value": "root",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F",
"main_id_encoded": "K<F",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
L’exemple de code suivant montre comment renvoyer des données qui ne sont pas entièrement résolues, followIncludes = faux.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.followIncludes(false)
.query()
.getTree(false, true);
Exemples de données de retour :
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
CdmQuery : forEach(fonction de fonction)
Il itère à travers chacun des nœuds de résultat et applique la fonction fournie qui accepte un objet CdmNode.
| Nom | Type | Description |
|---|---|---|
| function | Fonction | Fonction à appliquer à l’objet CdmNode. |
| Type | Description |
|---|---|
| Aucun |
Cet exemple de code montre comment appeler la méthode forEach().
CdmQuery.forEach(function (node) {
gs.info("Node - {0}:{1} ", [node.getValue("name"), node.getValue("value")]);
});
CdmQuery : getTree(booléen simpleTree, booléen prettify)
Renvoie les résultats de la requête spécifiée CDM .
Vous pouvez spécifier le niveau et le format du contenu à renvoyer en définissant les marqueurs associés dans l’appel. La valeur par défaut consiste à renvoyer une chaîne formatée contenant les métadonnées du nœud et ses nœuds enfants, et où le nœud d’entrée est le nœud supérieur.
| Nom | Type | Description |
|---|---|---|
| Arbre simple | Booléen | Facultatif. Marqueur indiquant le niveau de contenu à renvoyer. Valeurs valides :
Valeur par défaut : false |
| enjoliver | Booléen | Facultatif. Marqueur indiquant s’il faut renvoyer une chaîne formatée au lieu d’un objet JSON. Valeurs valides :
Valeur par défaut : false |
| Type | Description |
|---|---|
| CdmQuery (en anglais seulement) | CdmQuery contenant les informations de requête spécifiées. |
L’exemple de code suivant montre comment appeler la méthode getTree() en utilisant les paramètres par défaut. Cela renvoie une chaîne formatée contenant les métadonnées du nœud et tous ses nœuds enfants.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree();
gs.info(JSON.stringify(primarySnapshot));
Résultats renvoyés :
{"sys_id":"62a0a0cc47f12150fd6ce977746d431a","type":"sn_cdm_node_deployable","main_id":"111673","name":"Development_1","node_path":"!K<+!K<0!K<1","effective_path":"!K<+!K<0!K<1","main_id_encoded":"K<1","node_classifier":"/application/deployables/env:Development","status":"valid","level":"2","children":[{"sys_id":"2aa0a0cc47f12150fd6ce977746d431a","type":"sn_cdm_node_folder","main_id":"111674","name":"vars","node_path":"!K<+!K<0!K<1!K<2","effective_path":"!K<+!K<0!K<1!K<2","main_id_encoded":"K<2","node_classifier":"/application/deployables/env:Development/vars","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"2ca1600047352150fd6ce977746d4391","type":"sn_cdm_node_linked","main_id":"111693","name":"services","node_path":"!K<+!K<0!K<1!K<G","effective_path":"!K<+!K<0!K<1!K<G","main_id_encoded":"K<G","node_classifier":"/application/deployables/env:Development","status":"valid","level":"3","children":[{"sys_id":"2bb0e0cc47f12150fd6ce977746d43e2","type":"sn_cdm_node_folder","main_id":"111680","name":"vars","node_path":"!K<+!K</!K<7!K<8","effective_path":"!K<+!K<0!K<1!K<G!K<8","main_id_encoded":"K<8","node_classifier":"/application/collections/vars","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"ccf1640047352150fd6ce977746d438b","type":"sn_cdm_node_component","main_id":"111697","name":"paymentComponent","node_path":"!K<+!K<0!K<1!K<G!K<K","effective_path":"!K<+!K<0!K<1!K<G!K<K","main_id_encoded":"K<K","node_classifier":"/application/deployables/env:Development","status":"valid","level":"4","children":[{"sys_id":"7fd064cc47f12150fd6ce977746d4372","type":"sn_cdm_node_cdi","main_id":"111682","name":"applicationSLA","node_path":"!K<+!K<,!K<9!K<:","value":"24x7","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<:","main_id_encoded":"K<:","node_classifier":"/application/components","status":"valid","level":"3","children":[],"hasParent":true},{"sys_id":"44f1a40047352150fd6ce977746d43dc","type":"sn_cdm_node_component","main_id":"111698","name":"paymentService","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L","main_id_encoded":"K<L","node_classifier":"/application/deployables/env:Development","status":"valid","level":"5","children":[{"sys_id":"8cf1a40047352150fd6ce977746d43dc","type":"sn_cdm_node_component","main_id":"111699","name":"database","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M","main_id_encoded":"K<M","node_classifier":"/application/deployables/env:Development","status":"valid","level":"6","children":[{"sys_id":"b3d064cc47f12150fd6ce977746d4374","type":"sn_cdm_node_component","main_id":"111685","name":"backup","node_path":"!K<+!K<,!K<9!K<;!K<<!K<?","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?","main_id_encoded":"K<?","node_classifier":"/application/components","status":"valid","level":"5","children":[{"sys_id":"7bd064cc47f12150fd6ce977746d4374","type":"sn_cdm_node_cdi","main_id":"111686","name":"dbServer","node_path":"!K<+!K<,!K<9!K<;!K<<!K<?!K<@","value":"db23.paymentx.be","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@","main_id_encoded":"K<@","node_classifier":"/application/components","status":"valid","level":"6","children":[],"hasParent":true}],"hasParent":true},{"sys_id":"33d064cc47f12150fd6ce977746d4375","type":"sn_cdm_node_cdi","main_id":"111687","name":"dbIpAddress","node_path":"!K<+!K<,!K<9!K<;!K<<!K<A","value":"10.20.40.50","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A","main_id_encoded":"K<A","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"f7d064cc47f12150fd6ce977746d4375","type":"sn_cdm_node_cdi","main_id":"111688","name":"dbName","node_path":"!K<+!K<,!K<9!K<;!K<<!K<B","value":"paymentX_dev2","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B","main_id_encoded":"K<B","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"77d064cc47f12150fd6ce977746d4376","type":"sn_cdm_node_cdi","main_id":"111690","name":"dbPort","node_path":"!K<+!K<,!K<9!K<;!K<<!K<D","value":"8050","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D","main_id_encoded":"K<D","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"3fd064cc47f12150fd6ce977746d4376","type":"sn_cdm_node_cdi","main_id":"111691","name":"dbServer","node_path":"!K<+!K<,!K<9!K<;!K<<!K<E","value":"db22.paymentx.be","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E","main_id_encoded":"K<E","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"f3d064cc47f12150fd6ce977746d4377","type":"sn_cdm_node_cdi","main_id":"111692","name":"dbUserName","node_path":"!K<+!K<,!K<9!K<;!K<<!K<F","value":"root","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F","main_id_encoded":"K<F","node_classifier":"/application/components","status":"valid","level":"5","children":[],"hasParent":true},{"sys_id":"c4f1a40047352150fd6ce977746d43dd","type":"sn_cdm_node_cdi","main_id":"111700","name":"dbPassword","node_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N","secure_value":"dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=","effective_path":"!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N","main_id_encoded":"K<N","node_classifier":"/application/deployables/env:Development","status":"valid","level":"7","masked_value":"*******","children":[],"hasParent":true}],"hasParent":true}],"hasParent":true}],"hasParent":true}],"hasParent":true}]}
L’exemple de code suivant montre comment appeler la méthode getTree() pour retourner un objet JSON simplifié de paires clé-valeur hiérarchiques.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree(true, true);
gs.info(JSON.stringify(primarySnapshot));
Résultats renvoyés :
{
"Development_1": {
"vars": {},
"services": {
"vars": {},
"paymentComponent": {
"applicationSLA": "24x7",
"paymentService": {
"database": {
"backup": {
"dbServer": "db23.paymentx.be"
},
"dbIpAddress": "10.20.40.50",
"dbName": "paymentX_dev2",
"dbPort": "8050",
"dbServer": "db22.paymentx.be",
"dbUserName": "root",
"dbPassword": "*******"
}
}
}
}
}
}
L’exemple de code suivant montre comment appeler la méthode getTree() pour retourner un objet JSON contenant les métadonnées du nœud et tous ses nœuds enfants.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("9f12a80047352150fd6ce977746d4364")
.query()
.getTree(false, true);
gs.info(JSON.stringify(primarySnapshot));
Résultats renvoyés :
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "2ca1600047352150fd6ce977746d4391",
"type": "sn_cdm_node_linked",
"main_id": "111693",
"name": "services",
"node_path": "!K<+!K<0!K<1!K<G",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "K<G",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"children": [
{
"sys_id": "2bb0e0cc47f12150fd6ce977746d43e2",
"type": "sn_cdm_node_folder",
"main_id": "111680",
"name": "vars",
"node_path": "!K<+!K</!K<7!K<8",
"effective_path": "!K<+!K<0!K<1!K<G!K<8",
"main_id_encoded": "K<8",
"node_classifier": "/application/collections/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "ccf1640047352150fd6ce977746d438b",
"type": "sn_cdm_node_component",
"main_id": "111697",
"name": "paymentComponent",
"node_path": "!K<+!K<0!K<1!K<G!K<K",
"effective_path": "!K<+!K<0!K<1!K<G!K<K",
"main_id_encoded": "K<K",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "4",
"children": [
{
"sys_id": "7fd064cc47f12150fd6ce977746d4372",
"type": "sn_cdm_node_cdi",
"main_id": "111682",
"name": "applicationSLA",
"node_path": "!K<+!K<,!K<9!K<:",
"value": "24x7",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<:",
"main_id_encoded": "K<:",
"node_classifier": "/application/components",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "44f1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111698",
"name": "paymentService",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L",
"main_id_encoded": "K<L",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "8cf1a40047352150fd6ce977746d43dc",
"type": "sn_cdm_node_component",
"main_id": "111699",
"name": "database",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M",
"main_id_encoded": "K<M",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "6",
"children": [
{
"sys_id": "b3d064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_component",
"main_id": "111685",
"name": "backup",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?",
"main_id_encoded": "K<?",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [
{
"sys_id": "7bd064cc47f12150fd6ce977746d4374",
"type": "sn_cdm_node_cdi",
"main_id": "111686",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<?!K<@",
"value": "db23.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<?!K<@",
"main_id_encoded": "K<@",
"node_classifier": "/application/components",
"status": "valid",
"level": "6",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"sys_id": "33d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111687",
"name": "dbIpAddress",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<A",
"value": "10.20.40.50",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<A",
"main_id_encoded": "K<A",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f7d064cc47f12150fd6ce977746d4375",
"type": "sn_cdm_node_cdi",
"main_id": "111688",
"name": "dbName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<B",
"value": "paymentX_dev2",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<B",
"main_id_encoded": "K<B",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "77d064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111690",
"name": "dbPort",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<D",
"value": "8050",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<D",
"main_id_encoded": "K<D",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "3fd064cc47f12150fd6ce977746d4376",
"type": "sn_cdm_node_cdi",
"main_id": "111691",
"name": "dbServer",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<E",
"value": "db22.paymentx.be",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<E",
"main_id_encoded": "K<E",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "f3d064cc47f12150fd6ce977746d4377",
"type": "sn_cdm_node_cdi",
"main_id": "111692",
"name": "dbUserName",
"node_path": "!K<+!K<,!K<9!K<;!K<<!K<F",
"value": "root",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<F",
"main_id_encoded": "K<F",
"node_classifier": "/application/components",
"status": "valid",
"level": "5",
"children": [],
"hasParent": true
},
{
"sys_id": "c4f1a40047352150fd6ce977746d43dd",
"type": "sn_cdm_node_cdi",
"main_id": "111700",
"name": "dbPassword",
"node_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"secure_value": "dac329a2476c6110fd6ce977746d43e11w8YJ85PO5byT5YNmeG_HwQ==WrNQP39n-PWKFs_VXFSjr3TJsGxS1ESKpyl4PUE=",
"effective_path": "!K<+!K<0!K<1!K<G!K<K!K<L!K<M!K<N",
"main_id_encoded": "K<N",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "7",
"masked_value": "*******",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
]
}
CdmQuery : getValue(String fieldName)
Renvoie la valeur du champ spécifié du résultat du nœud itéré actuel.
| Nom | Type | Description |
|---|---|---|
| Fieldname | Chaîne | Nom du champ avec l’enregistrement d’instantané à renvoyer. |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment utiliser la méthode getValue() pour extraire les données requises.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query();
var output = [];
while(cdmQuery.next()) {
var name = cdmQuery.getValue('name');
var type = cdmQuery.getValue('type');
if (type == 'sg_cdm_node_cdi' || type == 'sg_cdm_node_variable') {
var value = cdmQuery.getValue('value');
output.push(gs.getMessage("{0} : {1} [{2}]", [name, value, type]));
} else {
output.push(gs.getMessage("{0} [{1}]", [name, type]));
}
}
Valeurs de retour :
[
"test_login_service [sg_cdm_node_deployable]",
"vars [sg_cdm_node_folder]",
"service_password : service12345 [sg_cdm_node_variable]",
"login_service [sg_cdm_node_linked]",
"vars [sg_cdm_node_folder]",
"core_component [sg_cdm_node_component]",
"user_name : admin [sg_cdm_node_cdi]",
"user_password : service12345 [sg_cdm_node_cdi]"
]
CdmQuery : includeFileMetadata()
Permet de spécifier si les informations de métadonnées du fichier doivent être extraites pour les nœuds de fichier. Les métadonnées du fichier contiennent attachment_id, file_name, content_type et somme de contrôle.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler l’API CdmQuery() et renvoyer les informations de métadonnées du fichier.
var cdmQuery = new CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.includeFileMetadata()
.query()
.getTree(false, true);
Retourne:
{
"sys_id": "62a0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_deployable",
"main_id": "111673",
"name": "Development_1",
"node_path": "!K<+!K<0!K<1",
"effective_path": "!K<+!K<0!K<1",
"main_id_encoded": "K<1",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "2",
"children": [
{
"sys_id": "2aa0a0cc47f12150fd6ce977746d431a",
"type": "sn_cdm_node_folder",
"main_id": "111674",
"name": "vars",
"node_path": "!K<+!K<0!K<1!K<2",
"effective_path": "!K<+!K<0!K<1!K<2",
"main_id_encoded": "K<2",
"node_classifier": "/application/deployables/env:Development/vars",
"status": "valid",
"level": "3",
"children": [],
"hasParent": true
},
{
"sys_id": "b83eb65fffdf6110f0ccffffffffff7d",
"type": "sn_cdm_node_file",
"main_id": "111675",
"name": "deploy_config.xml",
"node_path": "!K<+!K<0!K<1!K<G",
"value": "file: http://instance.servicenow.com/sys_attachment.do?sys_id=bc3eb65fffdf6110f0ccffffffffff7d",
"effective_path": "!K<+!K<0!K<1!K<G",
"main_id_encoded": "V",
"node_classifier": "/application/deployables/env:Development",
"status": "valid",
"level": "3",
"file_metadata": {
"attachment_id": "bc3eb65fffdf6110f0ccffffffffff7d",
"file_name": "deploy_config.xml",
"content_type": "application/xml",
"checksum": "UbWkF5HZOQTQ89bFrqyFBg=="
},
"children": [],
"hasParent": true
}
]
}
CdmQuery : next()
Itère jusqu’au résultat de nœud suivant et le renvoie s’il existe.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| CdmQuery (en anglais seulement) | S’il est disponible, l’objet CdmQuery du nœud suivant. Si aucun nœud supplémentaire n’est disponible, renvoie une valeur null ou undefined. |
L’exemple de code suivant montre comment la méthode next() doit itérer à travers le nœud disponible.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query();
var output = [];
while(cdmQuery.next()) {
var name = cdmQuery.getValue('name');
var type = cdmQuery.getValue('type');
if (type == 'sg_cdm_node_cdi' || type == 'sg_cdm_node_variable') {
var value = cdmQuery.getValue('value');
output.push(gs.getMessage("{0} : {1} [{2}]", [name, value, type]));
} else {
output.push(gs.getMessage("{0} [{1}]", [name, type]));
}
}
Résultats renvoyés :
[
"test_login_service [sg_cdm_node_deployable]",
"vars [sg_cdm_node_folder]",
"service_password : service12345 [sg_cdm_node_variable]",
"login_service [sg_cdm_node_linked]",
"vars [sg_cdm_node_folder]",
"core_component [sg_cdm_node_component]",
"user_name : username [sg_cdm_node_cdi]",
"user_password : service12345 [sg_cdm_node_cdi]"
]
CdmQuery : query()
Exécute la requête spécifiée par rapport à la CDM base de données ou au cache en fonction des paramètres, du nœud d’entrée et des paramètres de filtre.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| CdmQuery (en anglais seulement) | Objet CdmQuery. |
L’exemple de code suivant montre comment appeler l’API CdmQuery() et spécifier l’instantané déployable à interroger.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
Résultats renvoyés :
{
"_decryptPassword": true,
"sys_id": "d73d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_deployable",
"main_id": "731",
"name": "test_login_service",
"node_path": "!1+!1/!10",
"effective_path": "!1+!1/!10",
"main_id_encoded": "10",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "9f3d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_folder",
"main_id": "732",
"name": "vars",
"node_path": "!1+!1/!10!11",
"effective_path": "!1+!1/!10!11",
"main_id_encoded": "11",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "49dd2e66c3a27010cc0a259d7640ddf9",
"type": "sg_cdm_node_variable",
"main_id": "741",
"name": "service_password",
"node_path": "!1+!1/!10!11!1:",
"value": "service12345",
"effective_path": "!1+!1/!10!11!1:",
"main_id_encoded": "1:",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "26bd2e66c3a27010cc0a259d7640dd74",
"type": "sg_cdm_node_linked",
"main_id": "740",
"name": "login_service",
"node_path": "!1+!1/!10!19",
"effective_path": "!1+!1/!10!19",
"main_id_encoded": "19",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "eeadea66c3a27010cc0a259d7640dd8c",
"type": "sg_cdm_node_folder",
"main_id": "738",
"name": "vars",
"node_path": "!1+!1.!16!17",
"effective_path": "!1+!1/!10!19!17",
"main_id_encoded": "17",
"node_classifier": "/application/collections/vars",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "da1f22e6c3a27010cc0a259d7640dda2",
"type": "sg_cdm_node_component",
"main_id": "742",
"name": "core_component",
"node_path": "!1+!1/!10!19!1;",
"effective_path": "!1+!1/!10!19!1;",
"main_id_encoded": "1;",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "921f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "743",
"name": "user_name",
"node_path": "!1+!1/!10!19!1;!1<",
"value": "admin",
"effective_path": "!1+!1/!10!19!1;!1<",
"main_id_encoded": "1<",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "5a1f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "744",
"name": "user_password",
"node_path": "!1+!1/!10!19!1;!1?",
"value": "service12345",
"effective_path": "!1+!1/!10!19!1;!1?",
"main_id_encoded": "1?",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": false
}
CdmQuery : snapshotId(String snapshotSysID)
Spécifie le nœud d’entrée. L’API CdmQuery limite sa requête au nœud d’entrée et à ses nœuds descendants. L’appel de cette méthode est obligatoire.
| Nom | Type | Description |
|---|---|---|
| snapshotSysId (en anglais seulement) | Chaîne | Sys_id de l’instantané déployable à interroger. Situé dans la table Instantané CDM [sn_cdm_snapshot]. En interne, il définit la sys_id de l’ensemble de changements et la sys_id du nœud déployable. |
| Type | Description |
|---|---|
| Aucun |
L’exemple de code suivant montre comment appeler l’API CdmQuery() et spécifier l’instantané déployable à interroger.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.query()
.getTree();
Résultats renvoyés :
{
"_decryptPassword": true,
"sys_id": "d73d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_deployable",
"main_id": "731",
"name": "test_login_service",
"node_path": "!1+!1/!10",
"effective_path": "!1+!1/!10",
"main_id_encoded": "10",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "9f3d6666c3a27010cc0a259d7640dde7",
"type": "sg_cdm_node_folder",
"main_id": "732",
"name": "vars",
"node_path": "!1+!1/!10!11",
"effective_path": "!1+!1/!10!11",
"main_id_encoded": "11",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "49dd2e66c3a27010cc0a259d7640ddf9",
"type": "sg_cdm_node_variable",
"main_id": "741",
"name": "service_password",
"node_path": "!1+!1/!10!11!1:",
"value": "service12345",
"effective_path": "!1+!1/!10!11!1:",
"main_id_encoded": "1:",
"node_classifier": "/application/deployables/dep:test_login_service/vars",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "26bd2e66c3a27010cc0a259d7640dd74",
"type": "sg_cdm_node_linked",
"main_id": "740",
"name": "login_service",
"node_path": "!1+!1/!10!19",
"effective_path": "!1+!1/!10!19",
"main_id_encoded": "19",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "eeadea66c3a27010cc0a259d7640dd8c",
"type": "sg_cdm_node_folder",
"main_id": "738",
"name": "vars",
"node_path": "!1+!1.!16!17",
"effective_path": "!1+!1/!10!19!17",
"main_id_encoded": "17",
"node_classifier": "/application/collections/vars",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "da1f22e6c3a27010cc0a259d7640dda2",
"type": "sg_cdm_node_component",
"main_id": "742",
"name": "core_component",
"node_path": "!1+!1/!10!19!1;",
"effective_path": "!1+!1/!10!19!1;",
"main_id_encoded": "1;",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [
{
"_decryptPassword": true,
"sys_id": "921f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "743",
"name": "user_name",
"node_path": "!1+!1/!10!19!1;!1<",
"value": "admin",
"effective_path": "!1+!1/!10!19!1;!1<",
"main_id_encoded": "1<",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
},
{
"_decryptPassword": true,
"sys_id": "5a1f22e6c3a27010cc0a259d7640dda3",
"type": "sg_cdm_node_cdi",
"main_id": "744",
"name": "user_password",
"node_path": "!1+!1/!10!19!1;!1?",
"value": "service12345",
"effective_path": "!1+!1/!10!19!1;!1?",
"main_id_encoded": "1?",
"node_classifier": "/application/deployables/dep:test_login_service",
"status": "valid",
"children": [],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": true
}
],
"hasParent": false
}
CdmQuery : substituteVariable(substitut booléen)
Permet de spécifier s’il faut remplacer les références de variable dans les nœuds d’élément de données de configuration (CDI) par la valeur du nœud de variable référencé.
| Nom | Type | Description |
|---|---|---|
| substituer | Booléen | Facultatif. Marqueur indiquant s’il faut remplacer les références de variable dans les nœuds CDI par la valeur du nœud de variable référencé. Valeurs valides :
Valeur par défaut : true |
| Type | Description |
|---|---|
| Aucun |
Les exemples de code suivants montrent comment désactiver la substitution des références de variables dans les nœuds CDI.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.substituteVariable(false)
.query()
.getTree(true, true);
gs.info(primarySnapshot);
Exemple de résultats renvoyés :
{
"paymentService-V1.1": {
"featureToggles": {
"paymentRefund": "enabled",
"myPreferredPaymentMethods": "enabled",
"invoicePrinting": "enabled",
"payOnDelivery": "disabled",
"payByVoucher": "enabled"
},
"vars": {
"paymentService": {
"database": {
"dbName": "paymentX_dev2",
"dbUserName": "root",
"dbPassword": "admin123",
"dbServer": "db22.paymentx.be",
"dbPort": "8050",
"dbIpAddress": "10.20.40.50",
"backup": {
"dbServer": "db23.paymentx.be"
}
}
},
"applicationSLA": "24x7"
},
"settings": {
"merchantId": "10334",
"paymentMethods": "1,3,5,6",
"allowed.billing.countries": "74,76,88,136,139,176,197",
"creditcards.cacf.type.ids": "43,44,45,46,48,49,50",
"creditcards.oney.type.ids": "33,34,35",
"included.availabilityids": "999",
"included.warrantiestypeids.cacf": "19002,19005,19006,19009,19010,19011,19014,19016",
"dbIPAddress": "@@paymentService/database/dbIpAddress@@",
"dbPort": "@@paymentService/database/dbPort@@",
"dbConnectionString": "@@paymentService/database/dbUserName@@:@@paymentService/database/dbPassword@@ @@paymentService/database/dbServer@@:@@paymentService/database/dbPort@@ @@paymentService/database/dbName@@",
"dbConnectionStringBackup": "@@paymentService/database/dbUserName@@:@@paymentService/database/dbPassword@@ @@paymentService/database/backup/dbServer@@ @@paymentService/database/dbName@@",
"paypal": "enabled",
"applePay": "disabled",
"ogone": "enabled"
}
}
}
Les exemples de code suivants montrent comment activer la substitution de références de variables dans les nœuds CDI et les résultats de retour associés pour le même enregistrement.
var primarySnapshot = new sn_cdm.CdmQuery()
.snapshotId("20c365a2476c6110fd6ce977746d4336")
.substituteVariable(true)
.query()
.getTree(false, true);
gs.info(primarySnapshot);
Exemple de résultats renvoyés :
{
"paymentService-V1.1": {
"featureToggles": {
"paymentRefund": "enabled",
"myPreferredPaymentMethods": "enabled",
"invoicePrinting": "enabled",
"payOnDelivery": "disabled",
"payByVoucher": "enabled"
},
"vars": {
"paymentService": {
"database": {
"dbName": "paymentX_dev2",
"dbUserName": "root",
"dbPassword": "admin123",
"dbServer": "db22.paymentx.be",
"dbPort": "8050",
"dbIpAddress": "10.20.40.50",
"backup": {
"dbServer": "db23.paymentx.be"
}
}
},
"applicationSLA": "24x7"
},
"settings": {
"merchantId": "10334",
"paymentMethods": "1,3,5,6",
"allowed.billing.countries": "74,76,88,136,139,176,197",
"creditcards.cacf.type.ids": "43,44,45,46,48,49,50",
"creditcards.oney.type.ids": "33,34,35",
"included.availabilityids": "999",
"included.warrantiestypeids.cacf": "19002,19005,19006,19009,19010,19011,19014,19016",
"dbIPAddress": "10.20.40.50",
"dbPort": "8050",
"dbConnectionString": "root:admin123 db22.paymentx.be:8050 paymentX_dev2",
"dbConnectionStringBackup": "root:admin123 db23.paymentx.be paymentX_dev2",
"paypal": "enabled",
"applePay": "disabled",
"ogone": "enabled"
}
}
}
CdmQuery : useCache(boolean useCache)
Permet de spécifier si les données doivent être récupérées dans le cache, le cas échéant, au lieu d’interroger la base de données.
| Nom | Type | Description |
|---|---|---|
| useCache (en anglais seulement) | Booléen | Facultatif. Marqueur indiquant s’il faut récupérer les données du cache, le cas échéant, au lieu d’interroger la base de données. Valeurs valides :
Valeur par défaut : true |
| Type | Description |
|---|---|
| Aucun |
Les exemples de code suivants montrent comment désactiver l’utilisation du cache pour obtenir des données.
var cdmQuery = new sn_cdm.CdmQuery()
.snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
.decryptPassword(true)
.useCache(false)
.query();