外部依赖关系使用云代工厂CLI无法正常工作

时间:2017-11-13 19:27:51

标签: cloud cloudfoundry pivotal-cloud-foundry

我正在尝试编写一个脚本来在云代工厂上创建外部依赖服务,该脚本成功执行但不在Web面板上显示IP。即使我用app绑定服务也不允许列出的IP。但是,如果我从Web面板配置外部依赖,那么我能够查看IP的所有条目,并允许列出的IP。 如果有人使用CLI创建带有IP列表的外部依赖服务,建议在我的实现上指出问题。

cf create-service external-dependency-service unstructured myservice -c dependency.json >> G:\Logs

dependency.json

{
"dependencyAsJson" : {
    "description" : "Testing External Dependency",
    "destinations" : [
    {
        "address" : "192.168.1.1",
        "protocol" : "tcp",
        "portStart" : 1,
        "portEnd" :  100
    },
    {
        "address" : "192.168.1.2",
        "protocol" : "tcp",
        "portStart" : 1,
        "portEnd" :  100
    }
    ]
}
}

您可以查看日志以验证cli命令的成功执行。使用以下命令启用跟踪

cf config --trace=true

1 个答案:

答案 0 :(得分:0)

json对象的格式必须是带有转义字符串的特定格式,单行不带换行符和双引号之间的空格

cf create-service external-dependency-service unstructured myservice -c dependency.json >> G:\Logs

{"dependencyAsJson" : {\"description\" : \"Testing External Dependency\",\"destinations\" : [{\"address\" : \"192.168.1.1\",\"protocol\" : \"tcp\",\"portStart\" : 1,\"portEnd\" :  100},{\"address\" : \"192.168.1.2\",\"protocol\":\"tcp\",\"portStart\" : 1,\"portEnd\" : 100}]}}

如果你在java字符串中使用它,那么你应该\\保持格式

{"dependencyAsJson" : {\\\"description\\\" : \\\"Testing External Dependency\\\",\\\"destinations\\\" : [{\\\"address\\\" : \\\"192.168.1.1\\\",\\\"protocol\\\" : \\\"tcp\\\",\\\"portStart\\\" : 1,\\\"portEnd\\\" :  100},{\\\"address\\\" : \\\"192.168.1.2\\\",\\\"protocol\\\":\\\"tcp\\\",\\\"portStart\\\" : 1,\\\"portEnd\\\" : 100}]}}