github.com/lalkh/containerd@v1.4.3/api/services/containers/v1/containers.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: github.com/containerd/containerd/api/services/containers/v1/containers.proto
     3  
     4  package containers
     5  
     6  import (
     7  	context "context"
     8  	fmt "fmt"
     9  	proto "github.com/gogo/protobuf/proto"
    10  	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    11  	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
    12  	types "github.com/gogo/protobuf/types"
    13  	grpc "google.golang.org/grpc"
    14  	codes "google.golang.org/grpc/codes"
    15  	status "google.golang.org/grpc/status"
    16  	io "io"
    17  	math "math"
    18  	math_bits "math/bits"
    19  	reflect "reflect"
    20  	strings "strings"
    21  	time "time"
    22  )
    23  
    24  // Reference imports to suppress errors if they are not otherwise used.
    25  var _ = proto.Marshal
    26  var _ = fmt.Errorf
    27  var _ = math.Inf
    28  var _ = time.Kitchen
    29  
    30  // This is a compile-time assertion to ensure that this generated file
    31  // is compatible with the proto package it is being compiled against.
    32  // A compilation error at this line likely means your copy of the
    33  // proto package needs to be updated.
    34  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    35  
    36  type Container struct {
    37  	// ID is the user-specified identifier.
    38  	//
    39  	// This field may not be updated.
    40  	ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    41  	// Labels provides an area to include arbitrary data on containers.
    42  	//
    43  	// The combined size of a key/value pair cannot exceed 4096 bytes.
    44  	//
    45  	// Note that to add a new value to this field, read the existing set and
    46  	// include the entire result in the update call.
    47  	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    48  	// Image contains the reference of the image used to build the
    49  	// specification and snapshots for running this container.
    50  	//
    51  	// If this field is updated, the spec and rootfs needed to updated, as well.
    52  	Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
    53  	// Runtime specifies which runtime to use for executing this container.
    54  	Runtime *Container_Runtime `protobuf:"bytes,4,opt,name=runtime,proto3" json:"runtime,omitempty"`
    55  	// Spec to be used when creating the container. This is runtime specific.
    56  	Spec *types.Any `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
    57  	// Snapshotter specifies the snapshotter name used for rootfs
    58  	Snapshotter string `protobuf:"bytes,6,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
    59  	// SnapshotKey specifies the snapshot key to use for the container's root
    60  	// filesystem. When starting a task from this container, a caller should
    61  	// look up the mounts from the snapshot service and include those on the
    62  	// task create request.
    63  	//
    64  	// Snapshots referenced in this field will not be garbage collected.
    65  	//
    66  	// This field is set to empty when the rootfs is not a snapshot.
    67  	//
    68  	// This field may be updated.
    69  	SnapshotKey string `protobuf:"bytes,7,opt,name=snapshot_key,json=snapshotKey,proto3" json:"snapshot_key,omitempty"`
    70  	// CreatedAt is the time the container was first created.
    71  	CreatedAt time.Time `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3,stdtime" json:"created_at"`
    72  	// UpdatedAt is the last time the container was mutated.
    73  	UpdatedAt time.Time `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"`
    74  	// Extensions allow clients to provide zero or more blobs that are directly
    75  	// associated with the container. One may provide protobuf, json, or other
    76  	// encoding formats. The primary use of this is to further decorate the
    77  	// container object with fields that may be specific to a client integration.
    78  	//
    79  	// The key portion of this map should identify a "name" for the extension
    80  	// that should be unique against other extensions. When updating extension
    81  	// data, one should only update the specified extension using field paths
    82  	// to select a specific map key.
    83  	Extensions           map[string]types.Any `protobuf:"bytes,10,rep,name=extensions,proto3" json:"extensions" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    84  	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
    85  	XXX_unrecognized     []byte               `json:"-"`
    86  	XXX_sizecache        int32                `json:"-"`
    87  }
    88  
    89  func (m *Container) Reset()      { *m = Container{} }
    90  func (*Container) ProtoMessage() {}
    91  func (*Container) Descriptor() ([]byte, []int) {
    92  	return fileDescriptor_311afb8e15951042, []int{0}
    93  }
    94  func (m *Container) XXX_Unmarshal(b []byte) error {
    95  	return m.Unmarshal(b)
    96  }
    97  func (m *Container) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    98  	if deterministic {
    99  		return xxx_messageInfo_Container.Marshal(b, m, deterministic)
   100  	} else {
   101  		b = b[:cap(b)]
   102  		n, err := m.MarshalToSizedBuffer(b)
   103  		if err != nil {
   104  			return nil, err
   105  		}
   106  		return b[:n], nil
   107  	}
   108  }
   109  func (m *Container) XXX_Merge(src proto.Message) {
   110  	xxx_messageInfo_Container.Merge(m, src)
   111  }
   112  func (m *Container) XXX_Size() int {
   113  	return m.Size()
   114  }
   115  func (m *Container) XXX_DiscardUnknown() {
   116  	xxx_messageInfo_Container.DiscardUnknown(m)
   117  }
   118  
   119  var xxx_messageInfo_Container proto.InternalMessageInfo
   120  
   121  type Container_Runtime struct {
   122  	// Name is the name of the runtime.
   123  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   124  	// Options specify additional runtime initialization options.
   125  	Options              *types.Any `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
   126  	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   127  	XXX_unrecognized     []byte     `json:"-"`
   128  	XXX_sizecache        int32      `json:"-"`
   129  }
   130  
   131  func (m *Container_Runtime) Reset()      { *m = Container_Runtime{} }
   132  func (*Container_Runtime) ProtoMessage() {}
   133  func (*Container_Runtime) Descriptor() ([]byte, []int) {
   134  	return fileDescriptor_311afb8e15951042, []int{0, 1}
   135  }
   136  func (m *Container_Runtime) XXX_Unmarshal(b []byte) error {
   137  	return m.Unmarshal(b)
   138  }
   139  func (m *Container_Runtime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   140  	if deterministic {
   141  		return xxx_messageInfo_Container_Runtime.Marshal(b, m, deterministic)
   142  	} else {
   143  		b = b[:cap(b)]
   144  		n, err := m.MarshalToSizedBuffer(b)
   145  		if err != nil {
   146  			return nil, err
   147  		}
   148  		return b[:n], nil
   149  	}
   150  }
   151  func (m *Container_Runtime) XXX_Merge(src proto.Message) {
   152  	xxx_messageInfo_Container_Runtime.Merge(m, src)
   153  }
   154  func (m *Container_Runtime) XXX_Size() int {
   155  	return m.Size()
   156  }
   157  func (m *Container_Runtime) XXX_DiscardUnknown() {
   158  	xxx_messageInfo_Container_Runtime.DiscardUnknown(m)
   159  }
   160  
   161  var xxx_messageInfo_Container_Runtime proto.InternalMessageInfo
   162  
   163  type GetContainerRequest struct {
   164  	ID                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   165  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   166  	XXX_unrecognized     []byte   `json:"-"`
   167  	XXX_sizecache        int32    `json:"-"`
   168  }
   169  
   170  func (m *GetContainerRequest) Reset()      { *m = GetContainerRequest{} }
   171  func (*GetContainerRequest) ProtoMessage() {}
   172  func (*GetContainerRequest) Descriptor() ([]byte, []int) {
   173  	return fileDescriptor_311afb8e15951042, []int{1}
   174  }
   175  func (m *GetContainerRequest) XXX_Unmarshal(b []byte) error {
   176  	return m.Unmarshal(b)
   177  }
   178  func (m *GetContainerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   179  	if deterministic {
   180  		return xxx_messageInfo_GetContainerRequest.Marshal(b, m, deterministic)
   181  	} else {
   182  		b = b[:cap(b)]
   183  		n, err := m.MarshalToSizedBuffer(b)
   184  		if err != nil {
   185  			return nil, err
   186  		}
   187  		return b[:n], nil
   188  	}
   189  }
   190  func (m *GetContainerRequest) XXX_Merge(src proto.Message) {
   191  	xxx_messageInfo_GetContainerRequest.Merge(m, src)
   192  }
   193  func (m *GetContainerRequest) XXX_Size() int {
   194  	return m.Size()
   195  }
   196  func (m *GetContainerRequest) XXX_DiscardUnknown() {
   197  	xxx_messageInfo_GetContainerRequest.DiscardUnknown(m)
   198  }
   199  
   200  var xxx_messageInfo_GetContainerRequest proto.InternalMessageInfo
   201  
   202  type GetContainerResponse struct {
   203  	Container            Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container"`
   204  	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   205  	XXX_unrecognized     []byte    `json:"-"`
   206  	XXX_sizecache        int32     `json:"-"`
   207  }
   208  
   209  func (m *GetContainerResponse) Reset()      { *m = GetContainerResponse{} }
   210  func (*GetContainerResponse) ProtoMessage() {}
   211  func (*GetContainerResponse) Descriptor() ([]byte, []int) {
   212  	return fileDescriptor_311afb8e15951042, []int{2}
   213  }
   214  func (m *GetContainerResponse) XXX_Unmarshal(b []byte) error {
   215  	return m.Unmarshal(b)
   216  }
   217  func (m *GetContainerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   218  	if deterministic {
   219  		return xxx_messageInfo_GetContainerResponse.Marshal(b, m, deterministic)
   220  	} else {
   221  		b = b[:cap(b)]
   222  		n, err := m.MarshalToSizedBuffer(b)
   223  		if err != nil {
   224  			return nil, err
   225  		}
   226  		return b[:n], nil
   227  	}
   228  }
   229  func (m *GetContainerResponse) XXX_Merge(src proto.Message) {
   230  	xxx_messageInfo_GetContainerResponse.Merge(m, src)
   231  }
   232  func (m *GetContainerResponse) XXX_Size() int {
   233  	return m.Size()
   234  }
   235  func (m *GetContainerResponse) XXX_DiscardUnknown() {
   236  	xxx_messageInfo_GetContainerResponse.DiscardUnknown(m)
   237  }
   238  
   239  var xxx_messageInfo_GetContainerResponse proto.InternalMessageInfo
   240  
   241  type ListContainersRequest struct {
   242  	// Filters contains one or more filters using the syntax defined in the
   243  	// containerd filter package.
   244  	//
   245  	// The returned result will be those that match any of the provided
   246  	// filters. Expanded, containers that match the following will be
   247  	// returned:
   248  	//
   249  	//   filters[0] or filters[1] or ... or filters[n-1] or filters[n]
   250  	//
   251  	// If filters is zero-length or nil, all items will be returned.
   252  	Filters              []string `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
   253  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   254  	XXX_unrecognized     []byte   `json:"-"`
   255  	XXX_sizecache        int32    `json:"-"`
   256  }
   257  
   258  func (m *ListContainersRequest) Reset()      { *m = ListContainersRequest{} }
   259  func (*ListContainersRequest) ProtoMessage() {}
   260  func (*ListContainersRequest) Descriptor() ([]byte, []int) {
   261  	return fileDescriptor_311afb8e15951042, []int{3}
   262  }
   263  func (m *ListContainersRequest) XXX_Unmarshal(b []byte) error {
   264  	return m.Unmarshal(b)
   265  }
   266  func (m *ListContainersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   267  	if deterministic {
   268  		return xxx_messageInfo_ListContainersRequest.Marshal(b, m, deterministic)
   269  	} else {
   270  		b = b[:cap(b)]
   271  		n, err := m.MarshalToSizedBuffer(b)
   272  		if err != nil {
   273  			return nil, err
   274  		}
   275  		return b[:n], nil
   276  	}
   277  }
   278  func (m *ListContainersRequest) XXX_Merge(src proto.Message) {
   279  	xxx_messageInfo_ListContainersRequest.Merge(m, src)
   280  }
   281  func (m *ListContainersRequest) XXX_Size() int {
   282  	return m.Size()
   283  }
   284  func (m *ListContainersRequest) XXX_DiscardUnknown() {
   285  	xxx_messageInfo_ListContainersRequest.DiscardUnknown(m)
   286  }
   287  
   288  var xxx_messageInfo_ListContainersRequest proto.InternalMessageInfo
   289  
   290  type ListContainersResponse struct {
   291  	Containers           []Container `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers"`
   292  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   293  	XXX_unrecognized     []byte      `json:"-"`
   294  	XXX_sizecache        int32       `json:"-"`
   295  }
   296  
   297  func (m *ListContainersResponse) Reset()      { *m = ListContainersResponse{} }
   298  func (*ListContainersResponse) ProtoMessage() {}
   299  func (*ListContainersResponse) Descriptor() ([]byte, []int) {
   300  	return fileDescriptor_311afb8e15951042, []int{4}
   301  }
   302  func (m *ListContainersResponse) XXX_Unmarshal(b []byte) error {
   303  	return m.Unmarshal(b)
   304  }
   305  func (m *ListContainersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   306  	if deterministic {
   307  		return xxx_messageInfo_ListContainersResponse.Marshal(b, m, deterministic)
   308  	} else {
   309  		b = b[:cap(b)]
   310  		n, err := m.MarshalToSizedBuffer(b)
   311  		if err != nil {
   312  			return nil, err
   313  		}
   314  		return b[:n], nil
   315  	}
   316  }
   317  func (m *ListContainersResponse) XXX_Merge(src proto.Message) {
   318  	xxx_messageInfo_ListContainersResponse.Merge(m, src)
   319  }
   320  func (m *ListContainersResponse) XXX_Size() int {
   321  	return m.Size()
   322  }
   323  func (m *ListContainersResponse) XXX_DiscardUnknown() {
   324  	xxx_messageInfo_ListContainersResponse.DiscardUnknown(m)
   325  }
   326  
   327  var xxx_messageInfo_ListContainersResponse proto.InternalMessageInfo
   328  
   329  type CreateContainerRequest struct {
   330  	Container            Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container"`
   331  	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   332  	XXX_unrecognized     []byte    `json:"-"`
   333  	XXX_sizecache        int32     `json:"-"`
   334  }
   335  
   336  func (m *CreateContainerRequest) Reset()      { *m = CreateContainerRequest{} }
   337  func (*CreateContainerRequest) ProtoMessage() {}
   338  func (*CreateContainerRequest) Descriptor() ([]byte, []int) {
   339  	return fileDescriptor_311afb8e15951042, []int{5}
   340  }
   341  func (m *CreateContainerRequest) XXX_Unmarshal(b []byte) error {
   342  	return m.Unmarshal(b)
   343  }
   344  func (m *CreateContainerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   345  	if deterministic {
   346  		return xxx_messageInfo_CreateContainerRequest.Marshal(b, m, deterministic)
   347  	} else {
   348  		b = b[:cap(b)]
   349  		n, err := m.MarshalToSizedBuffer(b)
   350  		if err != nil {
   351  			return nil, err
   352  		}
   353  		return b[:n], nil
   354  	}
   355  }
   356  func (m *CreateContainerRequest) XXX_Merge(src proto.Message) {
   357  	xxx_messageInfo_CreateContainerRequest.Merge(m, src)
   358  }
   359  func (m *CreateContainerRequest) XXX_Size() int {
   360  	return m.Size()
   361  }
   362  func (m *CreateContainerRequest) XXX_DiscardUnknown() {
   363  	xxx_messageInfo_CreateContainerRequest.DiscardUnknown(m)
   364  }
   365  
   366  var xxx_messageInfo_CreateContainerRequest proto.InternalMessageInfo
   367  
   368  type CreateContainerResponse struct {
   369  	Container            Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container"`
   370  	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   371  	XXX_unrecognized     []byte    `json:"-"`
   372  	XXX_sizecache        int32     `json:"-"`
   373  }
   374  
   375  func (m *CreateContainerResponse) Reset()      { *m = CreateContainerResponse{} }
   376  func (*CreateContainerResponse) ProtoMessage() {}
   377  func (*CreateContainerResponse) Descriptor() ([]byte, []int) {
   378  	return fileDescriptor_311afb8e15951042, []int{6}
   379  }
   380  func (m *CreateContainerResponse) XXX_Unmarshal(b []byte) error {
   381  	return m.Unmarshal(b)
   382  }
   383  func (m *CreateContainerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   384  	if deterministic {
   385  		return xxx_messageInfo_CreateContainerResponse.Marshal(b, m, deterministic)
   386  	} else {
   387  		b = b[:cap(b)]
   388  		n, err := m.MarshalToSizedBuffer(b)
   389  		if err != nil {
   390  			return nil, err
   391  		}
   392  		return b[:n], nil
   393  	}
   394  }
   395  func (m *CreateContainerResponse) XXX_Merge(src proto.Message) {
   396  	xxx_messageInfo_CreateContainerResponse.Merge(m, src)
   397  }
   398  func (m *CreateContainerResponse) XXX_Size() int {
   399  	return m.Size()
   400  }
   401  func (m *CreateContainerResponse) XXX_DiscardUnknown() {
   402  	xxx_messageInfo_CreateContainerResponse.DiscardUnknown(m)
   403  }
   404  
   405  var xxx_messageInfo_CreateContainerResponse proto.InternalMessageInfo
   406  
   407  // UpdateContainerRequest updates the metadata on one or more container.
   408  //
   409  // The operation should follow semantics described in
   410  // https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/field-mask,
   411  // unless otherwise qualified.
   412  type UpdateContainerRequest struct {
   413  	// Container provides the target values, as declared by the mask, for the update.
   414  	//
   415  	// The ID field must be set.
   416  	Container Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container"`
   417  	// UpdateMask specifies which fields to perform the update on. If empty,
   418  	// the operation applies to all fields.
   419  	UpdateMask           *types.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   420  	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
   421  	XXX_unrecognized     []byte           `json:"-"`
   422  	XXX_sizecache        int32            `json:"-"`
   423  }
   424  
   425  func (m *UpdateContainerRequest) Reset()      { *m = UpdateContainerRequest{} }
   426  func (*UpdateContainerRequest) ProtoMessage() {}
   427  func (*UpdateContainerRequest) Descriptor() ([]byte, []int) {
   428  	return fileDescriptor_311afb8e15951042, []int{7}
   429  }
   430  func (m *UpdateContainerRequest) XXX_Unmarshal(b []byte) error {
   431  	return m.Unmarshal(b)
   432  }
   433  func (m *UpdateContainerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   434  	if deterministic {
   435  		return xxx_messageInfo_UpdateContainerRequest.Marshal(b, m, deterministic)
   436  	} else {
   437  		b = b[:cap(b)]
   438  		n, err := m.MarshalToSizedBuffer(b)
   439  		if err != nil {
   440  			return nil, err
   441  		}
   442  		return b[:n], nil
   443  	}
   444  }
   445  func (m *UpdateContainerRequest) XXX_Merge(src proto.Message) {
   446  	xxx_messageInfo_UpdateContainerRequest.Merge(m, src)
   447  }
   448  func (m *UpdateContainerRequest) XXX_Size() int {
   449  	return m.Size()
   450  }
   451  func (m *UpdateContainerRequest) XXX_DiscardUnknown() {
   452  	xxx_messageInfo_UpdateContainerRequest.DiscardUnknown(m)
   453  }
   454  
   455  var xxx_messageInfo_UpdateContainerRequest proto.InternalMessageInfo
   456  
   457  type UpdateContainerResponse struct {
   458  	Container            Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container"`
   459  	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   460  	XXX_unrecognized     []byte    `json:"-"`
   461  	XXX_sizecache        int32     `json:"-"`
   462  }
   463  
   464  func (m *UpdateContainerResponse) Reset()      { *m = UpdateContainerResponse{} }
   465  func (*UpdateContainerResponse) ProtoMessage() {}
   466  func (*UpdateContainerResponse) Descriptor() ([]byte, []int) {
   467  	return fileDescriptor_311afb8e15951042, []int{8}
   468  }
   469  func (m *UpdateContainerResponse) XXX_Unmarshal(b []byte) error {
   470  	return m.Unmarshal(b)
   471  }
   472  func (m *UpdateContainerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   473  	if deterministic {
   474  		return xxx_messageInfo_UpdateContainerResponse.Marshal(b, m, deterministic)
   475  	} else {
   476  		b = b[:cap(b)]
   477  		n, err := m.MarshalToSizedBuffer(b)
   478  		if err != nil {
   479  			return nil, err
   480  		}
   481  		return b[:n], nil
   482  	}
   483  }
   484  func (m *UpdateContainerResponse) XXX_Merge(src proto.Message) {
   485  	xxx_messageInfo_UpdateContainerResponse.Merge(m, src)
   486  }
   487  func (m *UpdateContainerResponse) XXX_Size() int {
   488  	return m.Size()
   489  }
   490  func (m *UpdateContainerResponse) XXX_DiscardUnknown() {
   491  	xxx_messageInfo_UpdateContainerResponse.DiscardUnknown(m)
   492  }
   493  
   494  var xxx_messageInfo_UpdateContainerResponse proto.InternalMessageInfo
   495  
   496  type DeleteContainerRequest struct {
   497  	ID                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   498  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   499  	XXX_unrecognized     []byte   `json:"-"`
   500  	XXX_sizecache        int32    `json:"-"`
   501  }
   502  
   503  func (m *DeleteContainerRequest) Reset()      { *m = DeleteContainerRequest{} }
   504  func (*DeleteContainerRequest) ProtoMessage() {}
   505  func (*DeleteContainerRequest) Descriptor() ([]byte, []int) {
   506  	return fileDescriptor_311afb8e15951042, []int{9}
   507  }
   508  func (m *DeleteContainerRequest) XXX_Unmarshal(b []byte) error {
   509  	return m.Unmarshal(b)
   510  }
   511  func (m *DeleteContainerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   512  	if deterministic {
   513  		return xxx_messageInfo_DeleteContainerRequest.Marshal(b, m, deterministic)
   514  	} else {
   515  		b = b[:cap(b)]
   516  		n, err := m.MarshalToSizedBuffer(b)
   517  		if err != nil {
   518  			return nil, err
   519  		}
   520  		return b[:n], nil
   521  	}
   522  }
   523  func (m *DeleteContainerRequest) XXX_Merge(src proto.Message) {
   524  	xxx_messageInfo_DeleteContainerRequest.Merge(m, src)
   525  }
   526  func (m *DeleteContainerRequest) XXX_Size() int {
   527  	return m.Size()
   528  }
   529  func (m *DeleteContainerRequest) XXX_DiscardUnknown() {
   530  	xxx_messageInfo_DeleteContainerRequest.DiscardUnknown(m)
   531  }
   532  
   533  var xxx_messageInfo_DeleteContainerRequest proto.InternalMessageInfo
   534  
   535  type ListContainerMessage struct {
   536  	Container            *Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
   537  	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   538  	XXX_unrecognized     []byte     `json:"-"`
   539  	XXX_sizecache        int32      `json:"-"`
   540  }
   541  
   542  func (m *ListContainerMessage) Reset()      { *m = ListContainerMessage{} }
   543  func (*ListContainerMessage) ProtoMessage() {}
   544  func (*ListContainerMessage) Descriptor() ([]byte, []int) {
   545  	return fileDescriptor_311afb8e15951042, []int{10}
   546  }
   547  func (m *ListContainerMessage) XXX_Unmarshal(b []byte) error {
   548  	return m.Unmarshal(b)
   549  }
   550  func (m *ListContainerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   551  	if deterministic {
   552  		return xxx_messageInfo_ListContainerMessage.Marshal(b, m, deterministic)
   553  	} else {
   554  		b = b[:cap(b)]
   555  		n, err := m.MarshalToSizedBuffer(b)
   556  		if err != nil {
   557  			return nil, err
   558  		}
   559  		return b[:n], nil
   560  	}
   561  }
   562  func (m *ListContainerMessage) XXX_Merge(src proto.Message) {
   563  	xxx_messageInfo_ListContainerMessage.Merge(m, src)
   564  }
   565  func (m *ListContainerMessage) XXX_Size() int {
   566  	return m.Size()
   567  }
   568  func (m *ListContainerMessage) XXX_DiscardUnknown() {
   569  	xxx_messageInfo_ListContainerMessage.DiscardUnknown(m)
   570  }
   571  
   572  var xxx_messageInfo_ListContainerMessage proto.InternalMessageInfo
   573  
   574  func init() {
   575  	proto.RegisterType((*Container)(nil), "containerd.services.containers.v1.Container")
   576  	proto.RegisterMapType((map[string]types.Any)(nil), "containerd.services.containers.v1.Container.ExtensionsEntry")
   577  	proto.RegisterMapType((map[string]string)(nil), "containerd.services.containers.v1.Container.LabelsEntry")
   578  	proto.RegisterType((*Container_Runtime)(nil), "containerd.services.containers.v1.Container.Runtime")
   579  	proto.RegisterType((*GetContainerRequest)(nil), "containerd.services.containers.v1.GetContainerRequest")
   580  	proto.RegisterType((*GetContainerResponse)(nil), "containerd.services.containers.v1.GetContainerResponse")
   581  	proto.RegisterType((*ListContainersRequest)(nil), "containerd.services.containers.v1.ListContainersRequest")
   582  	proto.RegisterType((*ListContainersResponse)(nil), "containerd.services.containers.v1.ListContainersResponse")
   583  	proto.RegisterType((*CreateContainerRequest)(nil), "containerd.services.containers.v1.CreateContainerRequest")
   584  	proto.RegisterType((*CreateContainerResponse)(nil), "containerd.services.containers.v1.CreateContainerResponse")
   585  	proto.RegisterType((*UpdateContainerRequest)(nil), "containerd.services.containers.v1.UpdateContainerRequest")
   586  	proto.RegisterType((*UpdateContainerResponse)(nil), "containerd.services.containers.v1.UpdateContainerResponse")
   587  	proto.RegisterType((*DeleteContainerRequest)(nil), "containerd.services.containers.v1.DeleteContainerRequest")
   588  	proto.RegisterType((*ListContainerMessage)(nil), "containerd.services.containers.v1.ListContainerMessage")
   589  }
   590  
   591  func init() {
   592  	proto.RegisterFile("github.com/containerd/containerd/api/services/containers/v1/containers.proto", fileDescriptor_311afb8e15951042)
   593  }
   594  
   595  var fileDescriptor_311afb8e15951042 = []byte{
   596  	// 820 bytes of a gzipped FileDescriptorProto
   597  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0x13, 0x49,
   598  	0x14, 0x75, 0xdb, 0x4e, 0x3b, 0xbe, 0x1e, 0x69, 0x46, 0x35, 0x1e, 0x4f, 0x4f, 0x8f, 0x64, 0x3b,
   599  	0x5e, 0x59, 0xa3, 0xa1, 0x9d, 0x18, 0x44, 0x5e, 0x6c, 0xe2, 0xbc, 0x04, 0x24, 0x28, 0xea, 0x80,
   600  	0x84, 0x60, 0x11, 0xda, 0x76, 0xc5, 0x69, 0xdc, 0x2f, 0xba, 0xca, 0x16, 0x16, 0x8b, 0xc0, 0x1f,
   601  	0xb0, 0xe3, 0x13, 0xf8, 0x95, 0x2c, 0x59, 0xb2, 0x0a, 0xc4, 0xe2, 0x43, 0x50, 0x57, 0x57, 0xbb,
   602  	0x3b, 0x7e, 0x80, 0x9d, 0x90, 0x5d, 0x5d, 0xd7, 0x3d, 0xf7, 0x9e, 0x3a, 0xb7, 0x4e, 0xb9, 0x61,
   603  	0xaf, 0xa5, 0xd3, 0x93, 0x4e, 0x5d, 0x69, 0xd8, 0x66, 0xa5, 0x61, 0x5b, 0x54, 0xd3, 0x2d, 0xec,
   604  	0x36, 0xa3, 0x4b, 0xcd, 0xd1, 0x2b, 0x04, 0xbb, 0x5d, 0xbd, 0x81, 0x49, 0xf8, 0x3b, 0xa9, 0x74,
   605  	0x97, 0x22, 0x91, 0xe2, 0xb8, 0x36, 0xb5, 0xd1, 0x42, 0x88, 0x53, 0x02, 0x8c, 0x12, 0xc9, 0xea,
   606  	0x2e, 0xc9, 0xd9, 0x96, 0xdd, 0xb2, 0x59, 0x76, 0xc5, 0x5b, 0xf9, 0x40, 0xf9, 0x9f, 0x96, 0x6d,
   607  	0xb7, 0x0c, 0x5c, 0x61, 0x51, 0xbd, 0x73, 0x5c, 0xd1, 0xac, 0x1e, 0xdf, 0xfa, 0x77, 0x78, 0x0b,
   608  	0x9b, 0x0e, 0x0d, 0x36, 0x8b, 0xc3, 0x9b, 0xc7, 0x3a, 0x36, 0x9a, 0x47, 0xa6, 0x46, 0xda, 0x3c,
   609  	0xa3, 0x30, 0x9c, 0x41, 0x75, 0x13, 0x13, 0xaa, 0x99, 0x8e, 0x9f, 0x50, 0xfa, 0x20, 0x42, 0x7a,
   610  	0x33, 0xa0, 0x88, 0x72, 0x10, 0xd7, 0x9b, 0x92, 0x50, 0x14, 0xca, 0xe9, 0x9a, 0xd8, 0x3f, 0x2f,
   611  	0xc4, 0xef, 0x6f, 0xa9, 0x71, 0xbd, 0x89, 0x0e, 0x40, 0x34, 0xb4, 0x3a, 0x36, 0x88, 0x14, 0x2f,
   612  	0x26, 0xca, 0x99, 0xea, 0x8a, 0xf2, 0xd3, 0xa3, 0x2a, 0x83, 0xaa, 0xca, 0x1e, 0x83, 0x6e, 0x5b,
   613  	0xd4, 0xed, 0xa9, 0xbc, 0x0e, 0xca, 0xc2, 0x9c, 0x6e, 0x6a, 0x2d, 0x2c, 0x25, 0xbc, 0x66, 0xaa,
   614  	0x1f, 0xa0, 0x47, 0x90, 0x72, 0x3b, 0x96, 0xc7, 0x51, 0x4a, 0x16, 0x85, 0x72, 0xa6, 0x7a, 0x67,
   615  	0xa6, 0x46, 0xaa, 0x8f, 0x55, 0x83, 0x22, 0xa8, 0x0c, 0x49, 0xe2, 0xe0, 0x86, 0x34, 0xc7, 0x8a,
   616  	0x65, 0x15, 0x5f, 0x0d, 0x25, 0x50, 0x43, 0xd9, 0xb0, 0x7a, 0x2a, 0xcb, 0x40, 0x45, 0xc8, 0x10,
   617  	0x4b, 0x73, 0xc8, 0x89, 0x4d, 0x29, 0x76, 0x25, 0x91, 0xb1, 0x8a, 0xfe, 0x84, 0x16, 0xe0, 0xb7,
   618  	0x20, 0x3c, 0x6a, 0xe3, 0x9e, 0x94, 0xba, 0x9c, 0xf2, 0x10, 0xf7, 0xd0, 0x26, 0x40, 0xc3, 0xc5,
   619  	0x1a, 0xc5, 0xcd, 0x23, 0x8d, 0x4a, 0xf3, 0xac, 0xa9, 0x3c, 0xd2, 0xf4, 0x71, 0x30, 0x82, 0xda,
   620  	0xfc, 0xd9, 0x79, 0x21, 0xf6, 0xfe, 0x4b, 0x41, 0x50, 0xd3, 0x1c, 0xb7, 0x41, 0xbd, 0x22, 0x1d,
   621  	0xa7, 0x19, 0x14, 0x49, 0xcf, 0x52, 0x84, 0xe3, 0x36, 0x28, 0xaa, 0x03, 0xe0, 0xd7, 0x14, 0x5b,
   622  	0x44, 0xb7, 0x2d, 0x22, 0x01, 0x1b, 0xda, 0xbd, 0x99, 0xb4, 0xdc, 0x1e, 0xc0, 0xd9, 0xe0, 0x6a,
   623  	0x49, 0xaf, 0x8d, 0x1a, 0xa9, 0x2a, 0xaf, 0x42, 0x26, 0x32, 0x59, 0xf4, 0x07, 0x24, 0x3c, 0x59,
   624  	0xd8, 0xe5, 0x51, 0xbd, 0xa5, 0x37, 0xe3, 0xae, 0x66, 0x74, 0xb0, 0x14, 0xf7, 0x67, 0xcc, 0x82,
   625  	0xb5, 0xf8, 0x8a, 0x20, 0xef, 0x43, 0x8a, 0xcf, 0x0a, 0x21, 0x48, 0x5a, 0x9a, 0x89, 0x39, 0x8e,
   626  	0xad, 0x91, 0x02, 0x29, 0xdb, 0xa1, 0x8c, 0x7a, 0xfc, 0x07, 0x93, 0x0b, 0x92, 0xe4, 0x43, 0xf8,
   627  	0x7d, 0x88, 0xee, 0x18, 0x36, 0xff, 0x45, 0xd9, 0x4c, 0x2a, 0x19, 0x72, 0x2c, 0xdd, 0x82, 0x3f,
   628  	0x77, 0x31, 0x1d, 0x08, 0xa2, 0xe2, 0x57, 0x1d, 0x4c, 0xe8, 0x24, 0x8b, 0x94, 0x4e, 0x20, 0x7b,
   629  	0x39, 0x9d, 0x38, 0xb6, 0x45, 0x30, 0x3a, 0x80, 0xf4, 0x40, 0x62, 0x06, 0xcb, 0x54, 0xff, 0x9f,
   630  	0x65, 0x10, 0x5c, 0xf8, 0xb0, 0x48, 0x69, 0x09, 0xfe, 0xda, 0xd3, 0x49, 0xd8, 0x8a, 0x04, 0xd4,
   631  	0x24, 0x48, 0x1d, 0xeb, 0x06, 0xc5, 0x2e, 0x91, 0x84, 0x62, 0xa2, 0x9c, 0x56, 0x83, 0xb0, 0x64,
   632  	0x40, 0x6e, 0x18, 0xc2, 0xe9, 0xa9, 0x00, 0x61, 0x63, 0x06, 0xbb, 0x1a, 0xbf, 0x48, 0x95, 0xd2,
   633  	0x4b, 0xc8, 0x6d, 0xb2, 0xeb, 0x3c, 0x22, 0xde, 0xaf, 0x17, 0xa3, 0x0d, 0x7f, 0x8f, 0xf4, 0xba,
   634  	0x31, 0xe5, 0x3f, 0x0a, 0x90, 0x7b, 0xc2, 0x3c, 0x76, 0xf3, 0x27, 0x43, 0xeb, 0x90, 0xf1, 0xfd,
   635  	0xcc, 0xde, 0x73, 0x7e, 0x6b, 0x47, 0x1f, 0x82, 0x1d, 0xef, 0xc9, 0xdf, 0xd7, 0x48, 0x5b, 0xe5,
   636  	0xcf, 0x86, 0xb7, 0xf6, 0x64, 0x19, 0x21, 0x7a, 0x63, 0xb2, 0x2c, 0x42, 0x6e, 0x0b, 0x1b, 0x78,
   637  	0x8c, 0x2a, 0x93, 0xcc, 0x52, 0x87, 0xec, 0xa5, 0xfb, 0xb8, 0x8f, 0x09, 0xf1, 0xde, 0xff, 0x07,
   638  	0xd7, 0xe4, 0x16, 0x61, 0x55, 0xfd, 0x36, 0x07, 0x10, 0x5e, 0x78, 0xd4, 0x85, 0xc4, 0x2e, 0xa6,
   639  	0xe8, 0xee, 0x14, 0xe5, 0xc6, 0xd8, 0x5e, 0x5e, 0x9e, 0x19, 0xc7, 0xe5, 0x7e, 0x03, 0x49, 0xef,
   640  	0xa8, 0x68, 0x9a, 0xbf, 0xcc, 0xb1, 0xb6, 0x96, 0x57, 0xaf, 0x80, 0xe4, 0xcd, 0xdf, 0x09, 0x00,
   641  	0xde, 0xd6, 0x21, 0x75, 0xb1, 0x66, 0x5e, 0x83, 0xc3, 0xf2, 0xac, 0x48, 0x3e, 0xd1, 0x45, 0x01,
   642  	0x9d, 0x82, 0xe8, 0x3b, 0x14, 0x4d, 0x73, 0x90, 0xf1, 0x0f, 0x87, 0xbc, 0x76, 0x15, 0x28, 0x17,
   643  	0xe1, 0x14, 0x44, 0xdf, 0x0b, 0x53, 0x11, 0x18, 0xef, 0xef, 0xa9, 0x08, 0x4c, 0x72, 0xdc, 0x73,
   644  	0x10, 0x7d, 0x7f, 0x4c, 0x45, 0x60, 0xbc, 0x95, 0xe4, 0xdc, 0x88, 0xf3, 0xb7, 0xbd, 0x2f, 0xc1,
   645  	0xda, 0x8b, 0xb3, 0x8b, 0x7c, 0xec, 0xf3, 0x45, 0x3e, 0xf6, 0xb6, 0x9f, 0x17, 0xce, 0xfa, 0x79,
   646  	0xe1, 0x53, 0x3f, 0x2f, 0x7c, 0xed, 0xe7, 0x85, 0x67, 0x3b, 0xd7, 0xf8, 0xb8, 0x5d, 0x0f, 0xa3,
   647  	0xa7, 0xb1, 0xba, 0xc8, 0x7a, 0xde, 0xfe, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xae, 0xca, 0xcb,
   648  	0x2f, 0x0b, 0x00, 0x00,
   649  }
   650  
   651  // Reference imports to suppress errors if they are not otherwise used.
   652  var _ context.Context
   653  var _ grpc.ClientConn
   654  
   655  // This is a compile-time assertion to ensure that this generated file
   656  // is compatible with the grpc package it is being compiled against.
   657  const _ = grpc.SupportPackageIsVersion4
   658  
   659  // ContainersClient is the client API for Containers service.
   660  //
   661  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   662  type ContainersClient interface {
   663  	Get(ctx context.Context, in *GetContainerRequest, opts ...grpc.CallOption) (*GetContainerResponse, error)
   664  	List(ctx context.Context, in *ListContainersRequest, opts ...grpc.CallOption) (*ListContainersResponse, error)
   665  	ListStream(ctx context.Context, in *ListContainersRequest, opts ...grpc.CallOption) (Containers_ListStreamClient, error)
   666  	Create(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error)
   667  	Update(ctx context.Context, in *UpdateContainerRequest, opts ...grpc.CallOption) (*UpdateContainerResponse, error)
   668  	Delete(ctx context.Context, in *DeleteContainerRequest, opts ...grpc.CallOption) (*types.Empty, error)
   669  }
   670  
   671  type containersClient struct {
   672  	cc *grpc.ClientConn
   673  }
   674  
   675  func NewContainersClient(cc *grpc.ClientConn) ContainersClient {
   676  	return &containersClient{cc}
   677  }
   678  
   679  func (c *containersClient) Get(ctx context.Context, in *GetContainerRequest, opts ...grpc.CallOption) (*GetContainerResponse, error) {
   680  	out := new(GetContainerResponse)
   681  	err := c.cc.Invoke(ctx, "/containerd.services.containers.v1.Containers/Get", in, out, opts...)
   682  	if err != nil {
   683  		return nil, err
   684  	}
   685  	return out, nil
   686  }
   687  
   688  func (c *containersClient) List(ctx context.Context, in *ListContainersRequest, opts ...grpc.CallOption) (*ListContainersResponse, error) {
   689  	out := new(ListContainersResponse)
   690  	err := c.cc.Invoke(ctx, "/containerd.services.containers.v1.Containers/List", in, out, opts...)
   691  	if err != nil {
   692  		return nil, err
   693  	}
   694  	return out, nil
   695  }
   696  
   697  func (c *containersClient) ListStream(ctx context.Context, in *ListContainersRequest, opts ...grpc.CallOption) (Containers_ListStreamClient, error) {
   698  	stream, err := c.cc.NewStream(ctx, &_Containers_serviceDesc.Streams[0], "/containerd.services.containers.v1.Containers/ListStream", opts...)
   699  	if err != nil {
   700  		return nil, err
   701  	}
   702  	x := &containersListStreamClient{stream}
   703  	if err := x.ClientStream.SendMsg(in); err != nil {
   704  		return nil, err
   705  	}
   706  	if err := x.ClientStream.CloseSend(); err != nil {
   707  		return nil, err
   708  	}
   709  	return x, nil
   710  }
   711  
   712  type Containers_ListStreamClient interface {
   713  	Recv() (*ListContainerMessage, error)
   714  	grpc.ClientStream
   715  }
   716  
   717  type containersListStreamClient struct {
   718  	grpc.ClientStream
   719  }
   720  
   721  func (x *containersListStreamClient) Recv() (*ListContainerMessage, error) {
   722  	m := new(ListContainerMessage)
   723  	if err := x.ClientStream.RecvMsg(m); err != nil {
   724  		return nil, err
   725  	}
   726  	return m, nil
   727  }
   728  
   729  func (c *containersClient) Create(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) {
   730  	out := new(CreateContainerResponse)
   731  	err := c.cc.Invoke(ctx, "/containerd.services.containers.v1.Containers/Create", in, out, opts...)
   732  	if err != nil {
   733  		return nil, err
   734  	}
   735  	return out, nil
   736  }
   737  
   738  func (c *containersClient) Update(ctx context.Context, in *UpdateContainerRequest, opts ...grpc.CallOption) (*UpdateContainerResponse, error) {
   739  	out := new(UpdateContainerResponse)
   740  	err := c.cc.Invoke(ctx, "/containerd.services.containers.v1.Containers/Update", in, out, opts...)
   741  	if err != nil {
   742  		return nil, err
   743  	}
   744  	return out, nil
   745  }
   746  
   747  func (c *containersClient) Delete(ctx context.Context, in *DeleteContainerRequest, opts ...grpc.CallOption) (*types.Empty, error) {
   748  	out := new(types.Empty)
   749  	err := c.cc.Invoke(ctx, "/containerd.services.containers.v1.Containers/Delete", in, out, opts...)
   750  	if err != nil {
   751  		return nil, err
   752  	}
   753  	return out, nil
   754  }
   755  
   756  // ContainersServer is the server API for Containers service.
   757  type ContainersServer interface {
   758  	Get(context.Context, *GetContainerRequest) (*GetContainerResponse, error)
   759  	List(context.Context, *ListContainersRequest) (*ListContainersResponse, error)
   760  	ListStream(*ListContainersRequest, Containers_ListStreamServer) error
   761  	Create(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error)
   762  	Update(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error)
   763  	Delete(context.Context, *DeleteContainerRequest) (*types.Empty, error)
   764  }
   765  
   766  // UnimplementedContainersServer can be embedded to have forward compatible implementations.
   767  type UnimplementedContainersServer struct {
   768  }
   769  
   770  func (*UnimplementedContainersServer) Get(ctx context.Context, req *GetContainerRequest) (*GetContainerResponse, error) {
   771  	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
   772  }
   773  func (*UnimplementedContainersServer) List(ctx context.Context, req *ListContainersRequest) (*ListContainersResponse, error) {
   774  	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
   775  }
   776  func (*UnimplementedContainersServer) ListStream(req *ListContainersRequest, srv Containers_ListStreamServer) error {
   777  	return status.Errorf(codes.Unimplemented, "method ListStream not implemented")
   778  }
   779  func (*UnimplementedContainersServer) Create(ctx context.Context, req *CreateContainerRequest) (*CreateContainerResponse, error) {
   780  	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
   781  }
   782  func (*UnimplementedContainersServer) Update(ctx context.Context, req *UpdateContainerRequest) (*UpdateContainerResponse, error) {
   783  	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
   784  }
   785  func (*UnimplementedContainersServer) Delete(ctx context.Context, req *DeleteContainerRequest) (*types.Empty, error) {
   786  	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
   787  }
   788  
   789  func RegisterContainersServer(s *grpc.Server, srv ContainersServer) {
   790  	s.RegisterService(&_Containers_serviceDesc, srv)
   791  }
   792  
   793  func _Containers_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   794  	in := new(GetContainerRequest)
   795  	if err := dec(in); err != nil {
   796  		return nil, err
   797  	}
   798  	if interceptor == nil {
   799  		return srv.(ContainersServer).Get(ctx, in)
   800  	}
   801  	info := &grpc.UnaryServerInfo{
   802  		Server:     srv,
   803  		FullMethod: "/containerd.services.containers.v1.Containers/Get",
   804  	}
   805  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   806  		return srv.(ContainersServer).Get(ctx, req.(*GetContainerRequest))
   807  	}
   808  	return interceptor(ctx, in, info, handler)
   809  }
   810  
   811  func _Containers_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   812  	in := new(ListContainersRequest)
   813  	if err := dec(in); err != nil {
   814  		return nil, err
   815  	}
   816  	if interceptor == nil {
   817  		return srv.(ContainersServer).List(ctx, in)
   818  	}
   819  	info := &grpc.UnaryServerInfo{
   820  		Server:     srv,
   821  		FullMethod: "/containerd.services.containers.v1.Containers/List",
   822  	}
   823  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   824  		return srv.(ContainersServer).List(ctx, req.(*ListContainersRequest))
   825  	}
   826  	return interceptor(ctx, in, info, handler)
   827  }
   828  
   829  func _Containers_ListStream_Handler(srv interface{}, stream grpc.ServerStream) error {
   830  	m := new(ListContainersRequest)
   831  	if err := stream.RecvMsg(m); err != nil {
   832  		return err
   833  	}
   834  	return srv.(ContainersServer).ListStream(m, &containersListStreamServer{stream})
   835  }
   836  
   837  type Containers_ListStreamServer interface {
   838  	Send(*ListContainerMessage) error
   839  	grpc.ServerStream
   840  }
   841  
   842  type containersListStreamServer struct {
   843  	grpc.ServerStream
   844  }
   845  
   846  func (x *containersListStreamServer) Send(m *ListContainerMessage) error {
   847  	return x.ServerStream.SendMsg(m)
   848  }
   849  
   850  func _Containers_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   851  	in := new(CreateContainerRequest)
   852  	if err := dec(in); err != nil {
   853  		return nil, err
   854  	}
   855  	if interceptor == nil {
   856  		return srv.(ContainersServer).Create(ctx, in)
   857  	}
   858  	info := &grpc.UnaryServerInfo{
   859  		Server:     srv,
   860  		FullMethod: "/containerd.services.containers.v1.Containers/Create",
   861  	}
   862  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   863  		return srv.(ContainersServer).Create(ctx, req.(*CreateContainerRequest))
   864  	}
   865  	return interceptor(ctx, in, info, handler)
   866  }
   867  
   868  func _Containers_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   869  	in := new(UpdateContainerRequest)
   870  	if err := dec(in); err != nil {
   871  		return nil, err
   872  	}
   873  	if interceptor == nil {
   874  		return srv.(ContainersServer).Update(ctx, in)
   875  	}
   876  	info := &grpc.UnaryServerInfo{
   877  		Server:     srv,
   878  		FullMethod: "/containerd.services.containers.v1.Containers/Update",
   879  	}
   880  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   881  		return srv.(ContainersServer).Update(ctx, req.(*UpdateContainerRequest))
   882  	}
   883  	return interceptor(ctx, in, info, handler)
   884  }
   885  
   886  func _Containers_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   887  	in := new(DeleteContainerRequest)
   888  	if err := dec(in); err != nil {
   889  		return nil, err
   890  	}
   891  	if interceptor == nil {
   892  		return srv.(ContainersServer).Delete(ctx, in)
   893  	}
   894  	info := &grpc.UnaryServerInfo{
   895  		Server:     srv,
   896  		FullMethod: "/containerd.services.containers.v1.Containers/Delete",
   897  	}
   898  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   899  		return srv.(ContainersServer).Delete(ctx, req.(*DeleteContainerRequest))
   900  	}
   901  	return interceptor(ctx, in, info, handler)
   902  }
   903  
   904  var _Containers_serviceDesc = grpc.ServiceDesc{
   905  	ServiceName: "containerd.services.containers.v1.Containers",
   906  	HandlerType: (*ContainersServer)(nil),
   907  	Methods: []grpc.MethodDesc{
   908  		{
   909  			MethodName: "Get",
   910  			Handler:    _Containers_Get_Handler,
   911  		},
   912  		{
   913  			MethodName: "List",
   914  			Handler:    _Containers_List_Handler,
   915  		},
   916  		{
   917  			MethodName: "Create",
   918  			Handler:    _Containers_Create_Handler,
   919  		},
   920  		{
   921  			MethodName: "Update",
   922  			Handler:    _Containers_Update_Handler,
   923  		},
   924  		{
   925  			MethodName: "Delete",
   926  			Handler:    _Containers_Delete_Handler,
   927  		},
   928  	},
   929  	Streams: []grpc.StreamDesc{
   930  		{
   931  			StreamName:    "ListStream",
   932  			Handler:       _Containers_ListStream_Handler,
   933  			ServerStreams: true,
   934  		},
   935  	},
   936  	Metadata: "github.com/containerd/containerd/api/services/containers/v1/containers.proto",
   937  }
   938  
   939  func (m *Container) Marshal() (dAtA []byte, err error) {
   940  	size := m.Size()
   941  	dAtA = make([]byte, size)
   942  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   943  	if err != nil {
   944  		return nil, err
   945  	}
   946  	return dAtA[:n], nil
   947  }
   948  
   949  func (m *Container) MarshalTo(dAtA []byte) (int, error) {
   950  	size := m.Size()
   951  	return m.MarshalToSizedBuffer(dAtA[:size])
   952  }
   953  
   954  func (m *Container) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   955  	i := len(dAtA)
   956  	_ = i
   957  	var l int
   958  	_ = l
   959  	if m.XXX_unrecognized != nil {
   960  		i -= len(m.XXX_unrecognized)
   961  		copy(dAtA[i:], m.XXX_unrecognized)
   962  	}
   963  	if len(m.Extensions) > 0 {
   964  		for k := range m.Extensions {
   965  			v := m.Extensions[k]
   966  			baseI := i
   967  			{
   968  				size, err := (&v).MarshalToSizedBuffer(dAtA[:i])
   969  				if err != nil {
   970  					return 0, err
   971  				}
   972  				i -= size
   973  				i = encodeVarintContainers(dAtA, i, uint64(size))
   974  			}
   975  			i--
   976  			dAtA[i] = 0x12
   977  			i -= len(k)
   978  			copy(dAtA[i:], k)
   979  			i = encodeVarintContainers(dAtA, i, uint64(len(k)))
   980  			i--
   981  			dAtA[i] = 0xa
   982  			i = encodeVarintContainers(dAtA, i, uint64(baseI-i))
   983  			i--
   984  			dAtA[i] = 0x52
   985  		}
   986  	}
   987  	n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt):])
   988  	if err2 != nil {
   989  		return 0, err2
   990  	}
   991  	i -= n2
   992  	i = encodeVarintContainers(dAtA, i, uint64(n2))
   993  	i--
   994  	dAtA[i] = 0x4a
   995  	n3, err3 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt):])
   996  	if err3 != nil {
   997  		return 0, err3
   998  	}
   999  	i -= n3
  1000  	i = encodeVarintContainers(dAtA, i, uint64(n3))
  1001  	i--
  1002  	dAtA[i] = 0x42
  1003  	if len(m.SnapshotKey) > 0 {
  1004  		i -= len(m.SnapshotKey)
  1005  		copy(dAtA[i:], m.SnapshotKey)
  1006  		i = encodeVarintContainers(dAtA, i, uint64(len(m.SnapshotKey)))
  1007  		i--
  1008  		dAtA[i] = 0x3a
  1009  	}
  1010  	if len(m.Snapshotter) > 0 {
  1011  		i -= len(m.Snapshotter)
  1012  		copy(dAtA[i:], m.Snapshotter)
  1013  		i = encodeVarintContainers(dAtA, i, uint64(len(m.Snapshotter)))
  1014  		i--
  1015  		dAtA[i] = 0x32
  1016  	}
  1017  	if m.Spec != nil {
  1018  		{
  1019  			size, err := m.Spec.MarshalToSizedBuffer(dAtA[:i])
  1020  			if err != nil {
  1021  				return 0, err
  1022  			}
  1023  			i -= size
  1024  			i = encodeVarintContainers(dAtA, i, uint64(size))
  1025  		}
  1026  		i--
  1027  		dAtA[i] = 0x2a
  1028  	}
  1029  	if m.Runtime != nil {
  1030  		{
  1031  			size, err := m.Runtime.MarshalToSizedBuffer(dAtA[:i])
  1032  			if err != nil {
  1033  				return 0, err
  1034  			}
  1035  			i -= size
  1036  			i = encodeVarintContainers(dAtA, i, uint64(size))
  1037  		}
  1038  		i--
  1039  		dAtA[i] = 0x22
  1040  	}
  1041  	if len(m.Image) > 0 {
  1042  		i -= len(m.Image)
  1043  		copy(dAtA[i:], m.Image)
  1044  		i = encodeVarintContainers(dAtA, i, uint64(len(m.Image)))
  1045  		i--
  1046  		dAtA[i] = 0x1a
  1047  	}
  1048  	if len(m.Labels) > 0 {
  1049  		for k := range m.Labels {
  1050  			v := m.Labels[k]
  1051  			baseI := i
  1052  			i -= len(v)
  1053  			copy(dAtA[i:], v)
  1054  			i = encodeVarintContainers(dAtA, i, uint64(len(v)))
  1055  			i--
  1056  			dAtA[i] = 0x12
  1057  			i -= len(k)
  1058  			copy(dAtA[i:], k)
  1059  			i = encodeVarintContainers(dAtA, i, uint64(len(k)))
  1060  			i--
  1061  			dAtA[i] = 0xa
  1062  			i = encodeVarintContainers(dAtA, i, uint64(baseI-i))
  1063  			i--
  1064  			dAtA[i] = 0x12
  1065  		}
  1066  	}
  1067  	if len(m.ID) > 0 {
  1068  		i -= len(m.ID)
  1069  		copy(dAtA[i:], m.ID)
  1070  		i = encodeVarintContainers(dAtA, i, uint64(len(m.ID)))
  1071  		i--
  1072  		dAtA[i] = 0xa
  1073  	}
  1074  	return len(dAtA) - i, nil
  1075  }
  1076  
  1077  func (m *Container_Runtime) Marshal() (dAtA []byte, err error) {
  1078  	size := m.Size()
  1079  	dAtA = make([]byte, size)
  1080  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1081  	if err != nil {
  1082  		return nil, err
  1083  	}
  1084  	return dAtA[:n], nil
  1085  }
  1086  
  1087  func (m *Container_Runtime) MarshalTo(dAtA []byte) (int, error) {
  1088  	size := m.Size()
  1089  	return m.MarshalToSizedBuffer(dAtA[:size])
  1090  }
  1091  
  1092  func (m *Container_Runtime) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1093  	i := len(dAtA)
  1094  	_ = i
  1095  	var l int
  1096  	_ = l
  1097  	if m.XXX_unrecognized != nil {
  1098  		i -= len(m.XXX_unrecognized)
  1099  		copy(dAtA[i:], m.XXX_unrecognized)
  1100  	}
  1101  	if m.Options != nil {
  1102  		{
  1103  			size, err := m.Options.MarshalToSizedBuffer(dAtA[:i])
  1104  			if err != nil {
  1105  				return 0, err
  1106  			}
  1107  			i -= size
  1108  			i = encodeVarintContainers(dAtA, i, uint64(size))
  1109  		}
  1110  		i--
  1111  		dAtA[i] = 0x12
  1112  	}
  1113  	if len(m.Name) > 0 {
  1114  		i -= len(m.Name)
  1115  		copy(dAtA[i:], m.Name)
  1116  		i = encodeVarintContainers(dAtA, i, uint64(len(m.Name)))
  1117  		i--
  1118  		dAtA[i] = 0xa
  1119  	}
  1120  	return len(dAtA) - i, nil
  1121  }
  1122  
  1123  func (m *GetContainerRequest) Marshal() (dAtA []byte, err error) {
  1124  	size := m.Size()
  1125  	dAtA = make([]byte, size)
  1126  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1127  	if err != nil {
  1128  		return nil, err
  1129  	}
  1130  	return dAtA[:n], nil
  1131  }
  1132  
  1133  func (m *GetContainerRequest) MarshalTo(dAtA []byte) (int, error) {
  1134  	size := m.Size()
  1135  	return m.MarshalToSizedBuffer(dAtA[:size])
  1136  }
  1137  
  1138  func (m *GetContainerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1139  	i := len(dAtA)
  1140  	_ = i
  1141  	var l int
  1142  	_ = l
  1143  	if m.XXX_unrecognized != nil {
  1144  		i -= len(m.XXX_unrecognized)
  1145  		copy(dAtA[i:], m.XXX_unrecognized)
  1146  	}
  1147  	if len(m.ID) > 0 {
  1148  		i -= len(m.ID)
  1149  		copy(dAtA[i:], m.ID)
  1150  		i = encodeVarintContainers(dAtA, i, uint64(len(m.ID)))
  1151  		i--
  1152  		dAtA[i] = 0xa
  1153  	}
  1154  	return len(dAtA) - i, nil
  1155  }
  1156  
  1157  func (m *GetContainerResponse) Marshal() (dAtA []byte, err error) {
  1158  	size := m.Size()
  1159  	dAtA = make([]byte, size)
  1160  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1161  	if err != nil {
  1162  		return nil, err
  1163  	}
  1164  	return dAtA[:n], nil
  1165  }
  1166  
  1167  func (m *GetContainerResponse) MarshalTo(dAtA []byte) (int, error) {
  1168  	size := m.Size()
  1169  	return m.MarshalToSizedBuffer(dAtA[:size])
  1170  }
  1171  
  1172  func (m *GetContainerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1173  	i := len(dAtA)
  1174  	_ = i
  1175  	var l int
  1176  	_ = l
  1177  	if m.XXX_unrecognized != nil {
  1178  		i -= len(m.XXX_unrecognized)
  1179  		copy(dAtA[i:], m.XXX_unrecognized)
  1180  	}
  1181  	{
  1182  		size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1183  		if err != nil {
  1184  			return 0, err
  1185  		}
  1186  		i -= size
  1187  		i = encodeVarintContainers(dAtA, i, uint64(size))
  1188  	}
  1189  	i--
  1190  	dAtA[i] = 0xa
  1191  	return len(dAtA) - i, nil
  1192  }
  1193  
  1194  func (m *ListContainersRequest) Marshal() (dAtA []byte, err error) {
  1195  	size := m.Size()
  1196  	dAtA = make([]byte, size)
  1197  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1198  	if err != nil {
  1199  		return nil, err
  1200  	}
  1201  	return dAtA[:n], nil
  1202  }
  1203  
  1204  func (m *ListContainersRequest) MarshalTo(dAtA []byte) (int, error) {
  1205  	size := m.Size()
  1206  	return m.MarshalToSizedBuffer(dAtA[:size])
  1207  }
  1208  
  1209  func (m *ListContainersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1210  	i := len(dAtA)
  1211  	_ = i
  1212  	var l int
  1213  	_ = l
  1214  	if m.XXX_unrecognized != nil {
  1215  		i -= len(m.XXX_unrecognized)
  1216  		copy(dAtA[i:], m.XXX_unrecognized)
  1217  	}
  1218  	if len(m.Filters) > 0 {
  1219  		for iNdEx := len(m.Filters) - 1; iNdEx >= 0; iNdEx-- {
  1220  			i -= len(m.Filters[iNdEx])
  1221  			copy(dAtA[i:], m.Filters[iNdEx])
  1222  			i = encodeVarintContainers(dAtA, i, uint64(len(m.Filters[iNdEx])))
  1223  			i--
  1224  			dAtA[i] = 0xa
  1225  		}
  1226  	}
  1227  	return len(dAtA) - i, nil
  1228  }
  1229  
  1230  func (m *ListContainersResponse) Marshal() (dAtA []byte, err error) {
  1231  	size := m.Size()
  1232  	dAtA = make([]byte, size)
  1233  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1234  	if err != nil {
  1235  		return nil, err
  1236  	}
  1237  	return dAtA[:n], nil
  1238  }
  1239  
  1240  func (m *ListContainersResponse) MarshalTo(dAtA []byte) (int, error) {
  1241  	size := m.Size()
  1242  	return m.MarshalToSizedBuffer(dAtA[:size])
  1243  }
  1244  
  1245  func (m *ListContainersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1246  	i := len(dAtA)
  1247  	_ = i
  1248  	var l int
  1249  	_ = l
  1250  	if m.XXX_unrecognized != nil {
  1251  		i -= len(m.XXX_unrecognized)
  1252  		copy(dAtA[i:], m.XXX_unrecognized)
  1253  	}
  1254  	if len(m.Containers) > 0 {
  1255  		for iNdEx := len(m.Containers) - 1; iNdEx >= 0; iNdEx-- {
  1256  			{
  1257  				size, err := m.Containers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1258  				if err != nil {
  1259  					return 0, err
  1260  				}
  1261  				i -= size
  1262  				i = encodeVarintContainers(dAtA, i, uint64(size))
  1263  			}
  1264  			i--
  1265  			dAtA[i] = 0xa
  1266  		}
  1267  	}
  1268  	return len(dAtA) - i, nil
  1269  }
  1270  
  1271  func (m *CreateContainerRequest) Marshal() (dAtA []byte, err error) {
  1272  	size := m.Size()
  1273  	dAtA = make([]byte, size)
  1274  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1275  	if err != nil {
  1276  		return nil, err
  1277  	}
  1278  	return dAtA[:n], nil
  1279  }
  1280  
  1281  func (m *CreateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
  1282  	size := m.Size()
  1283  	return m.MarshalToSizedBuffer(dAtA[:size])
  1284  }
  1285  
  1286  func (m *CreateContainerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1287  	i := len(dAtA)
  1288  	_ = i
  1289  	var l int
  1290  	_ = l
  1291  	if m.XXX_unrecognized != nil {
  1292  		i -= len(m.XXX_unrecognized)
  1293  		copy(dAtA[i:], m.XXX_unrecognized)
  1294  	}
  1295  	{
  1296  		size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1297  		if err != nil {
  1298  			return 0, err
  1299  		}
  1300  		i -= size
  1301  		i = encodeVarintContainers(dAtA, i, uint64(size))
  1302  	}
  1303  	i--
  1304  	dAtA[i] = 0xa
  1305  	return len(dAtA) - i, nil
  1306  }
  1307  
  1308  func (m *CreateContainerResponse) Marshal() (dAtA []byte, err error) {
  1309  	size := m.Size()
  1310  	dAtA = make([]byte, size)
  1311  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1312  	if err != nil {
  1313  		return nil, err
  1314  	}
  1315  	return dAtA[:n], nil
  1316  }
  1317  
  1318  func (m *CreateContainerResponse) MarshalTo(dAtA []byte) (int, error) {
  1319  	size := m.Size()
  1320  	return m.MarshalToSizedBuffer(dAtA[:size])
  1321  }
  1322  
  1323  func (m *CreateContainerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1324  	i := len(dAtA)
  1325  	_ = i
  1326  	var l int
  1327  	_ = l
  1328  	if m.XXX_unrecognized != nil {
  1329  		i -= len(m.XXX_unrecognized)
  1330  		copy(dAtA[i:], m.XXX_unrecognized)
  1331  	}
  1332  	{
  1333  		size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1334  		if err != nil {
  1335  			return 0, err
  1336  		}
  1337  		i -= size
  1338  		i = encodeVarintContainers(dAtA, i, uint64(size))
  1339  	}
  1340  	i--
  1341  	dAtA[i] = 0xa
  1342  	return len(dAtA) - i, nil
  1343  }
  1344  
  1345  func (m *UpdateContainerRequest) Marshal() (dAtA []byte, err error) {
  1346  	size := m.Size()
  1347  	dAtA = make([]byte, size)
  1348  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1349  	if err != nil {
  1350  		return nil, err
  1351  	}
  1352  	return dAtA[:n], nil
  1353  }
  1354  
  1355  func (m *UpdateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
  1356  	size := m.Size()
  1357  	return m.MarshalToSizedBuffer(dAtA[:size])
  1358  }
  1359  
  1360  func (m *UpdateContainerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1361  	i := len(dAtA)
  1362  	_ = i
  1363  	var l int
  1364  	_ = l
  1365  	if m.XXX_unrecognized != nil {
  1366  		i -= len(m.XXX_unrecognized)
  1367  		copy(dAtA[i:], m.XXX_unrecognized)
  1368  	}
  1369  	if m.UpdateMask != nil {
  1370  		{
  1371  			size, err := m.UpdateMask.MarshalToSizedBuffer(dAtA[:i])
  1372  			if err != nil {
  1373  				return 0, err
  1374  			}
  1375  			i -= size
  1376  			i = encodeVarintContainers(dAtA, i, uint64(size))
  1377  		}
  1378  		i--
  1379  		dAtA[i] = 0x12
  1380  	}
  1381  	{
  1382  		size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1383  		if err != nil {
  1384  			return 0, err
  1385  		}
  1386  		i -= size
  1387  		i = encodeVarintContainers(dAtA, i, uint64(size))
  1388  	}
  1389  	i--
  1390  	dAtA[i] = 0xa
  1391  	return len(dAtA) - i, nil
  1392  }
  1393  
  1394  func (m *UpdateContainerResponse) Marshal() (dAtA []byte, err error) {
  1395  	size := m.Size()
  1396  	dAtA = make([]byte, size)
  1397  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1398  	if err != nil {
  1399  		return nil, err
  1400  	}
  1401  	return dAtA[:n], nil
  1402  }
  1403  
  1404  func (m *UpdateContainerResponse) MarshalTo(dAtA []byte) (int, error) {
  1405  	size := m.Size()
  1406  	return m.MarshalToSizedBuffer(dAtA[:size])
  1407  }
  1408  
  1409  func (m *UpdateContainerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1410  	i := len(dAtA)
  1411  	_ = i
  1412  	var l int
  1413  	_ = l
  1414  	if m.XXX_unrecognized != nil {
  1415  		i -= len(m.XXX_unrecognized)
  1416  		copy(dAtA[i:], m.XXX_unrecognized)
  1417  	}
  1418  	{
  1419  		size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1420  		if err != nil {
  1421  			return 0, err
  1422  		}
  1423  		i -= size
  1424  		i = encodeVarintContainers(dAtA, i, uint64(size))
  1425  	}
  1426  	i--
  1427  	dAtA[i] = 0xa
  1428  	return len(dAtA) - i, nil
  1429  }
  1430  
  1431  func (m *DeleteContainerRequest) Marshal() (dAtA []byte, err error) {
  1432  	size := m.Size()
  1433  	dAtA = make([]byte, size)
  1434  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1435  	if err != nil {
  1436  		return nil, err
  1437  	}
  1438  	return dAtA[:n], nil
  1439  }
  1440  
  1441  func (m *DeleteContainerRequest) MarshalTo(dAtA []byte) (int, error) {
  1442  	size := m.Size()
  1443  	return m.MarshalToSizedBuffer(dAtA[:size])
  1444  }
  1445  
  1446  func (m *DeleteContainerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1447  	i := len(dAtA)
  1448  	_ = i
  1449  	var l int
  1450  	_ = l
  1451  	if m.XXX_unrecognized != nil {
  1452  		i -= len(m.XXX_unrecognized)
  1453  		copy(dAtA[i:], m.XXX_unrecognized)
  1454  	}
  1455  	if len(m.ID) > 0 {
  1456  		i -= len(m.ID)
  1457  		copy(dAtA[i:], m.ID)
  1458  		i = encodeVarintContainers(dAtA, i, uint64(len(m.ID)))
  1459  		i--
  1460  		dAtA[i] = 0xa
  1461  	}
  1462  	return len(dAtA) - i, nil
  1463  }
  1464  
  1465  func (m *ListContainerMessage) Marshal() (dAtA []byte, err error) {
  1466  	size := m.Size()
  1467  	dAtA = make([]byte, size)
  1468  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1469  	if err != nil {
  1470  		return nil, err
  1471  	}
  1472  	return dAtA[:n], nil
  1473  }
  1474  
  1475  func (m *ListContainerMessage) MarshalTo(dAtA []byte) (int, error) {
  1476  	size := m.Size()
  1477  	return m.MarshalToSizedBuffer(dAtA[:size])
  1478  }
  1479  
  1480  func (m *ListContainerMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1481  	i := len(dAtA)
  1482  	_ = i
  1483  	var l int
  1484  	_ = l
  1485  	if m.XXX_unrecognized != nil {
  1486  		i -= len(m.XXX_unrecognized)
  1487  		copy(dAtA[i:], m.XXX_unrecognized)
  1488  	}
  1489  	if m.Container != nil {
  1490  		{
  1491  			size, err := m.Container.MarshalToSizedBuffer(dAtA[:i])
  1492  			if err != nil {
  1493  				return 0, err
  1494  			}
  1495  			i -= size
  1496  			i = encodeVarintContainers(dAtA, i, uint64(size))
  1497  		}
  1498  		i--
  1499  		dAtA[i] = 0xa
  1500  	}
  1501  	return len(dAtA) - i, nil
  1502  }
  1503  
  1504  func encodeVarintContainers(dAtA []byte, offset int, v uint64) int {
  1505  	offset -= sovContainers(v)
  1506  	base := offset
  1507  	for v >= 1<<7 {
  1508  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1509  		v >>= 7
  1510  		offset++
  1511  	}
  1512  	dAtA[offset] = uint8(v)
  1513  	return base
  1514  }
  1515  func (m *Container) Size() (n int) {
  1516  	if m == nil {
  1517  		return 0
  1518  	}
  1519  	var l int
  1520  	_ = l
  1521  	l = len(m.ID)
  1522  	if l > 0 {
  1523  		n += 1 + l + sovContainers(uint64(l))
  1524  	}
  1525  	if len(m.Labels) > 0 {
  1526  		for k, v := range m.Labels {
  1527  			_ = k
  1528  			_ = v
  1529  			mapEntrySize := 1 + len(k) + sovContainers(uint64(len(k))) + 1 + len(v) + sovContainers(uint64(len(v)))
  1530  			n += mapEntrySize + 1 + sovContainers(uint64(mapEntrySize))
  1531  		}
  1532  	}
  1533  	l = len(m.Image)
  1534  	if l > 0 {
  1535  		n += 1 + l + sovContainers(uint64(l))
  1536  	}
  1537  	if m.Runtime != nil {
  1538  		l = m.Runtime.Size()
  1539  		n += 1 + l + sovContainers(uint64(l))
  1540  	}
  1541  	if m.Spec != nil {
  1542  		l = m.Spec.Size()
  1543  		n += 1 + l + sovContainers(uint64(l))
  1544  	}
  1545  	l = len(m.Snapshotter)
  1546  	if l > 0 {
  1547  		n += 1 + l + sovContainers(uint64(l))
  1548  	}
  1549  	l = len(m.SnapshotKey)
  1550  	if l > 0 {
  1551  		n += 1 + l + sovContainers(uint64(l))
  1552  	}
  1553  	l = github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt)
  1554  	n += 1 + l + sovContainers(uint64(l))
  1555  	l = github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt)
  1556  	n += 1 + l + sovContainers(uint64(l))
  1557  	if len(m.Extensions) > 0 {
  1558  		for k, v := range m.Extensions {
  1559  			_ = k
  1560  			_ = v
  1561  			l = v.Size()
  1562  			mapEntrySize := 1 + len(k) + sovContainers(uint64(len(k))) + 1 + l + sovContainers(uint64(l))
  1563  			n += mapEntrySize + 1 + sovContainers(uint64(mapEntrySize))
  1564  		}
  1565  	}
  1566  	if m.XXX_unrecognized != nil {
  1567  		n += len(m.XXX_unrecognized)
  1568  	}
  1569  	return n
  1570  }
  1571  
  1572  func (m *Container_Runtime) Size() (n int) {
  1573  	if m == nil {
  1574  		return 0
  1575  	}
  1576  	var l int
  1577  	_ = l
  1578  	l = len(m.Name)
  1579  	if l > 0 {
  1580  		n += 1 + l + sovContainers(uint64(l))
  1581  	}
  1582  	if m.Options != nil {
  1583  		l = m.Options.Size()
  1584  		n += 1 + l + sovContainers(uint64(l))
  1585  	}
  1586  	if m.XXX_unrecognized != nil {
  1587  		n += len(m.XXX_unrecognized)
  1588  	}
  1589  	return n
  1590  }
  1591  
  1592  func (m *GetContainerRequest) Size() (n int) {
  1593  	if m == nil {
  1594  		return 0
  1595  	}
  1596  	var l int
  1597  	_ = l
  1598  	l = len(m.ID)
  1599  	if l > 0 {
  1600  		n += 1 + l + sovContainers(uint64(l))
  1601  	}
  1602  	if m.XXX_unrecognized != nil {
  1603  		n += len(m.XXX_unrecognized)
  1604  	}
  1605  	return n
  1606  }
  1607  
  1608  func (m *GetContainerResponse) Size() (n int) {
  1609  	if m == nil {
  1610  		return 0
  1611  	}
  1612  	var l int
  1613  	_ = l
  1614  	l = m.Container.Size()
  1615  	n += 1 + l + sovContainers(uint64(l))
  1616  	if m.XXX_unrecognized != nil {
  1617  		n += len(m.XXX_unrecognized)
  1618  	}
  1619  	return n
  1620  }
  1621  
  1622  func (m *ListContainersRequest) Size() (n int) {
  1623  	if m == nil {
  1624  		return 0
  1625  	}
  1626  	var l int
  1627  	_ = l
  1628  	if len(m.Filters) > 0 {
  1629  		for _, s := range m.Filters {
  1630  			l = len(s)
  1631  			n += 1 + l + sovContainers(uint64(l))
  1632  		}
  1633  	}
  1634  	if m.XXX_unrecognized != nil {
  1635  		n += len(m.XXX_unrecognized)
  1636  	}
  1637  	return n
  1638  }
  1639  
  1640  func (m *ListContainersResponse) Size() (n int) {
  1641  	if m == nil {
  1642  		return 0
  1643  	}
  1644  	var l int
  1645  	_ = l
  1646  	if len(m.Containers) > 0 {
  1647  		for _, e := range m.Containers {
  1648  			l = e.Size()
  1649  			n += 1 + l + sovContainers(uint64(l))
  1650  		}
  1651  	}
  1652  	if m.XXX_unrecognized != nil {
  1653  		n += len(m.XXX_unrecognized)
  1654  	}
  1655  	return n
  1656  }
  1657  
  1658  func (m *CreateContainerRequest) Size() (n int) {
  1659  	if m == nil {
  1660  		return 0
  1661  	}
  1662  	var l int
  1663  	_ = l
  1664  	l = m.Container.Size()
  1665  	n += 1 + l + sovContainers(uint64(l))
  1666  	if m.XXX_unrecognized != nil {
  1667  		n += len(m.XXX_unrecognized)
  1668  	}
  1669  	return n
  1670  }
  1671  
  1672  func (m *CreateContainerResponse) Size() (n int) {
  1673  	if m == nil {
  1674  		return 0
  1675  	}
  1676  	var l int
  1677  	_ = l
  1678  	l = m.Container.Size()
  1679  	n += 1 + l + sovContainers(uint64(l))
  1680  	if m.XXX_unrecognized != nil {
  1681  		n += len(m.XXX_unrecognized)
  1682  	}
  1683  	return n
  1684  }
  1685  
  1686  func (m *UpdateContainerRequest) Size() (n int) {
  1687  	if m == nil {
  1688  		return 0
  1689  	}
  1690  	var l int
  1691  	_ = l
  1692  	l = m.Container.Size()
  1693  	n += 1 + l + sovContainers(uint64(l))
  1694  	if m.UpdateMask != nil {
  1695  		l = m.UpdateMask.Size()
  1696  		n += 1 + l + sovContainers(uint64(l))
  1697  	}
  1698  	if m.XXX_unrecognized != nil {
  1699  		n += len(m.XXX_unrecognized)
  1700  	}
  1701  	return n
  1702  }
  1703  
  1704  func (m *UpdateContainerResponse) Size() (n int) {
  1705  	if m == nil {
  1706  		return 0
  1707  	}
  1708  	var l int
  1709  	_ = l
  1710  	l = m.Container.Size()
  1711  	n += 1 + l + sovContainers(uint64(l))
  1712  	if m.XXX_unrecognized != nil {
  1713  		n += len(m.XXX_unrecognized)
  1714  	}
  1715  	return n
  1716  }
  1717  
  1718  func (m *DeleteContainerRequest) Size() (n int) {
  1719  	if m == nil {
  1720  		return 0
  1721  	}
  1722  	var l int
  1723  	_ = l
  1724  	l = len(m.ID)
  1725  	if l > 0 {
  1726  		n += 1 + l + sovContainers(uint64(l))
  1727  	}
  1728  	if m.XXX_unrecognized != nil {
  1729  		n += len(m.XXX_unrecognized)
  1730  	}
  1731  	return n
  1732  }
  1733  
  1734  func (m *ListContainerMessage) Size() (n int) {
  1735  	if m == nil {
  1736  		return 0
  1737  	}
  1738  	var l int
  1739  	_ = l
  1740  	if m.Container != nil {
  1741  		l = m.Container.Size()
  1742  		n += 1 + l + sovContainers(uint64(l))
  1743  	}
  1744  	if m.XXX_unrecognized != nil {
  1745  		n += len(m.XXX_unrecognized)
  1746  	}
  1747  	return n
  1748  }
  1749  
  1750  func sovContainers(x uint64) (n int) {
  1751  	return (math_bits.Len64(x|1) + 6) / 7
  1752  }
  1753  func sozContainers(x uint64) (n int) {
  1754  	return sovContainers(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1755  }
  1756  func (this *Container) String() string {
  1757  	if this == nil {
  1758  		return "nil"
  1759  	}
  1760  	keysForLabels := make([]string, 0, len(this.Labels))
  1761  	for k, _ := range this.Labels {
  1762  		keysForLabels = append(keysForLabels, k)
  1763  	}
  1764  	github_com_gogo_protobuf_sortkeys.Strings(keysForLabels)
  1765  	mapStringForLabels := "map[string]string{"
  1766  	for _, k := range keysForLabels {
  1767  		mapStringForLabels += fmt.Sprintf("%v: %v,", k, this.Labels[k])
  1768  	}
  1769  	mapStringForLabels += "}"
  1770  	keysForExtensions := make([]string, 0, len(this.Extensions))
  1771  	for k, _ := range this.Extensions {
  1772  		keysForExtensions = append(keysForExtensions, k)
  1773  	}
  1774  	github_com_gogo_protobuf_sortkeys.Strings(keysForExtensions)
  1775  	mapStringForExtensions := "map[string]types.Any{"
  1776  	for _, k := range keysForExtensions {
  1777  		mapStringForExtensions += fmt.Sprintf("%v: %v,", k, this.Extensions[k])
  1778  	}
  1779  	mapStringForExtensions += "}"
  1780  	s := strings.Join([]string{`&Container{`,
  1781  		`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
  1782  		`Labels:` + mapStringForLabels + `,`,
  1783  		`Image:` + fmt.Sprintf("%v", this.Image) + `,`,
  1784  		`Runtime:` + strings.Replace(fmt.Sprintf("%v", this.Runtime), "Container_Runtime", "Container_Runtime", 1) + `,`,
  1785  		`Spec:` + strings.Replace(fmt.Sprintf("%v", this.Spec), "Any", "types.Any", 1) + `,`,
  1786  		`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
  1787  		`SnapshotKey:` + fmt.Sprintf("%v", this.SnapshotKey) + `,`,
  1788  		`CreatedAt:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CreatedAt), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`,
  1789  		`UpdatedAt:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.UpdatedAt), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`,
  1790  		`Extensions:` + mapStringForExtensions + `,`,
  1791  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1792  		`}`,
  1793  	}, "")
  1794  	return s
  1795  }
  1796  func (this *Container_Runtime) String() string {
  1797  	if this == nil {
  1798  		return "nil"
  1799  	}
  1800  	s := strings.Join([]string{`&Container_Runtime{`,
  1801  		`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
  1802  		`Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Any", "types.Any", 1) + `,`,
  1803  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1804  		`}`,
  1805  	}, "")
  1806  	return s
  1807  }
  1808  func (this *GetContainerRequest) String() string {
  1809  	if this == nil {
  1810  		return "nil"
  1811  	}
  1812  	s := strings.Join([]string{`&GetContainerRequest{`,
  1813  		`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
  1814  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1815  		`}`,
  1816  	}, "")
  1817  	return s
  1818  }
  1819  func (this *GetContainerResponse) String() string {
  1820  	if this == nil {
  1821  		return "nil"
  1822  	}
  1823  	s := strings.Join([]string{`&GetContainerResponse{`,
  1824  		`Container:` + strings.Replace(strings.Replace(this.Container.String(), "Container", "Container", 1), `&`, ``, 1) + `,`,
  1825  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1826  		`}`,
  1827  	}, "")
  1828  	return s
  1829  }
  1830  func (this *ListContainersRequest) String() string {
  1831  	if this == nil {
  1832  		return "nil"
  1833  	}
  1834  	s := strings.Join([]string{`&ListContainersRequest{`,
  1835  		`Filters:` + fmt.Sprintf("%v", this.Filters) + `,`,
  1836  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1837  		`}`,
  1838  	}, "")
  1839  	return s
  1840  }
  1841  func (this *ListContainersResponse) String() string {
  1842  	if this == nil {
  1843  		return "nil"
  1844  	}
  1845  	repeatedStringForContainers := "[]Container{"
  1846  	for _, f := range this.Containers {
  1847  		repeatedStringForContainers += strings.Replace(strings.Replace(f.String(), "Container", "Container", 1), `&`, ``, 1) + ","
  1848  	}
  1849  	repeatedStringForContainers += "}"
  1850  	s := strings.Join([]string{`&ListContainersResponse{`,
  1851  		`Containers:` + repeatedStringForContainers + `,`,
  1852  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1853  		`}`,
  1854  	}, "")
  1855  	return s
  1856  }
  1857  func (this *CreateContainerRequest) String() string {
  1858  	if this == nil {
  1859  		return "nil"
  1860  	}
  1861  	s := strings.Join([]string{`&CreateContainerRequest{`,
  1862  		`Container:` + strings.Replace(strings.Replace(this.Container.String(), "Container", "Container", 1), `&`, ``, 1) + `,`,
  1863  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1864  		`}`,
  1865  	}, "")
  1866  	return s
  1867  }
  1868  func (this *CreateContainerResponse) String() string {
  1869  	if this == nil {
  1870  		return "nil"
  1871  	}
  1872  	s := strings.Join([]string{`&CreateContainerResponse{`,
  1873  		`Container:` + strings.Replace(strings.Replace(this.Container.String(), "Container", "Container", 1), `&`, ``, 1) + `,`,
  1874  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1875  		`}`,
  1876  	}, "")
  1877  	return s
  1878  }
  1879  func (this *UpdateContainerRequest) String() string {
  1880  	if this == nil {
  1881  		return "nil"
  1882  	}
  1883  	s := strings.Join([]string{`&UpdateContainerRequest{`,
  1884  		`Container:` + strings.Replace(strings.Replace(this.Container.String(), "Container", "Container", 1), `&`, ``, 1) + `,`,
  1885  		`UpdateMask:` + strings.Replace(fmt.Sprintf("%v", this.UpdateMask), "FieldMask", "types.FieldMask", 1) + `,`,
  1886  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1887  		`}`,
  1888  	}, "")
  1889  	return s
  1890  }
  1891  func (this *UpdateContainerResponse) String() string {
  1892  	if this == nil {
  1893  		return "nil"
  1894  	}
  1895  	s := strings.Join([]string{`&UpdateContainerResponse{`,
  1896  		`Container:` + strings.Replace(strings.Replace(this.Container.String(), "Container", "Container", 1), `&`, ``, 1) + `,`,
  1897  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1898  		`}`,
  1899  	}, "")
  1900  	return s
  1901  }
  1902  func (this *DeleteContainerRequest) String() string {
  1903  	if this == nil {
  1904  		return "nil"
  1905  	}
  1906  	s := strings.Join([]string{`&DeleteContainerRequest{`,
  1907  		`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
  1908  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1909  		`}`,
  1910  	}, "")
  1911  	return s
  1912  }
  1913  func (this *ListContainerMessage) String() string {
  1914  	if this == nil {
  1915  		return "nil"
  1916  	}
  1917  	s := strings.Join([]string{`&ListContainerMessage{`,
  1918  		`Container:` + strings.Replace(this.Container.String(), "Container", "Container", 1) + `,`,
  1919  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1920  		`}`,
  1921  	}, "")
  1922  	return s
  1923  }
  1924  func valueToStringContainers(v interface{}) string {
  1925  	rv := reflect.ValueOf(v)
  1926  	if rv.IsNil() {
  1927  		return "nil"
  1928  	}
  1929  	pv := reflect.Indirect(rv).Interface()
  1930  	return fmt.Sprintf("*%v", pv)
  1931  }
  1932  func (m *Container) Unmarshal(dAtA []byte) error {
  1933  	l := len(dAtA)
  1934  	iNdEx := 0
  1935  	for iNdEx < l {
  1936  		preIndex := iNdEx
  1937  		var wire uint64
  1938  		for shift := uint(0); ; shift += 7 {
  1939  			if shift >= 64 {
  1940  				return ErrIntOverflowContainers
  1941  			}
  1942  			if iNdEx >= l {
  1943  				return io.ErrUnexpectedEOF
  1944  			}
  1945  			b := dAtA[iNdEx]
  1946  			iNdEx++
  1947  			wire |= uint64(b&0x7F) << shift
  1948  			if b < 0x80 {
  1949  				break
  1950  			}
  1951  		}
  1952  		fieldNum := int32(wire >> 3)
  1953  		wireType := int(wire & 0x7)
  1954  		if wireType == 4 {
  1955  			return fmt.Errorf("proto: Container: wiretype end group for non-group")
  1956  		}
  1957  		if fieldNum <= 0 {
  1958  			return fmt.Errorf("proto: Container: illegal tag %d (wire type %d)", fieldNum, wire)
  1959  		}
  1960  		switch fieldNum {
  1961  		case 1:
  1962  			if wireType != 2 {
  1963  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  1964  			}
  1965  			var stringLen uint64
  1966  			for shift := uint(0); ; shift += 7 {
  1967  				if shift >= 64 {
  1968  					return ErrIntOverflowContainers
  1969  				}
  1970  				if iNdEx >= l {
  1971  					return io.ErrUnexpectedEOF
  1972  				}
  1973  				b := dAtA[iNdEx]
  1974  				iNdEx++
  1975  				stringLen |= uint64(b&0x7F) << shift
  1976  				if b < 0x80 {
  1977  					break
  1978  				}
  1979  			}
  1980  			intStringLen := int(stringLen)
  1981  			if intStringLen < 0 {
  1982  				return ErrInvalidLengthContainers
  1983  			}
  1984  			postIndex := iNdEx + intStringLen
  1985  			if postIndex < 0 {
  1986  				return ErrInvalidLengthContainers
  1987  			}
  1988  			if postIndex > l {
  1989  				return io.ErrUnexpectedEOF
  1990  			}
  1991  			m.ID = string(dAtA[iNdEx:postIndex])
  1992  			iNdEx = postIndex
  1993  		case 2:
  1994  			if wireType != 2 {
  1995  				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
  1996  			}
  1997  			var msglen int
  1998  			for shift := uint(0); ; shift += 7 {
  1999  				if shift >= 64 {
  2000  					return ErrIntOverflowContainers
  2001  				}
  2002  				if iNdEx >= l {
  2003  					return io.ErrUnexpectedEOF
  2004  				}
  2005  				b := dAtA[iNdEx]
  2006  				iNdEx++
  2007  				msglen |= int(b&0x7F) << shift
  2008  				if b < 0x80 {
  2009  					break
  2010  				}
  2011  			}
  2012  			if msglen < 0 {
  2013  				return ErrInvalidLengthContainers
  2014  			}
  2015  			postIndex := iNdEx + msglen
  2016  			if postIndex < 0 {
  2017  				return ErrInvalidLengthContainers
  2018  			}
  2019  			if postIndex > l {
  2020  				return io.ErrUnexpectedEOF
  2021  			}
  2022  			if m.Labels == nil {
  2023  				m.Labels = make(map[string]string)
  2024  			}
  2025  			var mapkey string
  2026  			var mapvalue string
  2027  			for iNdEx < postIndex {
  2028  				entryPreIndex := iNdEx
  2029  				var wire uint64
  2030  				for shift := uint(0); ; shift += 7 {
  2031  					if shift >= 64 {
  2032  						return ErrIntOverflowContainers
  2033  					}
  2034  					if iNdEx >= l {
  2035  						return io.ErrUnexpectedEOF
  2036  					}
  2037  					b := dAtA[iNdEx]
  2038  					iNdEx++
  2039  					wire |= uint64(b&0x7F) << shift
  2040  					if b < 0x80 {
  2041  						break
  2042  					}
  2043  				}
  2044  				fieldNum := int32(wire >> 3)
  2045  				if fieldNum == 1 {
  2046  					var stringLenmapkey uint64
  2047  					for shift := uint(0); ; shift += 7 {
  2048  						if shift >= 64 {
  2049  							return ErrIntOverflowContainers
  2050  						}
  2051  						if iNdEx >= l {
  2052  							return io.ErrUnexpectedEOF
  2053  						}
  2054  						b := dAtA[iNdEx]
  2055  						iNdEx++
  2056  						stringLenmapkey |= uint64(b&0x7F) << shift
  2057  						if b < 0x80 {
  2058  							break
  2059  						}
  2060  					}
  2061  					intStringLenmapkey := int(stringLenmapkey)
  2062  					if intStringLenmapkey < 0 {
  2063  						return ErrInvalidLengthContainers
  2064  					}
  2065  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2066  					if postStringIndexmapkey < 0 {
  2067  						return ErrInvalidLengthContainers
  2068  					}
  2069  					if postStringIndexmapkey > l {
  2070  						return io.ErrUnexpectedEOF
  2071  					}
  2072  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2073  					iNdEx = postStringIndexmapkey
  2074  				} else if fieldNum == 2 {
  2075  					var stringLenmapvalue uint64
  2076  					for shift := uint(0); ; shift += 7 {
  2077  						if shift >= 64 {
  2078  							return ErrIntOverflowContainers
  2079  						}
  2080  						if iNdEx >= l {
  2081  							return io.ErrUnexpectedEOF
  2082  						}
  2083  						b := dAtA[iNdEx]
  2084  						iNdEx++
  2085  						stringLenmapvalue |= uint64(b&0x7F) << shift
  2086  						if b < 0x80 {
  2087  							break
  2088  						}
  2089  					}
  2090  					intStringLenmapvalue := int(stringLenmapvalue)
  2091  					if intStringLenmapvalue < 0 {
  2092  						return ErrInvalidLengthContainers
  2093  					}
  2094  					postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  2095  					if postStringIndexmapvalue < 0 {
  2096  						return ErrInvalidLengthContainers
  2097  					}
  2098  					if postStringIndexmapvalue > l {
  2099  						return io.ErrUnexpectedEOF
  2100  					}
  2101  					mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  2102  					iNdEx = postStringIndexmapvalue
  2103  				} else {
  2104  					iNdEx = entryPreIndex
  2105  					skippy, err := skipContainers(dAtA[iNdEx:])
  2106  					if err != nil {
  2107  						return err
  2108  					}
  2109  					if skippy < 0 {
  2110  						return ErrInvalidLengthContainers
  2111  					}
  2112  					if (iNdEx + skippy) > postIndex {
  2113  						return io.ErrUnexpectedEOF
  2114  					}
  2115  					iNdEx += skippy
  2116  				}
  2117  			}
  2118  			m.Labels[mapkey] = mapvalue
  2119  			iNdEx = postIndex
  2120  		case 3:
  2121  			if wireType != 2 {
  2122  				return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType)
  2123  			}
  2124  			var stringLen uint64
  2125  			for shift := uint(0); ; shift += 7 {
  2126  				if shift >= 64 {
  2127  					return ErrIntOverflowContainers
  2128  				}
  2129  				if iNdEx >= l {
  2130  					return io.ErrUnexpectedEOF
  2131  				}
  2132  				b := dAtA[iNdEx]
  2133  				iNdEx++
  2134  				stringLen |= uint64(b&0x7F) << shift
  2135  				if b < 0x80 {
  2136  					break
  2137  				}
  2138  			}
  2139  			intStringLen := int(stringLen)
  2140  			if intStringLen < 0 {
  2141  				return ErrInvalidLengthContainers
  2142  			}
  2143  			postIndex := iNdEx + intStringLen
  2144  			if postIndex < 0 {
  2145  				return ErrInvalidLengthContainers
  2146  			}
  2147  			if postIndex > l {
  2148  				return io.ErrUnexpectedEOF
  2149  			}
  2150  			m.Image = string(dAtA[iNdEx:postIndex])
  2151  			iNdEx = postIndex
  2152  		case 4:
  2153  			if wireType != 2 {
  2154  				return fmt.Errorf("proto: wrong wireType = %d for field Runtime", wireType)
  2155  			}
  2156  			var msglen int
  2157  			for shift := uint(0); ; shift += 7 {
  2158  				if shift >= 64 {
  2159  					return ErrIntOverflowContainers
  2160  				}
  2161  				if iNdEx >= l {
  2162  					return io.ErrUnexpectedEOF
  2163  				}
  2164  				b := dAtA[iNdEx]
  2165  				iNdEx++
  2166  				msglen |= int(b&0x7F) << shift
  2167  				if b < 0x80 {
  2168  					break
  2169  				}
  2170  			}
  2171  			if msglen < 0 {
  2172  				return ErrInvalidLengthContainers
  2173  			}
  2174  			postIndex := iNdEx + msglen
  2175  			if postIndex < 0 {
  2176  				return ErrInvalidLengthContainers
  2177  			}
  2178  			if postIndex > l {
  2179  				return io.ErrUnexpectedEOF
  2180  			}
  2181  			if m.Runtime == nil {
  2182  				m.Runtime = &Container_Runtime{}
  2183  			}
  2184  			if err := m.Runtime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2185  				return err
  2186  			}
  2187  			iNdEx = postIndex
  2188  		case 5:
  2189  			if wireType != 2 {
  2190  				return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
  2191  			}
  2192  			var msglen int
  2193  			for shift := uint(0); ; shift += 7 {
  2194  				if shift >= 64 {
  2195  					return ErrIntOverflowContainers
  2196  				}
  2197  				if iNdEx >= l {
  2198  					return io.ErrUnexpectedEOF
  2199  				}
  2200  				b := dAtA[iNdEx]
  2201  				iNdEx++
  2202  				msglen |= int(b&0x7F) << shift
  2203  				if b < 0x80 {
  2204  					break
  2205  				}
  2206  			}
  2207  			if msglen < 0 {
  2208  				return ErrInvalidLengthContainers
  2209  			}
  2210  			postIndex := iNdEx + msglen
  2211  			if postIndex < 0 {
  2212  				return ErrInvalidLengthContainers
  2213  			}
  2214  			if postIndex > l {
  2215  				return io.ErrUnexpectedEOF
  2216  			}
  2217  			if m.Spec == nil {
  2218  				m.Spec = &types.Any{}
  2219  			}
  2220  			if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2221  				return err
  2222  			}
  2223  			iNdEx = postIndex
  2224  		case 6:
  2225  			if wireType != 2 {
  2226  				return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
  2227  			}
  2228  			var stringLen uint64
  2229  			for shift := uint(0); ; shift += 7 {
  2230  				if shift >= 64 {
  2231  					return ErrIntOverflowContainers
  2232  				}
  2233  				if iNdEx >= l {
  2234  					return io.ErrUnexpectedEOF
  2235  				}
  2236  				b := dAtA[iNdEx]
  2237  				iNdEx++
  2238  				stringLen |= uint64(b&0x7F) << shift
  2239  				if b < 0x80 {
  2240  					break
  2241  				}
  2242  			}
  2243  			intStringLen := int(stringLen)
  2244  			if intStringLen < 0 {
  2245  				return ErrInvalidLengthContainers
  2246  			}
  2247  			postIndex := iNdEx + intStringLen
  2248  			if postIndex < 0 {
  2249  				return ErrInvalidLengthContainers
  2250  			}
  2251  			if postIndex > l {
  2252  				return io.ErrUnexpectedEOF
  2253  			}
  2254  			m.Snapshotter = string(dAtA[iNdEx:postIndex])
  2255  			iNdEx = postIndex
  2256  		case 7:
  2257  			if wireType != 2 {
  2258  				return fmt.Errorf("proto: wrong wireType = %d for field SnapshotKey", wireType)
  2259  			}
  2260  			var stringLen uint64
  2261  			for shift := uint(0); ; shift += 7 {
  2262  				if shift >= 64 {
  2263  					return ErrIntOverflowContainers
  2264  				}
  2265  				if iNdEx >= l {
  2266  					return io.ErrUnexpectedEOF
  2267  				}
  2268  				b := dAtA[iNdEx]
  2269  				iNdEx++
  2270  				stringLen |= uint64(b&0x7F) << shift
  2271  				if b < 0x80 {
  2272  					break
  2273  				}
  2274  			}
  2275  			intStringLen := int(stringLen)
  2276  			if intStringLen < 0 {
  2277  				return ErrInvalidLengthContainers
  2278  			}
  2279  			postIndex := iNdEx + intStringLen
  2280  			if postIndex < 0 {
  2281  				return ErrInvalidLengthContainers
  2282  			}
  2283  			if postIndex > l {
  2284  				return io.ErrUnexpectedEOF
  2285  			}
  2286  			m.SnapshotKey = string(dAtA[iNdEx:postIndex])
  2287  			iNdEx = postIndex
  2288  		case 8:
  2289  			if wireType != 2 {
  2290  				return fmt.Errorf("proto: wrong wireType = %d for field CreatedAt", wireType)
  2291  			}
  2292  			var msglen int
  2293  			for shift := uint(0); ; shift += 7 {
  2294  				if shift >= 64 {
  2295  					return ErrIntOverflowContainers
  2296  				}
  2297  				if iNdEx >= l {
  2298  					return io.ErrUnexpectedEOF
  2299  				}
  2300  				b := dAtA[iNdEx]
  2301  				iNdEx++
  2302  				msglen |= int(b&0x7F) << shift
  2303  				if b < 0x80 {
  2304  					break
  2305  				}
  2306  			}
  2307  			if msglen < 0 {
  2308  				return ErrInvalidLengthContainers
  2309  			}
  2310  			postIndex := iNdEx + msglen
  2311  			if postIndex < 0 {
  2312  				return ErrInvalidLengthContainers
  2313  			}
  2314  			if postIndex > l {
  2315  				return io.ErrUnexpectedEOF
  2316  			}
  2317  			if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.CreatedAt, dAtA[iNdEx:postIndex]); err != nil {
  2318  				return err
  2319  			}
  2320  			iNdEx = postIndex
  2321  		case 9:
  2322  			if wireType != 2 {
  2323  				return fmt.Errorf("proto: wrong wireType = %d for field UpdatedAt", wireType)
  2324  			}
  2325  			var msglen int
  2326  			for shift := uint(0); ; shift += 7 {
  2327  				if shift >= 64 {
  2328  					return ErrIntOverflowContainers
  2329  				}
  2330  				if iNdEx >= l {
  2331  					return io.ErrUnexpectedEOF
  2332  				}
  2333  				b := dAtA[iNdEx]
  2334  				iNdEx++
  2335  				msglen |= int(b&0x7F) << shift
  2336  				if b < 0x80 {
  2337  					break
  2338  				}
  2339  			}
  2340  			if msglen < 0 {
  2341  				return ErrInvalidLengthContainers
  2342  			}
  2343  			postIndex := iNdEx + msglen
  2344  			if postIndex < 0 {
  2345  				return ErrInvalidLengthContainers
  2346  			}
  2347  			if postIndex > l {
  2348  				return io.ErrUnexpectedEOF
  2349  			}
  2350  			if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.UpdatedAt, dAtA[iNdEx:postIndex]); err != nil {
  2351  				return err
  2352  			}
  2353  			iNdEx = postIndex
  2354  		case 10:
  2355  			if wireType != 2 {
  2356  				return fmt.Errorf("proto: wrong wireType = %d for field Extensions", wireType)
  2357  			}
  2358  			var msglen int
  2359  			for shift := uint(0); ; shift += 7 {
  2360  				if shift >= 64 {
  2361  					return ErrIntOverflowContainers
  2362  				}
  2363  				if iNdEx >= l {
  2364  					return io.ErrUnexpectedEOF
  2365  				}
  2366  				b := dAtA[iNdEx]
  2367  				iNdEx++
  2368  				msglen |= int(b&0x7F) << shift
  2369  				if b < 0x80 {
  2370  					break
  2371  				}
  2372  			}
  2373  			if msglen < 0 {
  2374  				return ErrInvalidLengthContainers
  2375  			}
  2376  			postIndex := iNdEx + msglen
  2377  			if postIndex < 0 {
  2378  				return ErrInvalidLengthContainers
  2379  			}
  2380  			if postIndex > l {
  2381  				return io.ErrUnexpectedEOF
  2382  			}
  2383  			if m.Extensions == nil {
  2384  				m.Extensions = make(map[string]types.Any)
  2385  			}
  2386  			var mapkey string
  2387  			mapvalue := &types.Any{}
  2388  			for iNdEx < postIndex {
  2389  				entryPreIndex := iNdEx
  2390  				var wire uint64
  2391  				for shift := uint(0); ; shift += 7 {
  2392  					if shift >= 64 {
  2393  						return ErrIntOverflowContainers
  2394  					}
  2395  					if iNdEx >= l {
  2396  						return io.ErrUnexpectedEOF
  2397  					}
  2398  					b := dAtA[iNdEx]
  2399  					iNdEx++
  2400  					wire |= uint64(b&0x7F) << shift
  2401  					if b < 0x80 {
  2402  						break
  2403  					}
  2404  				}
  2405  				fieldNum := int32(wire >> 3)
  2406  				if fieldNum == 1 {
  2407  					var stringLenmapkey uint64
  2408  					for shift := uint(0); ; shift += 7 {
  2409  						if shift >= 64 {
  2410  							return ErrIntOverflowContainers
  2411  						}
  2412  						if iNdEx >= l {
  2413  							return io.ErrUnexpectedEOF
  2414  						}
  2415  						b := dAtA[iNdEx]
  2416  						iNdEx++
  2417  						stringLenmapkey |= uint64(b&0x7F) << shift
  2418  						if b < 0x80 {
  2419  							break
  2420  						}
  2421  					}
  2422  					intStringLenmapkey := int(stringLenmapkey)
  2423  					if intStringLenmapkey < 0 {
  2424  						return ErrInvalidLengthContainers
  2425  					}
  2426  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2427  					if postStringIndexmapkey < 0 {
  2428  						return ErrInvalidLengthContainers
  2429  					}
  2430  					if postStringIndexmapkey > l {
  2431  						return io.ErrUnexpectedEOF
  2432  					}
  2433  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2434  					iNdEx = postStringIndexmapkey
  2435  				} else if fieldNum == 2 {
  2436  					var mapmsglen int
  2437  					for shift := uint(0); ; shift += 7 {
  2438  						if shift >= 64 {
  2439  							return ErrIntOverflowContainers
  2440  						}
  2441  						if iNdEx >= l {
  2442  							return io.ErrUnexpectedEOF
  2443  						}
  2444  						b := dAtA[iNdEx]
  2445  						iNdEx++
  2446  						mapmsglen |= int(b&0x7F) << shift
  2447  						if b < 0x80 {
  2448  							break
  2449  						}
  2450  					}
  2451  					if mapmsglen < 0 {
  2452  						return ErrInvalidLengthContainers
  2453  					}
  2454  					postmsgIndex := iNdEx + mapmsglen
  2455  					if postmsgIndex < 0 {
  2456  						return ErrInvalidLengthContainers
  2457  					}
  2458  					if postmsgIndex > l {
  2459  						return io.ErrUnexpectedEOF
  2460  					}
  2461  					mapvalue = &types.Any{}
  2462  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  2463  						return err
  2464  					}
  2465  					iNdEx = postmsgIndex
  2466  				} else {
  2467  					iNdEx = entryPreIndex
  2468  					skippy, err := skipContainers(dAtA[iNdEx:])
  2469  					if err != nil {
  2470  						return err
  2471  					}
  2472  					if skippy < 0 {
  2473  						return ErrInvalidLengthContainers
  2474  					}
  2475  					if (iNdEx + skippy) > postIndex {
  2476  						return io.ErrUnexpectedEOF
  2477  					}
  2478  					iNdEx += skippy
  2479  				}
  2480  			}
  2481  			m.Extensions[mapkey] = *mapvalue
  2482  			iNdEx = postIndex
  2483  		default:
  2484  			iNdEx = preIndex
  2485  			skippy, err := skipContainers(dAtA[iNdEx:])
  2486  			if err != nil {
  2487  				return err
  2488  			}
  2489  			if skippy < 0 {
  2490  				return ErrInvalidLengthContainers
  2491  			}
  2492  			if (iNdEx + skippy) < 0 {
  2493  				return ErrInvalidLengthContainers
  2494  			}
  2495  			if (iNdEx + skippy) > l {
  2496  				return io.ErrUnexpectedEOF
  2497  			}
  2498  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2499  			iNdEx += skippy
  2500  		}
  2501  	}
  2502  
  2503  	if iNdEx > l {
  2504  		return io.ErrUnexpectedEOF
  2505  	}
  2506  	return nil
  2507  }
  2508  func (m *Container_Runtime) Unmarshal(dAtA []byte) error {
  2509  	l := len(dAtA)
  2510  	iNdEx := 0
  2511  	for iNdEx < l {
  2512  		preIndex := iNdEx
  2513  		var wire uint64
  2514  		for shift := uint(0); ; shift += 7 {
  2515  			if shift >= 64 {
  2516  				return ErrIntOverflowContainers
  2517  			}
  2518  			if iNdEx >= l {
  2519  				return io.ErrUnexpectedEOF
  2520  			}
  2521  			b := dAtA[iNdEx]
  2522  			iNdEx++
  2523  			wire |= uint64(b&0x7F) << shift
  2524  			if b < 0x80 {
  2525  				break
  2526  			}
  2527  		}
  2528  		fieldNum := int32(wire >> 3)
  2529  		wireType := int(wire & 0x7)
  2530  		if wireType == 4 {
  2531  			return fmt.Errorf("proto: Runtime: wiretype end group for non-group")
  2532  		}
  2533  		if fieldNum <= 0 {
  2534  			return fmt.Errorf("proto: Runtime: illegal tag %d (wire type %d)", fieldNum, wire)
  2535  		}
  2536  		switch fieldNum {
  2537  		case 1:
  2538  			if wireType != 2 {
  2539  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2540  			}
  2541  			var stringLen uint64
  2542  			for shift := uint(0); ; shift += 7 {
  2543  				if shift >= 64 {
  2544  					return ErrIntOverflowContainers
  2545  				}
  2546  				if iNdEx >= l {
  2547  					return io.ErrUnexpectedEOF
  2548  				}
  2549  				b := dAtA[iNdEx]
  2550  				iNdEx++
  2551  				stringLen |= uint64(b&0x7F) << shift
  2552  				if b < 0x80 {
  2553  					break
  2554  				}
  2555  			}
  2556  			intStringLen := int(stringLen)
  2557  			if intStringLen < 0 {
  2558  				return ErrInvalidLengthContainers
  2559  			}
  2560  			postIndex := iNdEx + intStringLen
  2561  			if postIndex < 0 {
  2562  				return ErrInvalidLengthContainers
  2563  			}
  2564  			if postIndex > l {
  2565  				return io.ErrUnexpectedEOF
  2566  			}
  2567  			m.Name = string(dAtA[iNdEx:postIndex])
  2568  			iNdEx = postIndex
  2569  		case 2:
  2570  			if wireType != 2 {
  2571  				return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
  2572  			}
  2573  			var msglen int
  2574  			for shift := uint(0); ; shift += 7 {
  2575  				if shift >= 64 {
  2576  					return ErrIntOverflowContainers
  2577  				}
  2578  				if iNdEx >= l {
  2579  					return io.ErrUnexpectedEOF
  2580  				}
  2581  				b := dAtA[iNdEx]
  2582  				iNdEx++
  2583  				msglen |= int(b&0x7F) << shift
  2584  				if b < 0x80 {
  2585  					break
  2586  				}
  2587  			}
  2588  			if msglen < 0 {
  2589  				return ErrInvalidLengthContainers
  2590  			}
  2591  			postIndex := iNdEx + msglen
  2592  			if postIndex < 0 {
  2593  				return ErrInvalidLengthContainers
  2594  			}
  2595  			if postIndex > l {
  2596  				return io.ErrUnexpectedEOF
  2597  			}
  2598  			if m.Options == nil {
  2599  				m.Options = &types.Any{}
  2600  			}
  2601  			if err := m.Options.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2602  				return err
  2603  			}
  2604  			iNdEx = postIndex
  2605  		default:
  2606  			iNdEx = preIndex
  2607  			skippy, err := skipContainers(dAtA[iNdEx:])
  2608  			if err != nil {
  2609  				return err
  2610  			}
  2611  			if skippy < 0 {
  2612  				return ErrInvalidLengthContainers
  2613  			}
  2614  			if (iNdEx + skippy) < 0 {
  2615  				return ErrInvalidLengthContainers
  2616  			}
  2617  			if (iNdEx + skippy) > l {
  2618  				return io.ErrUnexpectedEOF
  2619  			}
  2620  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2621  			iNdEx += skippy
  2622  		}
  2623  	}
  2624  
  2625  	if iNdEx > l {
  2626  		return io.ErrUnexpectedEOF
  2627  	}
  2628  	return nil
  2629  }
  2630  func (m *GetContainerRequest) Unmarshal(dAtA []byte) error {
  2631  	l := len(dAtA)
  2632  	iNdEx := 0
  2633  	for iNdEx < l {
  2634  		preIndex := iNdEx
  2635  		var wire uint64
  2636  		for shift := uint(0); ; shift += 7 {
  2637  			if shift >= 64 {
  2638  				return ErrIntOverflowContainers
  2639  			}
  2640  			if iNdEx >= l {
  2641  				return io.ErrUnexpectedEOF
  2642  			}
  2643  			b := dAtA[iNdEx]
  2644  			iNdEx++
  2645  			wire |= uint64(b&0x7F) << shift
  2646  			if b < 0x80 {
  2647  				break
  2648  			}
  2649  		}
  2650  		fieldNum := int32(wire >> 3)
  2651  		wireType := int(wire & 0x7)
  2652  		if wireType == 4 {
  2653  			return fmt.Errorf("proto: GetContainerRequest: wiretype end group for non-group")
  2654  		}
  2655  		if fieldNum <= 0 {
  2656  			return fmt.Errorf("proto: GetContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2657  		}
  2658  		switch fieldNum {
  2659  		case 1:
  2660  			if wireType != 2 {
  2661  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  2662  			}
  2663  			var stringLen uint64
  2664  			for shift := uint(0); ; shift += 7 {
  2665  				if shift >= 64 {
  2666  					return ErrIntOverflowContainers
  2667  				}
  2668  				if iNdEx >= l {
  2669  					return io.ErrUnexpectedEOF
  2670  				}
  2671  				b := dAtA[iNdEx]
  2672  				iNdEx++
  2673  				stringLen |= uint64(b&0x7F) << shift
  2674  				if b < 0x80 {
  2675  					break
  2676  				}
  2677  			}
  2678  			intStringLen := int(stringLen)
  2679  			if intStringLen < 0 {
  2680  				return ErrInvalidLengthContainers
  2681  			}
  2682  			postIndex := iNdEx + intStringLen
  2683  			if postIndex < 0 {
  2684  				return ErrInvalidLengthContainers
  2685  			}
  2686  			if postIndex > l {
  2687  				return io.ErrUnexpectedEOF
  2688  			}
  2689  			m.ID = string(dAtA[iNdEx:postIndex])
  2690  			iNdEx = postIndex
  2691  		default:
  2692  			iNdEx = preIndex
  2693  			skippy, err := skipContainers(dAtA[iNdEx:])
  2694  			if err != nil {
  2695  				return err
  2696  			}
  2697  			if skippy < 0 {
  2698  				return ErrInvalidLengthContainers
  2699  			}
  2700  			if (iNdEx + skippy) < 0 {
  2701  				return ErrInvalidLengthContainers
  2702  			}
  2703  			if (iNdEx + skippy) > l {
  2704  				return io.ErrUnexpectedEOF
  2705  			}
  2706  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2707  			iNdEx += skippy
  2708  		}
  2709  	}
  2710  
  2711  	if iNdEx > l {
  2712  		return io.ErrUnexpectedEOF
  2713  	}
  2714  	return nil
  2715  }
  2716  func (m *GetContainerResponse) Unmarshal(dAtA []byte) error {
  2717  	l := len(dAtA)
  2718  	iNdEx := 0
  2719  	for iNdEx < l {
  2720  		preIndex := iNdEx
  2721  		var wire uint64
  2722  		for shift := uint(0); ; shift += 7 {
  2723  			if shift >= 64 {
  2724  				return ErrIntOverflowContainers
  2725  			}
  2726  			if iNdEx >= l {
  2727  				return io.ErrUnexpectedEOF
  2728  			}
  2729  			b := dAtA[iNdEx]
  2730  			iNdEx++
  2731  			wire |= uint64(b&0x7F) << shift
  2732  			if b < 0x80 {
  2733  				break
  2734  			}
  2735  		}
  2736  		fieldNum := int32(wire >> 3)
  2737  		wireType := int(wire & 0x7)
  2738  		if wireType == 4 {
  2739  			return fmt.Errorf("proto: GetContainerResponse: wiretype end group for non-group")
  2740  		}
  2741  		if fieldNum <= 0 {
  2742  			return fmt.Errorf("proto: GetContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2743  		}
  2744  		switch fieldNum {
  2745  		case 1:
  2746  			if wireType != 2 {
  2747  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  2748  			}
  2749  			var msglen int
  2750  			for shift := uint(0); ; shift += 7 {
  2751  				if shift >= 64 {
  2752  					return ErrIntOverflowContainers
  2753  				}
  2754  				if iNdEx >= l {
  2755  					return io.ErrUnexpectedEOF
  2756  				}
  2757  				b := dAtA[iNdEx]
  2758  				iNdEx++
  2759  				msglen |= int(b&0x7F) << shift
  2760  				if b < 0x80 {
  2761  					break
  2762  				}
  2763  			}
  2764  			if msglen < 0 {
  2765  				return ErrInvalidLengthContainers
  2766  			}
  2767  			postIndex := iNdEx + msglen
  2768  			if postIndex < 0 {
  2769  				return ErrInvalidLengthContainers
  2770  			}
  2771  			if postIndex > l {
  2772  				return io.ErrUnexpectedEOF
  2773  			}
  2774  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2775  				return err
  2776  			}
  2777  			iNdEx = postIndex
  2778  		default:
  2779  			iNdEx = preIndex
  2780  			skippy, err := skipContainers(dAtA[iNdEx:])
  2781  			if err != nil {
  2782  				return err
  2783  			}
  2784  			if skippy < 0 {
  2785  				return ErrInvalidLengthContainers
  2786  			}
  2787  			if (iNdEx + skippy) < 0 {
  2788  				return ErrInvalidLengthContainers
  2789  			}
  2790  			if (iNdEx + skippy) > l {
  2791  				return io.ErrUnexpectedEOF
  2792  			}
  2793  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2794  			iNdEx += skippy
  2795  		}
  2796  	}
  2797  
  2798  	if iNdEx > l {
  2799  		return io.ErrUnexpectedEOF
  2800  	}
  2801  	return nil
  2802  }
  2803  func (m *ListContainersRequest) Unmarshal(dAtA []byte) error {
  2804  	l := len(dAtA)
  2805  	iNdEx := 0
  2806  	for iNdEx < l {
  2807  		preIndex := iNdEx
  2808  		var wire uint64
  2809  		for shift := uint(0); ; shift += 7 {
  2810  			if shift >= 64 {
  2811  				return ErrIntOverflowContainers
  2812  			}
  2813  			if iNdEx >= l {
  2814  				return io.ErrUnexpectedEOF
  2815  			}
  2816  			b := dAtA[iNdEx]
  2817  			iNdEx++
  2818  			wire |= uint64(b&0x7F) << shift
  2819  			if b < 0x80 {
  2820  				break
  2821  			}
  2822  		}
  2823  		fieldNum := int32(wire >> 3)
  2824  		wireType := int(wire & 0x7)
  2825  		if wireType == 4 {
  2826  			return fmt.Errorf("proto: ListContainersRequest: wiretype end group for non-group")
  2827  		}
  2828  		if fieldNum <= 0 {
  2829  			return fmt.Errorf("proto: ListContainersRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2830  		}
  2831  		switch fieldNum {
  2832  		case 1:
  2833  			if wireType != 2 {
  2834  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
  2835  			}
  2836  			var stringLen uint64
  2837  			for shift := uint(0); ; shift += 7 {
  2838  				if shift >= 64 {
  2839  					return ErrIntOverflowContainers
  2840  				}
  2841  				if iNdEx >= l {
  2842  					return io.ErrUnexpectedEOF
  2843  				}
  2844  				b := dAtA[iNdEx]
  2845  				iNdEx++
  2846  				stringLen |= uint64(b&0x7F) << shift
  2847  				if b < 0x80 {
  2848  					break
  2849  				}
  2850  			}
  2851  			intStringLen := int(stringLen)
  2852  			if intStringLen < 0 {
  2853  				return ErrInvalidLengthContainers
  2854  			}
  2855  			postIndex := iNdEx + intStringLen
  2856  			if postIndex < 0 {
  2857  				return ErrInvalidLengthContainers
  2858  			}
  2859  			if postIndex > l {
  2860  				return io.ErrUnexpectedEOF
  2861  			}
  2862  			m.Filters = append(m.Filters, string(dAtA[iNdEx:postIndex]))
  2863  			iNdEx = postIndex
  2864  		default:
  2865  			iNdEx = preIndex
  2866  			skippy, err := skipContainers(dAtA[iNdEx:])
  2867  			if err != nil {
  2868  				return err
  2869  			}
  2870  			if skippy < 0 {
  2871  				return ErrInvalidLengthContainers
  2872  			}
  2873  			if (iNdEx + skippy) < 0 {
  2874  				return ErrInvalidLengthContainers
  2875  			}
  2876  			if (iNdEx + skippy) > l {
  2877  				return io.ErrUnexpectedEOF
  2878  			}
  2879  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2880  			iNdEx += skippy
  2881  		}
  2882  	}
  2883  
  2884  	if iNdEx > l {
  2885  		return io.ErrUnexpectedEOF
  2886  	}
  2887  	return nil
  2888  }
  2889  func (m *ListContainersResponse) Unmarshal(dAtA []byte) error {
  2890  	l := len(dAtA)
  2891  	iNdEx := 0
  2892  	for iNdEx < l {
  2893  		preIndex := iNdEx
  2894  		var wire uint64
  2895  		for shift := uint(0); ; shift += 7 {
  2896  			if shift >= 64 {
  2897  				return ErrIntOverflowContainers
  2898  			}
  2899  			if iNdEx >= l {
  2900  				return io.ErrUnexpectedEOF
  2901  			}
  2902  			b := dAtA[iNdEx]
  2903  			iNdEx++
  2904  			wire |= uint64(b&0x7F) << shift
  2905  			if b < 0x80 {
  2906  				break
  2907  			}
  2908  		}
  2909  		fieldNum := int32(wire >> 3)
  2910  		wireType := int(wire & 0x7)
  2911  		if wireType == 4 {
  2912  			return fmt.Errorf("proto: ListContainersResponse: wiretype end group for non-group")
  2913  		}
  2914  		if fieldNum <= 0 {
  2915  			return fmt.Errorf("proto: ListContainersResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2916  		}
  2917  		switch fieldNum {
  2918  		case 1:
  2919  			if wireType != 2 {
  2920  				return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType)
  2921  			}
  2922  			var msglen int
  2923  			for shift := uint(0); ; shift += 7 {
  2924  				if shift >= 64 {
  2925  					return ErrIntOverflowContainers
  2926  				}
  2927  				if iNdEx >= l {
  2928  					return io.ErrUnexpectedEOF
  2929  				}
  2930  				b := dAtA[iNdEx]
  2931  				iNdEx++
  2932  				msglen |= int(b&0x7F) << shift
  2933  				if b < 0x80 {
  2934  					break
  2935  				}
  2936  			}
  2937  			if msglen < 0 {
  2938  				return ErrInvalidLengthContainers
  2939  			}
  2940  			postIndex := iNdEx + msglen
  2941  			if postIndex < 0 {
  2942  				return ErrInvalidLengthContainers
  2943  			}
  2944  			if postIndex > l {
  2945  				return io.ErrUnexpectedEOF
  2946  			}
  2947  			m.Containers = append(m.Containers, Container{})
  2948  			if err := m.Containers[len(m.Containers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2949  				return err
  2950  			}
  2951  			iNdEx = postIndex
  2952  		default:
  2953  			iNdEx = preIndex
  2954  			skippy, err := skipContainers(dAtA[iNdEx:])
  2955  			if err != nil {
  2956  				return err
  2957  			}
  2958  			if skippy < 0 {
  2959  				return ErrInvalidLengthContainers
  2960  			}
  2961  			if (iNdEx + skippy) < 0 {
  2962  				return ErrInvalidLengthContainers
  2963  			}
  2964  			if (iNdEx + skippy) > l {
  2965  				return io.ErrUnexpectedEOF
  2966  			}
  2967  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2968  			iNdEx += skippy
  2969  		}
  2970  	}
  2971  
  2972  	if iNdEx > l {
  2973  		return io.ErrUnexpectedEOF
  2974  	}
  2975  	return nil
  2976  }
  2977  func (m *CreateContainerRequest) Unmarshal(dAtA []byte) error {
  2978  	l := len(dAtA)
  2979  	iNdEx := 0
  2980  	for iNdEx < l {
  2981  		preIndex := iNdEx
  2982  		var wire uint64
  2983  		for shift := uint(0); ; shift += 7 {
  2984  			if shift >= 64 {
  2985  				return ErrIntOverflowContainers
  2986  			}
  2987  			if iNdEx >= l {
  2988  				return io.ErrUnexpectedEOF
  2989  			}
  2990  			b := dAtA[iNdEx]
  2991  			iNdEx++
  2992  			wire |= uint64(b&0x7F) << shift
  2993  			if b < 0x80 {
  2994  				break
  2995  			}
  2996  		}
  2997  		fieldNum := int32(wire >> 3)
  2998  		wireType := int(wire & 0x7)
  2999  		if wireType == 4 {
  3000  			return fmt.Errorf("proto: CreateContainerRequest: wiretype end group for non-group")
  3001  		}
  3002  		if fieldNum <= 0 {
  3003  			return fmt.Errorf("proto: CreateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  3004  		}
  3005  		switch fieldNum {
  3006  		case 1:
  3007  			if wireType != 2 {
  3008  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  3009  			}
  3010  			var msglen int
  3011  			for shift := uint(0); ; shift += 7 {
  3012  				if shift >= 64 {
  3013  					return ErrIntOverflowContainers
  3014  				}
  3015  				if iNdEx >= l {
  3016  					return io.ErrUnexpectedEOF
  3017  				}
  3018  				b := dAtA[iNdEx]
  3019  				iNdEx++
  3020  				msglen |= int(b&0x7F) << shift
  3021  				if b < 0x80 {
  3022  					break
  3023  				}
  3024  			}
  3025  			if msglen < 0 {
  3026  				return ErrInvalidLengthContainers
  3027  			}
  3028  			postIndex := iNdEx + msglen
  3029  			if postIndex < 0 {
  3030  				return ErrInvalidLengthContainers
  3031  			}
  3032  			if postIndex > l {
  3033  				return io.ErrUnexpectedEOF
  3034  			}
  3035  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3036  				return err
  3037  			}
  3038  			iNdEx = postIndex
  3039  		default:
  3040  			iNdEx = preIndex
  3041  			skippy, err := skipContainers(dAtA[iNdEx:])
  3042  			if err != nil {
  3043  				return err
  3044  			}
  3045  			if skippy < 0 {
  3046  				return ErrInvalidLengthContainers
  3047  			}
  3048  			if (iNdEx + skippy) < 0 {
  3049  				return ErrInvalidLengthContainers
  3050  			}
  3051  			if (iNdEx + skippy) > l {
  3052  				return io.ErrUnexpectedEOF
  3053  			}
  3054  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3055  			iNdEx += skippy
  3056  		}
  3057  	}
  3058  
  3059  	if iNdEx > l {
  3060  		return io.ErrUnexpectedEOF
  3061  	}
  3062  	return nil
  3063  }
  3064  func (m *CreateContainerResponse) Unmarshal(dAtA []byte) error {
  3065  	l := len(dAtA)
  3066  	iNdEx := 0
  3067  	for iNdEx < l {
  3068  		preIndex := iNdEx
  3069  		var wire uint64
  3070  		for shift := uint(0); ; shift += 7 {
  3071  			if shift >= 64 {
  3072  				return ErrIntOverflowContainers
  3073  			}
  3074  			if iNdEx >= l {
  3075  				return io.ErrUnexpectedEOF
  3076  			}
  3077  			b := dAtA[iNdEx]
  3078  			iNdEx++
  3079  			wire |= uint64(b&0x7F) << shift
  3080  			if b < 0x80 {
  3081  				break
  3082  			}
  3083  		}
  3084  		fieldNum := int32(wire >> 3)
  3085  		wireType := int(wire & 0x7)
  3086  		if wireType == 4 {
  3087  			return fmt.Errorf("proto: CreateContainerResponse: wiretype end group for non-group")
  3088  		}
  3089  		if fieldNum <= 0 {
  3090  			return fmt.Errorf("proto: CreateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  3091  		}
  3092  		switch fieldNum {
  3093  		case 1:
  3094  			if wireType != 2 {
  3095  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  3096  			}
  3097  			var msglen int
  3098  			for shift := uint(0); ; shift += 7 {
  3099  				if shift >= 64 {
  3100  					return ErrIntOverflowContainers
  3101  				}
  3102  				if iNdEx >= l {
  3103  					return io.ErrUnexpectedEOF
  3104  				}
  3105  				b := dAtA[iNdEx]
  3106  				iNdEx++
  3107  				msglen |= int(b&0x7F) << shift
  3108  				if b < 0x80 {
  3109  					break
  3110  				}
  3111  			}
  3112  			if msglen < 0 {
  3113  				return ErrInvalidLengthContainers
  3114  			}
  3115  			postIndex := iNdEx + msglen
  3116  			if postIndex < 0 {
  3117  				return ErrInvalidLengthContainers
  3118  			}
  3119  			if postIndex > l {
  3120  				return io.ErrUnexpectedEOF
  3121  			}
  3122  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3123  				return err
  3124  			}
  3125  			iNdEx = postIndex
  3126  		default:
  3127  			iNdEx = preIndex
  3128  			skippy, err := skipContainers(dAtA[iNdEx:])
  3129  			if err != nil {
  3130  				return err
  3131  			}
  3132  			if skippy < 0 {
  3133  				return ErrInvalidLengthContainers
  3134  			}
  3135  			if (iNdEx + skippy) < 0 {
  3136  				return ErrInvalidLengthContainers
  3137  			}
  3138  			if (iNdEx + skippy) > l {
  3139  				return io.ErrUnexpectedEOF
  3140  			}
  3141  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3142  			iNdEx += skippy
  3143  		}
  3144  	}
  3145  
  3146  	if iNdEx > l {
  3147  		return io.ErrUnexpectedEOF
  3148  	}
  3149  	return nil
  3150  }
  3151  func (m *UpdateContainerRequest) Unmarshal(dAtA []byte) error {
  3152  	l := len(dAtA)
  3153  	iNdEx := 0
  3154  	for iNdEx < l {
  3155  		preIndex := iNdEx
  3156  		var wire uint64
  3157  		for shift := uint(0); ; shift += 7 {
  3158  			if shift >= 64 {
  3159  				return ErrIntOverflowContainers
  3160  			}
  3161  			if iNdEx >= l {
  3162  				return io.ErrUnexpectedEOF
  3163  			}
  3164  			b := dAtA[iNdEx]
  3165  			iNdEx++
  3166  			wire |= uint64(b&0x7F) << shift
  3167  			if b < 0x80 {
  3168  				break
  3169  			}
  3170  		}
  3171  		fieldNum := int32(wire >> 3)
  3172  		wireType := int(wire & 0x7)
  3173  		if wireType == 4 {
  3174  			return fmt.Errorf("proto: UpdateContainerRequest: wiretype end group for non-group")
  3175  		}
  3176  		if fieldNum <= 0 {
  3177  			return fmt.Errorf("proto: UpdateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  3178  		}
  3179  		switch fieldNum {
  3180  		case 1:
  3181  			if wireType != 2 {
  3182  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  3183  			}
  3184  			var msglen int
  3185  			for shift := uint(0); ; shift += 7 {
  3186  				if shift >= 64 {
  3187  					return ErrIntOverflowContainers
  3188  				}
  3189  				if iNdEx >= l {
  3190  					return io.ErrUnexpectedEOF
  3191  				}
  3192  				b := dAtA[iNdEx]
  3193  				iNdEx++
  3194  				msglen |= int(b&0x7F) << shift
  3195  				if b < 0x80 {
  3196  					break
  3197  				}
  3198  			}
  3199  			if msglen < 0 {
  3200  				return ErrInvalidLengthContainers
  3201  			}
  3202  			postIndex := iNdEx + msglen
  3203  			if postIndex < 0 {
  3204  				return ErrInvalidLengthContainers
  3205  			}
  3206  			if postIndex > l {
  3207  				return io.ErrUnexpectedEOF
  3208  			}
  3209  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3210  				return err
  3211  			}
  3212  			iNdEx = postIndex
  3213  		case 2:
  3214  			if wireType != 2 {
  3215  				return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType)
  3216  			}
  3217  			var msglen int
  3218  			for shift := uint(0); ; shift += 7 {
  3219  				if shift >= 64 {
  3220  					return ErrIntOverflowContainers
  3221  				}
  3222  				if iNdEx >= l {
  3223  					return io.ErrUnexpectedEOF
  3224  				}
  3225  				b := dAtA[iNdEx]
  3226  				iNdEx++
  3227  				msglen |= int(b&0x7F) << shift
  3228  				if b < 0x80 {
  3229  					break
  3230  				}
  3231  			}
  3232  			if msglen < 0 {
  3233  				return ErrInvalidLengthContainers
  3234  			}
  3235  			postIndex := iNdEx + msglen
  3236  			if postIndex < 0 {
  3237  				return ErrInvalidLengthContainers
  3238  			}
  3239  			if postIndex > l {
  3240  				return io.ErrUnexpectedEOF
  3241  			}
  3242  			if m.UpdateMask == nil {
  3243  				m.UpdateMask = &types.FieldMask{}
  3244  			}
  3245  			if err := m.UpdateMask.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3246  				return err
  3247  			}
  3248  			iNdEx = postIndex
  3249  		default:
  3250  			iNdEx = preIndex
  3251  			skippy, err := skipContainers(dAtA[iNdEx:])
  3252  			if err != nil {
  3253  				return err
  3254  			}
  3255  			if skippy < 0 {
  3256  				return ErrInvalidLengthContainers
  3257  			}
  3258  			if (iNdEx + skippy) < 0 {
  3259  				return ErrInvalidLengthContainers
  3260  			}
  3261  			if (iNdEx + skippy) > l {
  3262  				return io.ErrUnexpectedEOF
  3263  			}
  3264  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3265  			iNdEx += skippy
  3266  		}
  3267  	}
  3268  
  3269  	if iNdEx > l {
  3270  		return io.ErrUnexpectedEOF
  3271  	}
  3272  	return nil
  3273  }
  3274  func (m *UpdateContainerResponse) Unmarshal(dAtA []byte) error {
  3275  	l := len(dAtA)
  3276  	iNdEx := 0
  3277  	for iNdEx < l {
  3278  		preIndex := iNdEx
  3279  		var wire uint64
  3280  		for shift := uint(0); ; shift += 7 {
  3281  			if shift >= 64 {
  3282  				return ErrIntOverflowContainers
  3283  			}
  3284  			if iNdEx >= l {
  3285  				return io.ErrUnexpectedEOF
  3286  			}
  3287  			b := dAtA[iNdEx]
  3288  			iNdEx++
  3289  			wire |= uint64(b&0x7F) << shift
  3290  			if b < 0x80 {
  3291  				break
  3292  			}
  3293  		}
  3294  		fieldNum := int32(wire >> 3)
  3295  		wireType := int(wire & 0x7)
  3296  		if wireType == 4 {
  3297  			return fmt.Errorf("proto: UpdateContainerResponse: wiretype end group for non-group")
  3298  		}
  3299  		if fieldNum <= 0 {
  3300  			return fmt.Errorf("proto: UpdateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  3301  		}
  3302  		switch fieldNum {
  3303  		case 1:
  3304  			if wireType != 2 {
  3305  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  3306  			}
  3307  			var msglen int
  3308  			for shift := uint(0); ; shift += 7 {
  3309  				if shift >= 64 {
  3310  					return ErrIntOverflowContainers
  3311  				}
  3312  				if iNdEx >= l {
  3313  					return io.ErrUnexpectedEOF
  3314  				}
  3315  				b := dAtA[iNdEx]
  3316  				iNdEx++
  3317  				msglen |= int(b&0x7F) << shift
  3318  				if b < 0x80 {
  3319  					break
  3320  				}
  3321  			}
  3322  			if msglen < 0 {
  3323  				return ErrInvalidLengthContainers
  3324  			}
  3325  			postIndex := iNdEx + msglen
  3326  			if postIndex < 0 {
  3327  				return ErrInvalidLengthContainers
  3328  			}
  3329  			if postIndex > l {
  3330  				return io.ErrUnexpectedEOF
  3331  			}
  3332  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3333  				return err
  3334  			}
  3335  			iNdEx = postIndex
  3336  		default:
  3337  			iNdEx = preIndex
  3338  			skippy, err := skipContainers(dAtA[iNdEx:])
  3339  			if err != nil {
  3340  				return err
  3341  			}
  3342  			if skippy < 0 {
  3343  				return ErrInvalidLengthContainers
  3344  			}
  3345  			if (iNdEx + skippy) < 0 {
  3346  				return ErrInvalidLengthContainers
  3347  			}
  3348  			if (iNdEx + skippy) > l {
  3349  				return io.ErrUnexpectedEOF
  3350  			}
  3351  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3352  			iNdEx += skippy
  3353  		}
  3354  	}
  3355  
  3356  	if iNdEx > l {
  3357  		return io.ErrUnexpectedEOF
  3358  	}
  3359  	return nil
  3360  }
  3361  func (m *DeleteContainerRequest) Unmarshal(dAtA []byte) error {
  3362  	l := len(dAtA)
  3363  	iNdEx := 0
  3364  	for iNdEx < l {
  3365  		preIndex := iNdEx
  3366  		var wire uint64
  3367  		for shift := uint(0); ; shift += 7 {
  3368  			if shift >= 64 {
  3369  				return ErrIntOverflowContainers
  3370  			}
  3371  			if iNdEx >= l {
  3372  				return io.ErrUnexpectedEOF
  3373  			}
  3374  			b := dAtA[iNdEx]
  3375  			iNdEx++
  3376  			wire |= uint64(b&0x7F) << shift
  3377  			if b < 0x80 {
  3378  				break
  3379  			}
  3380  		}
  3381  		fieldNum := int32(wire >> 3)
  3382  		wireType := int(wire & 0x7)
  3383  		if wireType == 4 {
  3384  			return fmt.Errorf("proto: DeleteContainerRequest: wiretype end group for non-group")
  3385  		}
  3386  		if fieldNum <= 0 {
  3387  			return fmt.Errorf("proto: DeleteContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  3388  		}
  3389  		switch fieldNum {
  3390  		case 1:
  3391  			if wireType != 2 {
  3392  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  3393  			}
  3394  			var stringLen uint64
  3395  			for shift := uint(0); ; shift += 7 {
  3396  				if shift >= 64 {
  3397  					return ErrIntOverflowContainers
  3398  				}
  3399  				if iNdEx >= l {
  3400  					return io.ErrUnexpectedEOF
  3401  				}
  3402  				b := dAtA[iNdEx]
  3403  				iNdEx++
  3404  				stringLen |= uint64(b&0x7F) << shift
  3405  				if b < 0x80 {
  3406  					break
  3407  				}
  3408  			}
  3409  			intStringLen := int(stringLen)
  3410  			if intStringLen < 0 {
  3411  				return ErrInvalidLengthContainers
  3412  			}
  3413  			postIndex := iNdEx + intStringLen
  3414  			if postIndex < 0 {
  3415  				return ErrInvalidLengthContainers
  3416  			}
  3417  			if postIndex > l {
  3418  				return io.ErrUnexpectedEOF
  3419  			}
  3420  			m.ID = string(dAtA[iNdEx:postIndex])
  3421  			iNdEx = postIndex
  3422  		default:
  3423  			iNdEx = preIndex
  3424  			skippy, err := skipContainers(dAtA[iNdEx:])
  3425  			if err != nil {
  3426  				return err
  3427  			}
  3428  			if skippy < 0 {
  3429  				return ErrInvalidLengthContainers
  3430  			}
  3431  			if (iNdEx + skippy) < 0 {
  3432  				return ErrInvalidLengthContainers
  3433  			}
  3434  			if (iNdEx + skippy) > l {
  3435  				return io.ErrUnexpectedEOF
  3436  			}
  3437  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3438  			iNdEx += skippy
  3439  		}
  3440  	}
  3441  
  3442  	if iNdEx > l {
  3443  		return io.ErrUnexpectedEOF
  3444  	}
  3445  	return nil
  3446  }
  3447  func (m *ListContainerMessage) Unmarshal(dAtA []byte) error {
  3448  	l := len(dAtA)
  3449  	iNdEx := 0
  3450  	for iNdEx < l {
  3451  		preIndex := iNdEx
  3452  		var wire uint64
  3453  		for shift := uint(0); ; shift += 7 {
  3454  			if shift >= 64 {
  3455  				return ErrIntOverflowContainers
  3456  			}
  3457  			if iNdEx >= l {
  3458  				return io.ErrUnexpectedEOF
  3459  			}
  3460  			b := dAtA[iNdEx]
  3461  			iNdEx++
  3462  			wire |= uint64(b&0x7F) << shift
  3463  			if b < 0x80 {
  3464  				break
  3465  			}
  3466  		}
  3467  		fieldNum := int32(wire >> 3)
  3468  		wireType := int(wire & 0x7)
  3469  		if wireType == 4 {
  3470  			return fmt.Errorf("proto: ListContainerMessage: wiretype end group for non-group")
  3471  		}
  3472  		if fieldNum <= 0 {
  3473  			return fmt.Errorf("proto: ListContainerMessage: illegal tag %d (wire type %d)", fieldNum, wire)
  3474  		}
  3475  		switch fieldNum {
  3476  		case 1:
  3477  			if wireType != 2 {
  3478  				return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType)
  3479  			}
  3480  			var msglen int
  3481  			for shift := uint(0); ; shift += 7 {
  3482  				if shift >= 64 {
  3483  					return ErrIntOverflowContainers
  3484  				}
  3485  				if iNdEx >= l {
  3486  					return io.ErrUnexpectedEOF
  3487  				}
  3488  				b := dAtA[iNdEx]
  3489  				iNdEx++
  3490  				msglen |= int(b&0x7F) << shift
  3491  				if b < 0x80 {
  3492  					break
  3493  				}
  3494  			}
  3495  			if msglen < 0 {
  3496  				return ErrInvalidLengthContainers
  3497  			}
  3498  			postIndex := iNdEx + msglen
  3499  			if postIndex < 0 {
  3500  				return ErrInvalidLengthContainers
  3501  			}
  3502  			if postIndex > l {
  3503  				return io.ErrUnexpectedEOF
  3504  			}
  3505  			if m.Container == nil {
  3506  				m.Container = &Container{}
  3507  			}
  3508  			if err := m.Container.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3509  				return err
  3510  			}
  3511  			iNdEx = postIndex
  3512  		default:
  3513  			iNdEx = preIndex
  3514  			skippy, err := skipContainers(dAtA[iNdEx:])
  3515  			if err != nil {
  3516  				return err
  3517  			}
  3518  			if skippy < 0 {
  3519  				return ErrInvalidLengthContainers
  3520  			}
  3521  			if (iNdEx + skippy) < 0 {
  3522  				return ErrInvalidLengthContainers
  3523  			}
  3524  			if (iNdEx + skippy) > l {
  3525  				return io.ErrUnexpectedEOF
  3526  			}
  3527  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  3528  			iNdEx += skippy
  3529  		}
  3530  	}
  3531  
  3532  	if iNdEx > l {
  3533  		return io.ErrUnexpectedEOF
  3534  	}
  3535  	return nil
  3536  }
  3537  func skipContainers(dAtA []byte) (n int, err error) {
  3538  	l := len(dAtA)
  3539  	iNdEx := 0
  3540  	depth := 0
  3541  	for iNdEx < l {
  3542  		var wire uint64
  3543  		for shift := uint(0); ; shift += 7 {
  3544  			if shift >= 64 {
  3545  				return 0, ErrIntOverflowContainers
  3546  			}
  3547  			if iNdEx >= l {
  3548  				return 0, io.ErrUnexpectedEOF
  3549  			}
  3550  			b := dAtA[iNdEx]
  3551  			iNdEx++
  3552  			wire |= (uint64(b) & 0x7F) << shift
  3553  			if b < 0x80 {
  3554  				break
  3555  			}
  3556  		}
  3557  		wireType := int(wire & 0x7)
  3558  		switch wireType {
  3559  		case 0:
  3560  			for shift := uint(0); ; shift += 7 {
  3561  				if shift >= 64 {
  3562  					return 0, ErrIntOverflowContainers
  3563  				}
  3564  				if iNdEx >= l {
  3565  					return 0, io.ErrUnexpectedEOF
  3566  				}
  3567  				iNdEx++
  3568  				if dAtA[iNdEx-1] < 0x80 {
  3569  					break
  3570  				}
  3571  			}
  3572  		case 1:
  3573  			iNdEx += 8
  3574  		case 2:
  3575  			var length int
  3576  			for shift := uint(0); ; shift += 7 {
  3577  				if shift >= 64 {
  3578  					return 0, ErrIntOverflowContainers
  3579  				}
  3580  				if iNdEx >= l {
  3581  					return 0, io.ErrUnexpectedEOF
  3582  				}
  3583  				b := dAtA[iNdEx]
  3584  				iNdEx++
  3585  				length |= (int(b) & 0x7F) << shift
  3586  				if b < 0x80 {
  3587  					break
  3588  				}
  3589  			}
  3590  			if length < 0 {
  3591  				return 0, ErrInvalidLengthContainers
  3592  			}
  3593  			iNdEx += length
  3594  		case 3:
  3595  			depth++
  3596  		case 4:
  3597  			if depth == 0 {
  3598  				return 0, ErrUnexpectedEndOfGroupContainers
  3599  			}
  3600  			depth--
  3601  		case 5:
  3602  			iNdEx += 4
  3603  		default:
  3604  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3605  		}
  3606  		if iNdEx < 0 {
  3607  			return 0, ErrInvalidLengthContainers
  3608  		}
  3609  		if depth == 0 {
  3610  			return iNdEx, nil
  3611  		}
  3612  	}
  3613  	return 0, io.ErrUnexpectedEOF
  3614  }
  3615  
  3616  var (
  3617  	ErrInvalidLengthContainers        = fmt.Errorf("proto: negative length found during unmarshaling")
  3618  	ErrIntOverflowContainers          = fmt.Errorf("proto: integer overflow")
  3619  	ErrUnexpectedEndOfGroupContainers = fmt.Errorf("proto: unexpected end of group")
  3620  )