CDmQuery - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 19 min. de leitura
  • . CDmQuery a inclusão de script fornece métodos que permitem que você consulte o. CDMárvore do modelo de dados. Retorna uma lista de objetos de nó que são campos/colunas específicos na tabela Nó do CDM [sn_cdm_node]. Esses valores são retornados como propriedades no objeto. Cada objeto é um nó no modelo de dados.

    Esta inclusão de script é fluente, o que significa que a maioria de seus métodos oferece suporte ao encadeamento e retorna um objeto CdmQuery. Os métodos nesta inclusão de script são classificados em tipos diferentes. Você deve especificá-los em uma ordem específica em uma chamada, com base em seu tipo. Todos os métodos, exceto os métodos de resultado, são encadeáveis.

    Nota:
    Esta documentação cobre somente o uso do CDmQuery inclusão de script na consulta de dados de snapshot, portanto, somente os métodos necessários para este processo estão documentados no momento. A consulta de dados de snapshot é necessária ao gravar scripts de política de ritmo para validação de dados e. CDM scripts do exportador para exportação de dados.
    Tipos de método:

    . SnapshotId() e. consulta () os métodos são obrigatórios. Você deve adicionar métodos de filtro e configuração antes de consulta () , mas depois de SnapshotId() método. A ordem na qual você adiciona métodos de filtro e configuração não é importante, a menos que eles sejam conflitantes, caso em que o método relevante mais recente prevalecerá. Você deve adicionar todos os métodos de resultado, como GetTree() para buscar o resultado, após consulta () método.

    Por exemplo:
    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
      .decryptPassword(true)
      .includeFileMetadata()
      .query()
      .getTree(true, false);

    Esta API é executada no sn_cdm e você deve ter as funções sn_cdm.cdm_viewer ou sn_cdm.cdm_secrets para acessar seus vários métodos.

    CdmQuery - CdmQuery()

    Instancia um objeto CdmQuery. Você deve chamar este método antes de chamar qualquer outro CDmQuery métodos.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum(a)

    Os exemplos de código a seguir mostram como chamar CDmQuery Método para instanciar um objeto cdmQuery no namespace sn_cdm.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
    .decryptPassword(true)
    .query()
    .getTree();

    CDmQuery - decryptPassword (descriptografia booliana)

    Permite que você especifique se os valores descriptografados do item de dados de configuração criptografado (CDI) e nós de variáveis são retornados nos resultados.

    Um erro será gerado se o usuário não tiver a função sn_cdm.cdm_secrets necessária.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    decrypt Booliano Opcional. Sinalizador que indica se valores descriptografados devem ser retornados para o CDI e os nós de variáveis.
    Valores válidos:
    • Verdadeiro: Retorna valores descriptografados para o CDI e os nós de variáveis.
    • Falso: Retorna valores criptografados para o CDI e os nós de variável.

    Padrão: falso

    Tabela 3. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar CdmQuery() API e especificam para retornar valores criptografados para o CDI e os nós de variável.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("9f12a80047352150fd6ce977746d4364")
    .decryptPassword(false)
    .query()
    .getTree(true,true);
    
    gs.info(primarySnapshot);

    Resultados de retorno:

    {
      "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": "*******"
              }
            }
          }
        }
      }
    }

    O exemplo de código a seguir mostra como chamar CdmQuery() API e especificam para retornar valores descriptografados para o CDI e os nós de variáveis.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("9f12a80047352150fd6ce977746d4364")
    .decryptPassword(true)
    .query()
    .getTree(true,true);
    
    gs.info(primarySnapshot);

    Resultados de retorno:

    {
      "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(booliano followIncludes)

    Permite que você especifique se os nós vinculados estão totalmente resolvidos, de forma que os nós descendentes de um nó referenciado apareçam em um nó vinculado.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    AcompanharInclui Booliano Opcional. Sinalizador que indica se os nós vinculados estão totalmente resolvidos.
    Valores válidos:
    • Verdadeiro: Os nós vinculados estão totalmente resolvidos.
    • Falso: Os nós vinculados não estão totalmente resolvidos.

    Padrão: verdadeiro

    Tabela 5. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como retornar dados que estão totalmente resolvidos, followIncludesverdadeiro.

    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("9f12a80047352150fd6ce977746d4364")
      .followIncludes(true)
      .query()
      .getTree(false, true);

    Dados de retorno de exemplo:

    {
      "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": "﷞﷟﷒dac329a2476c6110fd6ce977746d43e1﷬﷔1﷬﷭w8YJ85PO5byT5YNmeG_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
        }
      ]
    }

    O exemplo de código a seguir mostra como retornar dados que não estão totalmente resolvidos, followIncludesfalso.

    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("9f12a80047352150fd6ce977746d4364")
      .followIncludes(false)
      .query()
      .getTree(false, true);

    Dados de retorno de exemplo:

    {
      "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": "﷞﷟﷒dac329a2476c6110fd6ce977746d43e1﷬﷔1﷬﷭w8YJ85PO5byT5YNmeG_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(function function)

    Itera por cada um dos nós de resultado e aplica a função fornecida que aceita um objeto CdmNode.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    função Função Função a ser aplicada ao objeto CdmNode.
    Tabela 7. Retornos
    Tipo Descrição
    Nenhum(a)

    Este exemplo de código mostra como chamar Foreach() método.

    CdmQuery.forEach(function (node) {
      gs.info("Node - {0}:{1} ", [node.getValue("name"), node.getValue("value")]);
    });

    CdmQuery - getTree (simpleTree booliano, prettify booliano)

    Retorna o especificado CDM resultados da consulta.

    Você pode especificar o nível e o formato do conteúdo a ser retornado definindo os sinalizadores associados na chamada. O padrão é retornar uma cadeia de caracteres formatada que contém os metadados do nó e seus nós secundários, e em que o nó de entrada é o nó superior.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    SimpleTree Booliano Opcional. Sinalizador que indica o nível de conteúdo a ser retornado.
    Valores válidos:
    • Verdadeiro: Retorna um objeto JSON simplificado de pares hierárquicos de chave-valores, excluindo todos os metadados de nó.
    • Falso: Retorna um objeto JSON que contém os metadados do nó e todos os nós secundários e especifica onde o nó de entrada é o nó superior.

    Padrão: falso

    prettify Booliano Opcional. Sinalizador que indica se uma cadeia de caracteres formatada deve ser retornada em vez de um objeto JSON.
    Valores válidos:
    • Verdadeiro: Retorna o conteúdo em um objeto JSON.
    • Falso: Retorna o conteúdo como uma cadeia de caracteres formatada. Use esta opção somente em IU e Exportadores, pois ela adiciona novos caracteres de linha e escape à resposta.

    Padrão: falso

    Tabela 9. Retornos
    Tipo Descrição
    CDmQuery Objeto CdmQuery que contém as informações de consulta especificadas.

    O exemplo de código a seguir mostra como chamar GetTree() método usando as configurações padrão. Retorna uma cadeia de caracteres formatada que contém os metadados do nó e todos os nós secundários.

    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("9f12a80047352150fd6ce977746d4364")
      .query()
      .getTree();
    
    gs.info(JSON.stringify(primarySnapshot));

    Resultados de retorno:

    {"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":"﷞﷟﷒dac329a2476c6110fd6ce977746d43e1﷬﷔1﷬﷭w8YJ85PO5byT5YNmeG_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}]}
    

    O exemplo de código a seguir mostra como chamar GetTree() Método para retornar um objeto JSON simplificado de pares hierárquicos de chave-valores.

    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("9f12a80047352150fd6ce977746d4364")
      .query()
      .getTree(true, true);
    
    gs.info(JSON.stringify(primarySnapshot));

    Resultados de retorno:

    {
      "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": "*******"
              }
            }
          }
        }
      }
    }

    O exemplo de código a seguir mostra como chamar GetTree() Método para retornar um objeto JSON que contém os metadados do nó e todos os nós secundários.

    var primarySnapshot = new sn_cdm.CdmQuery()
      .snapshotId("9f12a80047352150fd6ce977746d4364")
      .query()
      .getTree(false, true);
    
    gs.info(JSON.stringify(primarySnapshot));

    Resultados de retorno:

    {
      "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": "﷞﷟﷒dac329a2476c6110fd6ce977746d43e1﷬﷔1﷬﷭w8YJ85PO5byT5YNmeG_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(cadeia de caracteres fieldName)

    Retorna o valor do campo especificado do resultado do nó iterado atual.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome do campo com o registro de snapshot a ser retornado.
    Tabela 11. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como usar o. GetValue() método para extrair os dados necessários.

    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]));
      }
    } 

    Valores de retorno:

    [
      "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()

    Permite que você especifique se as informações de metadados de arquivo devem ser buscadas para nós de arquivo. Os metadados do arquivo contêm attachment_id, file_name, content_type e checksum.

    Nota:
    Os metadados são retornados somente para árvores não simples. Para obter informações adicionais sobre esse tipo de retorno de dados, consulte CdmQuery - getTree (simpleTree booliano, prettify booliano).
    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar CdmQuery() E retornam informações de metadados do arquivo.

    var cdmQuery = new CdmQuery()
    .snapshotId("20c365a2476c6110fd6ce977746d4336")
    .includeFileMetadata()
    .query()
    .getTree(false, true);

    Retorna:

    {
      "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()

    Itera para o próximo resultado do nó e o retorna, se ele existir.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 15. Retorna
    Tipo Descrição
    CDmQuery Se disponível, o objeto CdmQuery do próximo nó.

    Se nenhum nó adicional estiver disponível, ele retornará um nulo ou indefinido.

    O exemplo de código a seguir mostra como next() método para iterar por meio do nó disponível.

    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]));
      }	 
    } 

    Resultados de retorno:

    [
      "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()

    Executa a consulta especificada em relação a. CDM banco de dados ou o cache com base nas configurações, nó de entrada e configurações de filtro.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 17. Retorna
    Tipo Descrição
    CDmQuery Objeto CdmQuery.

    O exemplo de código a seguir mostra como chamar CdmQuery() E especifique o snapshot implantável a ser consultado.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
    .decryptPassword(true)
    .query()
    .getTree();

    Resultados de retorno:

    { 
      "_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(cadeia de caracteres snapshotSySID)

    Especifica o nó de entrada. . CDmQuery A API limita sua consulta ao nó de entrada e aos nós descendentes. Chamar este método é obrigatório.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    SnapshotSysId Cadeia de caracteres Sys_id do snapshot implantável a ser consultado.

    Internamente, ele define o sys_id do conjunto de mudanças e o sys_id do nó implantável.

    Tabela: Snapshot do CDM [sn_cdm_snapshot]

    Tabela 19. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar CdmQuery() E especifique o snapshot implantável a ser consultado.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
    .decryptPassword(true)
    .query()
    .getTree();

    Resultados de retorno:

    { 
      "_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 (substituto booliano)

    Permite especificar se as referências de variáveis devem ser substituídas nos nós do item de dados de configuração (CDI) pelo valor do nó de variável referenciado.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    substituto Booliano Opcional. Sinalizador que indica se as referências de variáveis devem ser substituídas nos nós do CDI pelo valor do nó de variável referenciado.
    Valores válidos:
    • Verdadeiro: Substitua as referências de variáveis nos nós do CDI pelo valor do nó da variável referenciada.
    • Falso: Não substitua referências de variável em nós do CDI pelo valor do nó de variável referenciado.

    Padrão: verdadeiro

    Tabela 21. Retornos
    Tipo Descrição
    Nenhum(a)

    Os exemplos de código a seguir mostram como desativar a substituição de referências de variáveis em nós do CDI.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("20c365a2476c6110fd6ce977746d4336")
    .substituteVariable(false)
    .query()
    .getTree(true, true);
    
    gs.info(primarySnapshot);

    Resultados de retorno de exemplo:

    {
      "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"
        }
      }
    }

    Os exemplos de código a seguir mostram como ativar a substituição de referências de variáveis em nós do CDI e os resultados de retorno associados para o mesmo registro.

    var primarySnapshot = new sn_cdm.CdmQuery()
    .snapshotId("20c365a2476c6110fd6ce977746d4336")
    .substituteVariable(true)
    .query()
    .getTree(false, true);
    
    gs.info(primarySnapshot);

    Resultados de retorno de exemplo:

    {
      "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 (useCache booliano)

    Permite que você especifique se deseja recuperar dados do cache, se houver, em vez de consultar o banco de dados.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    UseCache Booliano Opcional. Sinalizador que indica se os dados do cache devem ser recuperados, se houver, em vez de consultar o banco de dados.
    Valores válidos:
    • Verdadeiro: Recupere dados do cache.
    • Falso: Consulte o banco de dados para recuperar os dados.

    Padrão: verdadeiro

    Tabela 23. Retornos
    Tipo Descrição
    Nenhum(a)

    Os exemplos de código a seguir mostram como desativar o uso do cache para obter dados.

    var cdmQuery = new sn_cdm.CdmQuery()
      .snapshotId("1a2fe2e6c3a27010cc0a259d7640dd59")
      .decryptPassword(true)
      .useCache(false)
      .query();