Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #2532
Closed
Open
Issue created Mar 28, 2019 by Administrator@rootContributor5 of 6 checklist items completed5/6 checklist items

[BUG] [rust-client] Unable to generate rust client for docker api

Created by: pgrinaway

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

openapi-generator successfully generates an output for the Docker engine v1.39 spec, albeit with a number of warnings such as

[main] WARN  o.o.codegen.DefaultCodegen - codegenModel is null. Default to UNKNOWN_BASE_TYPE

...

[main] WARN  o.o.c.examples.ExampleGenerator - example value (array/primitive) not handled at the moment: [{ID=ktnbjxoalbkvbvedmg1urrz8h, Version={Index=11}, CreatedAt=2016-11-05T01:20:17.327670065Z, UpdatedAt=2016-11-05T01:20:17.327670065Z, Spec={Name=server.conf}}]

Full output here.

Upon attempting to compile the resulting code, there are numerous errors from the Rust compiler such as:

error[E0412]: cannot find type `Value` in this scope
  --> src/apis/container_api.rs:52:76
   |
52 |     fn container_stats(&self, id: &str, stream: bool) -> Box<Future<Item = Value, Error = Error<serde_json::Value>>>;

...

error[E0277]: the trait bound `models::File: serde::Serialize` is not satisfied
  --> src/apis/plugin_api.rs:58:14
   |
58 |             .with_body_param(body)
   |              ^^^^^^^^^^^^^^^ the trait `serde::Serialize` is not implemented for `models::File`

error: aborting due to 25 previous errors

Full compiler output here.

openapi-generator version
(base) Patricks-MBP:test1 pgrinaway$ openapi-generator version
3.3.4
OpenAPI declaration file content or url

The OpenAPI declaration can be found here

Command line used for generation

I ran:

openapi-generator generate -i https://docs.docker.com/engine/api/v1.39/swagger.yaml -g rust -o rust_client/

Using openapi-generator version 3.3.4 on Mac OS X Mojave 10.14.3. Cargo version cargo 1.32.0 (8610973aa 2019-01-02)

Steps to reproduce

Generate the rust code:

mkdir rust_docker && openapi-generator generate -i https://docs.docker.com/engine/api/v1.39/swagger.yaml -g rust -o rust_docker/

Attempt to compile:

cd rust_docker && cargo build
Related issues/PRs

I'm not sure if #2527 is related, since it is trying to also generate a client for this API. Possibly PR #2244 is related, but again I am unsure.

Suggest a fix

I am relatively new to rust, but manually inserting a use serde_json::Value; in the generated code did make the error about the Value go away. However, I'm not quite sure how to fix the other errors.

Assignee
Assign to
Time tracking