mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Generate ContainerWait response from the swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
		
							parent
							
								
									2732b8a9bb
								
							
						
					
					
						commit
						181562c2e5
					
				
					 10 changed files with 35 additions and 23 deletions
				
			
		| 
						 | 
				
			
			@ -283,8 +283,8 @@ func (s *containerRouter) postContainersWait(ctx context.Context, w http.Respons
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return httputils.WriteJSON(w, http.StatusOK, &types.ContainerWaitResponse{
 | 
			
		||||
		StatusCode: status,
 | 
			
		||||
	return httputils.WriteJSON(w, http.StatusOK, &container.ContainerWaitOKBody{
 | 
			
		||||
		StatusCode: int64(status),
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3780,18 +3780,19 @@ paths:
 | 
			
		|||
    post:
 | 
			
		||||
      summary: "Wait for a container"
 | 
			
		||||
      description: "Block until a container stops, then returns the exit code."
 | 
			
		||||
      operationId: "PostContainerWait"
 | 
			
		||||
      produces:
 | 
			
		||||
        - "application/json"
 | 
			
		||||
      operationId: "ContainerWait"
 | 
			
		||||
      produces: ["application/json"]
 | 
			
		||||
      responses:
 | 
			
		||||
        200:
 | 
			
		||||
          description: "no error"
 | 
			
		||||
          description: "The container has exit."
 | 
			
		||||
          schema:
 | 
			
		||||
            type: "object"
 | 
			
		||||
            required: [StatusCode]
 | 
			
		||||
            properties:
 | 
			
		||||
              StatusCode:
 | 
			
		||||
                description: "Exit code of the container"
 | 
			
		||||
                type: "integer"
 | 
			
		||||
                x-nullable: false
 | 
			
		||||
        404:
 | 
			
		||||
          description: "no such container"
 | 
			
		||||
          schema:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										17
									
								
								api/types/container/container_wait.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								api/types/container/container_wait.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
package container
 | 
			
		||||
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
// DO NOT EDIT THIS FILE
 | 
			
		||||
// This file was generated by `swagger generate operation`
 | 
			
		||||
//
 | 
			
		||||
// See hack/swagger-gen.sh
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
// ContainerWaitOKBody container wait o k body
 | 
			
		||||
// swagger:model ContainerWaitOKBody
 | 
			
		||||
type ContainerWaitOKBody struct {
 | 
			
		||||
 | 
			
		||||
	// Exit code of the container
 | 
			
		||||
	// Required: true
 | 
			
		||||
	StatusCode int64 `json:"StatusCode"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -13,13 +13,6 @@ import (
 | 
			
		|||
	"github.com/docker/go-connections/nat"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ContainerWaitResponse contains response of Remote API:
 | 
			
		||||
// POST "/containers/"+containerID+"/wait"
 | 
			
		||||
type ContainerWaitResponse struct {
 | 
			
		||||
	// StatusCode is the status code of the wait job
 | 
			
		||||
	StatusCode int `json:"StatusCode"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ContainerChange contains response of Remote API:
 | 
			
		||||
// GET "/containers/{name:.*}/changes"
 | 
			
		||||
type ContainerChange struct {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,19 +5,19 @@ import (
 | 
			
		|||
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
 | 
			
		||||
	"github.com/docker/docker/api/types"
 | 
			
		||||
	"github.com/docker/docker/api/types/container"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ContainerWait pauses execution until a container exits.
 | 
			
		||||
// It returns the API status code as response of its readiness.
 | 
			
		||||
func (cli *Client) ContainerWait(ctx context.Context, containerID string) (int, error) {
 | 
			
		||||
func (cli *Client) ContainerWait(ctx context.Context, containerID string) (int64, error) {
 | 
			
		||||
	resp, err := cli.post(ctx, "/containers/"+containerID+"/wait", nil, nil, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return -1, err
 | 
			
		||||
	}
 | 
			
		||||
	defer ensureReaderClosed(resp)
 | 
			
		||||
 | 
			
		||||
	var res types.ContainerWaitResponse
 | 
			
		||||
	var res container.ContainerWaitOKBody
 | 
			
		||||
	if err := json.NewDecoder(resp.body).Decode(&res); err != nil {
 | 
			
		||||
		return -1, err
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ import (
 | 
			
		|||
	"testing"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/docker/docker/api/types"
 | 
			
		||||
	"github.com/docker/docker/api/types/container"
 | 
			
		||||
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ func TestContainerWait(t *testing.T) {
 | 
			
		|||
			if !strings.HasPrefix(req.URL.Path, expectedURL) {
 | 
			
		||||
				return nil, fmt.Errorf("Expected URL '%s', got '%s'", expectedURL, req.URL)
 | 
			
		||||
			}
 | 
			
		||||
			b, err := json.Marshal(types.ContainerWaitResponse{
 | 
			
		||||
			b, err := json.Marshal(container.ContainerWaitOKBody{
 | 
			
		||||
				StatusCode: 15,
 | 
			
		||||
			})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ type ContainerAPIClient interface {
 | 
			
		|||
	ContainerTop(ctx context.Context, container string, arguments []string) (types.ContainerProcessList, error)
 | 
			
		||||
	ContainerUnpause(ctx context.Context, container string) error
 | 
			
		||||
	ContainerUpdate(ctx context.Context, container string, updateConfig container.UpdateConfig) (container.ContainerUpdateOKBody, error)
 | 
			
		||||
	ContainerWait(ctx context.Context, container string) (int, error)
 | 
			
		||||
	ContainerWait(ctx context.Context, container string) (int64, error)
 | 
			
		||||
	CopyFromContainer(ctx context.Context, container, srcPath string) (io.ReadCloser, types.ContainerPathStat, error)
 | 
			
		||||
	CopyToContainer(ctx context.Context, container, path string, content io.Reader, options types.CopyToContainerOptions) error
 | 
			
		||||
	ContainersPrune(ctx context.Context, cfg types.ContainersPruneConfig) (types.ContainersPruneReport, error)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ type Backend interface {
 | 
			
		|||
	FindNetwork(idName string) (libnetwork.Network, error)
 | 
			
		||||
	SetupIngress(req clustertypes.NetworkCreateRequest, nodeIP string) error
 | 
			
		||||
	PullImage(ctx context.Context, image, tag string, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error
 | 
			
		||||
	CreateManagedContainer(config types.ContainerCreateConfig, validateHostname bool) (container.ContainerCreateResponse, error)
 | 
			
		||||
	CreateManagedContainer(config types.ContainerCreateConfig, validateHostname bool) (container.ContainerCreateCreatedBody, error)
 | 
			
		||||
	ContainerStart(name string, hostConfig *container.HostConfig, validateHostname bool, checkpoint string, checkpointDir string) error
 | 
			
		||||
	ContainerStop(name string, seconds *int) error
 | 
			
		||||
	ConnectContainerToNetwork(containerName, networkName string, endpointConfig *network.EndpointSettings) error
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,4 +17,5 @@ swagger generate operation -f api/swagger.yaml \
 | 
			
		|||
    -n VolumesCreate \
 | 
			
		||||
    -n ContainerCreate \
 | 
			
		||||
    -n ContainerUpdate \
 | 
			
		||||
    -n Authenticate
 | 
			
		||||
    -n Authenticate \
 | 
			
		||||
    -n ContainerWait
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -957,9 +957,9 @@ func (s *DockerSuite) TestContainerAPIWait(c *check.C) {
 | 
			
		|||
	c.Assert(status, checker.Equals, http.StatusOK)
 | 
			
		||||
	c.Assert(waitInspect(name, "{{ .State.Running  }}", "false", 60*time.Second), checker.IsNil)
 | 
			
		||||
 | 
			
		||||
	var waitres types.ContainerWaitResponse
 | 
			
		||||
	var waitres containertypes.ContainerWaitOKBody
 | 
			
		||||
	c.Assert(json.Unmarshal(body, &waitres), checker.IsNil)
 | 
			
		||||
	c.Assert(waitres.StatusCode, checker.Equals, 0)
 | 
			
		||||
	c.Assert(waitres.StatusCode, checker.Equals, int64(0))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestContainerAPICopyNotExistsAnyMore(c *check.C) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue