MCPcopy
hub / github.com/docker/compose / ListModels

Method ListModels

pkg/compose/model.go:253–281  ·  pkg/compose/model.go::modelAPI.ListModels
(ctx context.Context)

Source from the content-addressed store, hash-verified

251}
252
253func (m *modelAPI) ListModels(ctx context.Context) ([]string, error) {
254 cmd := exec.CommandContext(ctx, m.path, "ls", "--json")
255 err := m.prepare(ctx, cmd)
256 if err != nil {
257 return nil, err
258 }
259
260 output, err := cmd.CombinedOutput()
261 if err != nil {
262 return nil, fmt.Errorf("error checking available models: %w", err)
263 }
264
265 type AvailableModel struct {
266 Id string `json:"id"`
267 Tags []string `json:"tags"`
268 Created int `json:"created"`
269 }
270
271 models := []AvailableModel{}
272 err = json.Unmarshal(output, &models)
273 if err != nil {
274 return nil, fmt.Errorf("error unmarshalling available models: %w", err)
275 }
276 var availableModels []string
277 for _, model := range models {
278 availableModels = append(availableModels, model.Tags...)
279 }
280 return availableModels, nil
281}
282
283// supportsRuntimeFlags checks if the docker model version supports runtime flags
284// Runtime flags are supported in version >= v1.0.6

Callers 1

ensureModelsMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected