Name

sn_agent.ACCConfigUtils

Description

No description available

Script

var ACCConfigUtils = Class.create();
ACCConfigUtils.prototype = {
  initialize: function() {
      this.base64CheckParamsUtil = new Base64CheckParamsUtil();
  },

  getCheckJson: function(chgr, credentialId, credentialsAliasAppId, payloadVersion) {
      var check = this.checkFromGlideRecord(chgr);

      var tableSuffix = "";
      var valPrefix = "";

      if (chgr.getTableName() == "sn_agent_check_def") {
          tableSuffix = "_def";
          valPrefix = "default_";
          new AgentNowAssetValidiator().addAssetsToCheck(chgr, check, payloadVersion);
      } else {
          new AgentNowAssetValidiator().addAssetsToCheck(chgr.check_def, check, payloadVersion);
      }

      var params = {};

      if (credentialId)
          params['cred_id'] = credentialId;

      if (credentialsAliasAppId)
          params['cred_alias'] = credentialsAliasAppId;

      var chpgr = new GlideRecord("sn_agent_check_param" + tableSuffix);
      chpgr.addActiveQuery();
      chpgr.addQuery("check" + tableSuffix, "" + chgr.sys_id);
      chpgr.query();

      while (chpgr.next()) {
          var param = "" + chpgr.getValue("name");
          var paramValue = chpgr.getValue(valPrefix + "value");
          if (this.base64CheckParamsUtil.shouldBase64EncodeCheckParam(chgr.getUniqueValue(), this.base64CheckParamsUtil.BASE64_ENC_CHECK_PARAM_TYPES.BASE64_ENC_CHECK_PARAM, param))
              paramValue = gs.base64Encode(paramValue);
          params[param] = paramValue;
      }

      if (Object.keys(params).length > 0) {
          check["params"] = params;
      }

      var chspgr = new GlideRecord("sn_agent_check_secure_param" + tableSuffix);
      chspgr.addActiveQuery();
      chspgr.addQuery("check" + tableSuffix, "" + chgr.sys_id);
      chspgr.orderBy("order");
      chspgr.query();
      var secureParams = [];
      while (chspgr.next()) {
          secureParams.push("" + chspgr.name);
      }
      if (secureParams.length > 0)
          check["secure_params"] = secureParams.join();

      return check;
  },

  checkFromGlideRecord: function(chgr) {
      var check = {};
      if (!chgr.check_json.nil()) {
          try {
              check = JSON.parse(chgr.check_json);
          } catch (e) {
              gs.addErrorMessage(chgr.getTableName() + " " + chgr.sys_id + " invalid json: " + e);
          }
      }
      check["name"] = "" + chgr.name;
      check["command"] = (chgr.getValue('command')).replaceAll("\r\n", "\n");
      check["interval"] = "" + chgr.interval;
      check["timeout"] = "" + chgr.timeout;
      check["id"] = "" + chgr.sys_id;
      check["exec_mode"] = "" + chgr.exec_mode;

      if (chgr.cred_failure_regex) {
          check["cred_failure_regex"] = "" + chgr.cred_failure_regex;
      }
      check["params_background"] = chgr.background ? true : false;
      check["disable_token_replacement"] = chgr.disable_token_replacement ? true : false;

      return check;
  },

  type: 'ACCConfigUtils'
};

Sys ID

9fa53b8a67a3101039142dbd2685ef7c

Offical Documentation

Official Docs: