github.com/adamar/terraform@v0.2.2-0.20141016210445-2e703afdad0e/rpc/ui_output.go (about) 1 package rpc 2 3 import ( 4 "net/rpc" 5 6 "github.com/hashicorp/terraform/terraform" 7 ) 8 9 // UIOutput is an implementatin of terraform.UIOutput that communicates 10 // over RPC. 11 type UIOutput struct { 12 Client *rpc.Client 13 Name string 14 } 15 16 func (o *UIOutput) Output(v string) { 17 o.Client.Call(o.Name+".Output", v, new(interface{})) 18 } 19 20 // UIOutputServer is the RPC server for serving UIOutput. 21 type UIOutputServer struct { 22 UIOutput terraform.UIOutput 23 } 24 25 func (s *UIOutputServer) Output( 26 v string, 27 reply *interface{}) error { 28 s.UIOutput.Output(v) 29 return nil 30 }