本文整理汇总了Golang中code/cloudfoundry/org/cli/plugin.CliConnection.GetService方法的典型用法代码示例。如果您正苦于以下问题:Golang CliConnection.GetService方法的具体用法?Golang CliConnection.GetService怎么用?Golang CliConnection.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类code/cloudfoundry/org/cli/plugin.CliConnection
的用法示例。
在下文中一共展示了CliConnection.GetService方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: BindService
func BindService(cliConnection plugin.CliConnection, args []string) {
customParameters := "{}"
fc := flags.New()
fc.NewStringFlag("parameters", "c", "Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file. For a list of supported configuration parameters, see documentation for the particular service offering.")
fc.Parse(args...)
if fc.IsSet("c") {
customParameters = fc.String("c")
}
appName := fc.Args()[1]
serviceInstanceName := fc.Args()[2]
rawOutput, _ := cliConnection.CliCommandWithoutTerminalOutput("curl", fmt.Sprintf("/v3/apps?names=%s", appName))
apps := V3AppsModel{}
output := strings.Join(rawOutput, "")
json.Unmarshal([]byte(output), &apps)
if len(apps.Apps) == 0 {
fmt.Printf("App %s not found\n", appName)
return
}
appGuid := apps.Apps[0].Guid
serviceInstance, err := cliConnection.GetService(serviceInstanceName)
FreakOut(err)
serviceInstanceGuid := serviceInstance.Guid
body := fmt.Sprintf(`{
"type": "app",
"relationships": {
"app": {"guid" : "%s"},
"service_instance": {"guid": "%s"}
},
"data": {
"parameters": %s
}
}`, appGuid, serviceInstanceGuid, customParameters)
if _, err := cliConnection.CliCommandWithoutTerminalOutput("curl", fmt.Sprintf("/v3/service_bindings"), "-X", "POST", "-d", body); err != nil {
fmt.Printf("Failed to bind app %s to service instance %s\n", appName, serviceInstanceName)
return
}
fmt.Println("OK")
}