| #!/bin/bash | |
| # vim: set noexpandtab: | |
| # -*- indent-tabs-mode: t -*- | |
| set -eu | |
| API_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | |
| generate_model() { | |
| local package="$1" | |
| shift | |
| mapfile | |
| swagger generate model --spec="${API_DIR}/swagger.yaml" \ | |
| --target="${API_DIR}" --model-package="$package" \ | |
| --config-file="${API_DIR}/swagger-gen.yaml" \ | |
| --template-dir="${API_DIR}/templates" --allow-template-override \ | |
| "$@" \ | |
| $(printf -- '--name=%s ' "${MAPFILE[@]}") | |
| } | |
| # /==================================================================\ | |
| # | | | |
| # | ATTENTION: | | |
| # | | | |
| # | Sort model package stanzas and model/operation names | | |
| # | *** ALPHABETICALLY *** | | |
| # | to reduce the likelihood of merge conflicts. | | |
| # | | | |
| # \==================================================================/ | |
| #region -------- Models -------- | |
| generate_model types/build <<- 'EOT' | |
| BuildCacheDiskUsage | |
| EOT | |
| generate_model types/common <<- 'EOT' | |
| ErrorResponse | |
| IDResponse | |
| EOT | |
| generate_model types/container <<- 'EOT' | |
| ChangeType | |
| ContainerCreateResponse | |
| ContainerTopResponse | |
| ContainerUpdateResponse | |
| ContainerWaitExitError | |
| ContainerWaitResponse | |
| ContainersDiskUsage | |
| FilesystemChange | |
| PortSummary | |
| EOT | |
| generate_model types/image <<- 'EOT' | |
| ImageDeleteResponseItem | |
| ImagesDiskUsage | |
| ImageHistoryResponseItem | |
| EOT | |
| # ImageSummary | |
| # TODO: Restore when go-swagger is updated | |
| # See https://github.com/moby/moby/pull/47526#discussion_r1551800022 | |
| generate_model types/network --keep-spec-order --additional-initialism=IPAM <<- 'EOT' | |
| ConfigReference | |
| EndpointResource | |
| IPAMStatus | |
| Network | |
| NetworkConnectRequest | |
| NetworkCreateResponse | |
| NetworkDisconnectRequest | |
| NetworkInspect | |
| NetworkStatus | |
| NetworkSummary | |
| NetworkTaskInfo | |
| PeerInfo | |
| ServiceInfo | |
| SubnetStatus | |
| EOT | |
| generate_model types/plugin <<- 'EOT' | |
| Plugin | |
| PluginDevice | |
| PluginEnv | |
| PluginMount | |
| EOT | |
| generate_model types/registry <<- 'EOT' | |
| AuthResponse | |
| EOT | |
| generate_model types/storage <<- 'EOT' | |
| DriverData | |
| RootFSStorage | |
| RootFSStorageSnapshot | |
| Storage | |
| EOT | |
| generate_model types/swarm <<- 'EOT' | |
| ServiceCreateResponse | |
| ServiceUpdateResponse | |
| EOT | |
| generate_model types/volume <<- 'EOT' | |
| Volume | |
| VolumeCreateRequest | |
| VolumeListResponse | |
| VolumesDiskUsage | |
| EOT | |
| #endregion |