(sess *provisionersdk.Session, req *provisionersdk.InitRequest, canceledOrComplete <-chan struct{})
| 206 | } |
| 207 | |
| 208 | func (*echo) Init(sess *provisionersdk.Session, req *provisionersdk.InitRequest, canceledOrComplete <-chan struct{}) *proto.InitComplete { |
| 209 | err := sess.Files.ExtractArchive(sess.Context(), sess.Logger, afero.NewOsFs(), req.TemplateSourceArchive, nil) |
| 210 | if err != nil { |
| 211 | return provisionersdk.InitErrorf("extract archive: %s", err.Error()) |
| 212 | } |
| 213 | |
| 214 | responses, err := readResponses( |
| 215 | sess, |
| 216 | "", // transition not supported for init graph responses |
| 217 | "init.protobuf") |
| 218 | if err != nil { |
| 219 | return &proto.InitComplete{Error: err.Error()} |
| 220 | } |
| 221 | for _, response := range responses { |
| 222 | if log := response.GetLog(); log != nil { |
| 223 | sess.ProvisionLog(log.Level, log.Output) |
| 224 | } |
| 225 | if complete := response.GetInit(); complete != nil { |
| 226 | return complete |
| 227 | } |
| 228 | } |
| 229 | |
| 230 | // some tests use Echo without a complete response to test cancel |
| 231 | <-canceledOrComplete |
| 232 | return provisionersdk.InitErrorf("canceled") |
| 233 | } |
| 234 | |
| 235 | func (*echo) Graph(sess *provisionersdk.Session, req *proto.GraphRequest, canceledOrComplete <-chan struct{}) *proto.GraphComplete { |
| 236 | responses, err := readResponses( |
nothing calls this directly
no test coverage detected