Skip to content

Commit e673c0e

Browse files
committed
fix: Replace first group of types
1 parent 9fc342c commit e673c0e

File tree

6 files changed

+196
-69
lines changed

6 files changed

+196
-69
lines changed

tools/specgen/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ A tool that reflects the Docker client [engine-api](https://github.com/docker/en
99
To update the source repositories please use the following from your `$GOPATH`:
1010

1111
```
12-
> go get -u github.com/docker/docker@<release-tag>
12+
> go get -u github.com/moby/moby/api@<release-tag>
13+
> go get -u github.com/moby/moby/client@<release-tag>
1314
```
1415

1516
Note: Since the docker library is not a go module the version go generates will look something like this v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible even though this is for v19.03.13. The commit hash bd33bbf0497b matches the commit hash of docker v 19.03.13

tools/specgen/csharptype.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ package main
33
import (
44
"fmt"
55
"io"
6+
"net"
7+
"net/netip"
68
"os"
79
"path/filepath"
810
"reflect"
911
"regexp"
1012
"sort"
1113
"strings"
1214
"time"
13-
14-
"github.com/moby/moby/api/types/registry"
1515
)
1616

1717
var GlobalUsings map[string]bool
@@ -71,9 +71,12 @@ var CSInboxTypesMap = map[reflect.Kind]CSType{
7171

7272
// CSCustomTypeMap is a map from Go reflected types to C# types.
7373
var CSCustomTypeMap = map[reflect.Type]CSType{
74-
reflect.TypeOf(time.Time{}): {"System", "DateTime", true},
75-
reflect.TypeOf(registry.NetIPNet{}): {"", "string", false},
76-
EmptyStruct: {"", "BUG_IN_CONVERSION", false},
74+
reflect.TypeOf(time.Time{}): {"System", "DateTime", true},
75+
reflect.TypeOf(net.IP{}): {"", "string", false},
76+
reflect.TypeOf(net.IPNet{}): {"", "string", false},
77+
reflect.TypeOf(netip.Addr{}): {"", "string", false},
78+
reflect.TypeOf(netip.Prefix{}): {"", "string", false},
79+
EmptyStruct: {"", "BUG_IN_CONVERSION", false},
7780
}
7881

7982
// CSArgument is a type that represents a C# argument that can

tools/specgen/go.mod

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,30 @@ go 1.24.0
44

55
require (
66
github.com/docker/docker v28.5.2+incompatible
7-
github.com/moby/moby/api v1.52.1-0.20251110213138-d105562beff4
7+
github.com/moby/moby/api v1.52.1-0.20251114152322-198b5e3ed55a
8+
github.com/moby/moby/client v0.1.1-0.20251114152322-198b5e3ed55a
89
)
910

1011
require (
1112
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
13+
github.com/Microsoft/go-winio v0.6.2 // indirect
14+
github.com/containerd/errdefs v1.0.0 // indirect
15+
github.com/containerd/errdefs/pkg v0.3.0 // indirect
16+
github.com/distribution/reference v0.6.0 // indirect
17+
github.com/docker/go-connections v0.6.0 // indirect
1218
github.com/docker/go-units v0.5.0 // indirect
19+
github.com/felixge/httpsnoop v1.0.4 // indirect
20+
github.com/go-logr/logr v1.4.3 // indirect
21+
github.com/go-logr/stdr v1.2.2 // indirect
1322
github.com/moby/docker-image-spec v1.3.1 // indirect
1423
github.com/moby/term v0.5.2 // indirect
1524
github.com/morikuni/aec v1.0.0 // indirect
1625
github.com/opencontainers/go-digest v1.0.0 // indirect
1726
github.com/opencontainers/image-spec v1.1.1 // indirect
18-
golang.org/x/sys v0.1.0 // indirect
27+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
28+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
29+
go.opentelemetry.io/otel v1.38.0 // indirect
30+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
31+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
32+
golang.org/x/sys v0.38.0 // indirect
1933
)

tools/specgen/go.sum

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,40 @@
11
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=
22
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
3-
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
4-
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
3+
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
4+
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
5+
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
6+
github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
7+
github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE=
8+
github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk=
9+
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
10+
github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
11+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
12+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13+
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
14+
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
515
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
616
github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
17+
github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94=
18+
github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE=
719
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
820
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
21+
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
22+
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
23+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
24+
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
25+
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
26+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
27+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
928
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
1029
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
30+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
31+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1132
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
1233
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
13-
github.com/moby/moby/api v1.52.1-0.20251110213138-d105562beff4 h1:KP1oBNJfTGx3iVEqEKBkzo/tJV4tZJ3co6ENPw+KtHc=
14-
github.com/moby/moby/api v1.52.1-0.20251110213138-d105562beff4/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc=
34+
github.com/moby/moby/api v1.52.1-0.20251114152322-198b5e3ed55a h1:czJd8Sfj8aANeN8knmjmF10wEQuoJUlwBiQCLMaXQEA=
35+
github.com/moby/moby/api v1.52.1-0.20251114152322-198b5e3ed55a/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc=
36+
github.com/moby/moby/client v0.1.1-0.20251114152322-198b5e3ed55a h1:9rCU1IOYQAu6d7T9lxJO6m5hw21wQ9e76MXQtkvNm8w=
37+
github.com/moby/moby/client v0.1.1-0.20251114152322-198b5e3ed55a/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE=
1538
github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ=
1639
github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc=
1740
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
@@ -20,8 +43,30 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
2043
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
2144
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
2245
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
46+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
47+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
48+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
49+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
50+
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
51+
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
52+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18=
53+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg=
54+
go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=
55+
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
56+
go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=
57+
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
58+
go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=
59+
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
60+
go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=
61+
go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=
62+
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
63+
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
2364
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
24-
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
25-
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
65+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
66+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
67+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
68+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
2669
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
2770
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
71+
pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk=
72+
pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=

tools/specgen/modeldefs.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package main
22

33
import (
4-
"github.com/moby/moby/api/types"
54
"github.com/moby/moby/api/types/container"
65
"github.com/moby/moby/api/types/network"
6+
"github.com/moby/moby/api/types/plugin"
77
"github.com/moby/moby/api/types/registry"
88
"github.com/moby/moby/api/types/swarm"
99
"github.com/moby/moby/api/types/volume"
10+
"github.com/moby/moby/client"
1011
)
1112

1213
// Args map
@@ -189,13 +190,13 @@ type ContainersPruneParameters struct {
189190
}
190191

191192
// ContainerExecCreateParameters for POST /containers/(id)/exec
192-
type ContainerExecCreateParameters container.ExecOptions
193+
type ContainerExecCreateParameters client.ExecCreateOptions
193194

194195
// ContainerExecCreateResponse for POST /containers/(id)/exec
195196
type ContainerExecCreateResponse container.ExecCreateResponse
196197

197198
// ContainerExecStartParameters for POST /exec/(id)/start
198-
type ContainerExecStartParameters container.ExecStartOptions
199+
type ContainerExecStartParameters client.ExecStartOptions
199200

200201
// ImagesCreateParameters for POST /images/create
201202
type ImagesCreateParameters struct {
@@ -276,10 +277,10 @@ type PluginGetPrivilegeParameters struct {
276277

277278
// PluginInstallParameters for POST /plugins/pull
278279
type PluginInstallParameters struct {
279-
Remote string `rest:"query,remote,required"`
280-
Name string `rest:"query"`
281-
RegistryAuth registry.AuthConfig `rest:"headers,X-Registry-Auth"`
282-
Privileges types.PluginPrivileges `rest:"body,,required"`
280+
Remote string `rest:"query,remote,required"`
281+
Name string `rest:"query"`
282+
RegistryAuth registry.AuthConfig `rest:"headers,X-Registry-Auth"`
283+
Privileges plugin.Privileges `rest:"body,,required"`
283284
}
284285

285286
// PluginRemoveParameters for DELETE /plugins/(name)
@@ -299,9 +300,9 @@ type PluginDisableParameters struct {
299300

300301
// PluginUpgradeParameters for POST /plugins/(name)/upgrade
301302
type PluginUpgradeParameters struct {
302-
Remote string `rest:"query,remote,required"`
303-
RegistryAuth registry.AuthConfig `rest:"headers,X-Registry-Auth"`
304-
Privileges types.PluginPrivileges `rest:"body,,required"`
303+
Remote string `rest:"query,remote,required"`
304+
RegistryAuth registry.AuthConfig `rest:"headers,X-Registry-Auth"`
305+
Privileges plugin.Privileges `rest:"body,,required"`
305306
}
306307

307308
// PluginCreateParameters for POST /plugins/create

0 commit comments

Comments
 (0)