有没有办法在我的 jelastic 清单中通过单独的操作获取有关创建环境的信息?

Is there a way to get information about created environment in a separate action in my jelastic manifest?

假设我的 jps 清单中有以下操作:

actions:
  installDatabase:
    install:
      jps: ${baseUrl}/jelastic/postgres/manifest.jps
      envName: ${settings.pgEnvName}
      displayName: Database cluster
  myOtherAction:
  - cmd [cp]:
    - doSomethingWithTheDatabaseHostname

第一步,我安装我的数据库。它创建了一个单独的 Jelastic 环境。然后,在第二个操作中,作用于当前环境(不是数据库),我想从第一个操作中获取数据库主机名。更重要的是,我想要数据库主节点。我怎样才能做到这一点?我在通常的 Jelastic 或 cloudscripting 文档中没有找到关于该主题的任何内容。

编辑

在操作myOtherAction中,我想安装另一个需要通过操作installDatabase安装的数据库的主机名的jps。可能是其他 jps 需要连接到该数据库。我不想手动安装多个 jps 清单。我想自动安装我需要的所有清单。在这里描述的情况下,第一个清单安装数据库环境。我需要获取该数据库的主节点的节点 ID,并将其传递给下一个清单。这可能吗?

对于如何从一个 JPS 使用多个环境,有多种选择,例如,您可以安装另一个 JPS:

actions:
  installDatabase:
    - install:
        jps: ${baseUrl}/jelastic/postgres/manifest.jps
        envName: ${settings.pgEnvName}
        displayName: Database cluster
    - install:
        envName: ${settings.pgEnvName}
        jps:
          type: upddate
          name: Configure Database
          onInstall:            
            - cmd [${nodes.sqldb.master.id}]: 
                - echo ${nodes.sqldb.master.address}
                - doSomethingWithTheDatabaseHostname

或者您可以使用 API:

在另一个环境中执行查询
actions:
  installDatabase:
    - install:
        jps: ${baseUrl}/jelastic/postgres/manifest.jps
        envName: ${settings.pgEnvName}
        displayName: Database cluster]     

    - script: |
        var resp = api.env.control.GetEnvInfo('${settings.pgEnvName}', session);
        if (resp.result != 0) return resp;

        for (var i = 0, node; node = resp.nodes[i]; i++ ) {
          if (node.nodeGroup == "sqldb" && node.ismaster) {
            return { result: 0, node: node };
          }
        }

        return { result : "error", message: "node not found" };

    - env.control.ExecCmdById:
       envName: ${settings.pgEnvName}
       nodeId: ${response.node.id}
       commandList:
         # doSomethingWithTheDatabaseHostname:
         - command: hostname