Skip to content

Generate API from swagger spec #27919

Description

@dnephin

Related: docker-archive-public/docker.engine-api#77, #5893, #22931

We now have a swagger spec which we use to generate a few types. This issue is to document and track the rest of the required work.

Project

Milestone 1 - Types

Generate api/types from the spec:

api/types/types.go

  • ContainerChange
  • ImageHistory
  • ImageDelete
  • GraphDriverData
  • RootFS
  • ImageInspect
  • Container
  • CopyConfig
  • ContainerPathStat
  • ContainerStats
  • ContainerProcessList
  • Version
  • Info
  • PluginsInfo
  • ExecStartCheck
  • HealthcheckResult
  • Health
  • ContainerState
  • ContainerNode
  • ContainerJSONBase
  • ContainerJSON
  • NetworkSettings
  • SummaryNetworkSettings
  • NetworkSettingsBase
  • DefaultNetworkSettings
  • MountPoint
  • NetworkResource
  • EndpointResource
  • NetworkCreate
  • NetworkCreateRequest
  • NetworkCreateResponse
  • NetworkConnect
  • NetworkDisconnect
  • Checkpoint
  • Runtime
  • DiskUsage
  • ImagesPruneConfig
  • ContainersPruneConfig
  • VolumesPruneConfig
  • NetworksPruneConfig
  • ContainersPruneReport
  • VolumesPruneReport
  • ImagesPruneReport
  • NetworksPruneReport

api/types/swarm/:

  • Version
  • Meta
  • Annotations
  • ContainerSpec
  • Endpoint
  • EndpointSpec
  • ResolutionMode
  • PortConfig
  • PortConfigProtocol
  • EndpointVirtualIP
  • Network
  • NetworkSpec
  • NetworkAttachmentConfig
  • NetworkAttachment
  • IPAMOptions
  • IPAMConfig
  • Driver
  • Node
  • NodeSpec
  • NodeRole
  • NodeAvailability
  • NodeDescription
  • Platform
  • EngineDescription
  • PluginDescription
  • NodeStatus
  • Reachability
  • ManagerStatus
  • NodeState
  • Service
  • ServiceSpec
  • ServiceMode
  • UpdateState
  • UpdateStatus
  • ReplicatedService
  • GlobalService
  • UpdateConfig
  • ClusterInfo
  • Swarm
  • JoinTokens
  • Spec
  • OrchestrationConfig
  • TaskDefaults
  • RaftConfig
  • DispatcherConfig
  • CAConfig
  • ExternalCAProtocol
  • ExternalCAProtocol
  • ExternalCA
  • InitRequest
  • JoinRequest
  • LocalNodeState
  • Info
  • Peer
  • UpdateFlags
  • TaskState
  • Task
  • TaskSpec
  • Resources
  • ResourceRequirements
  • Placement
  • RestartPolicy
  • RestartPolicyCondition
  • TaskStatus
  • ContainerStatus

Milestone 2 - Client

Generate (most of) client/ from the spec.

This milestone can be done in parallel with Milestone 3, but requires a prototype before work can be enumerated.

Milestone 3 - Server (router)

Generate (most of) api/server/router/ from the spec.

This milestone can be done in parallel with Milestone 2, but requires a prototype before work can be enumerated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions