Change runtime options to *Any

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2017-06-29 15:32:24 -07:00
parent 72831b6985
commit 96dbb08ec4
10 changed files with 156 additions and 354 deletions

View File

@ -101,7 +101,7 @@ type Container_Runtime struct {
// Name is the name of the runtime. // Name is the name of the runtime.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Options specify additional runtime initialization options. // Options specify additional runtime initialization options.
Options map[string]string `protobuf:"bytes,2,rep,name=options" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Options *google_protobuf1.Any `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
} }
func (m *Container_Runtime) Reset() { *m = Container_Runtime{} } func (m *Container_Runtime) Reset() { *m = Container_Runtime{} }
@ -523,22 +523,15 @@ func (m *Container_Runtime) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintContainers(dAtA, i, uint64(len(m.Name))) i = encodeVarintContainers(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name) i += copy(dAtA[i:], m.Name)
} }
if len(m.Options) > 0 { if m.Options != nil {
for k, _ := range m.Options {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
v := m.Options[k] i = encodeVarintContainers(dAtA, i, uint64(m.Options.Size()))
mapSize := 1 + len(k) + sovContainers(uint64(len(k))) + 1 + len(v) + sovContainers(uint64(len(v))) n5, err := m.Options.MarshalTo(dAtA[i:])
i = encodeVarintContainers(dAtA, i, uint64(mapSize)) if err != nil {
dAtA[i] = 0xa return 0, err
i++
i = encodeVarintContainers(dAtA, i, uint64(len(k)))
i += copy(dAtA[i:], k)
dAtA[i] = 0x12
i++
i = encodeVarintContainers(dAtA, i, uint64(len(v)))
i += copy(dAtA[i:], v)
} }
i += n5
} }
return i, nil return i, nil
} }
@ -585,11 +578,11 @@ func (m *GetContainerResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size())) i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size()))
n5, err := m.Container.MarshalTo(dAtA[i:]) n6, err := m.Container.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n5 i += n6
return i, nil return i, nil
} }
@ -665,11 +658,11 @@ func (m *CreateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size())) i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size()))
n6, err := m.Container.MarshalTo(dAtA[i:]) n7, err := m.Container.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n6 i += n7
return i, nil return i, nil
} }
@ -691,11 +684,11 @@ func (m *CreateContainerResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size())) i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size()))
n7, err := m.Container.MarshalTo(dAtA[i:]) n8, err := m.Container.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n7 i += n8
return i, nil return i, nil
} }
@ -717,20 +710,20 @@ func (m *UpdateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size())) i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size()))
n8, err := m.Container.MarshalTo(dAtA[i:]) n9, err := m.Container.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n8
if m.UpdateMask != nil {
dAtA[i] = 0x12
i++
i = encodeVarintContainers(dAtA, i, uint64(m.UpdateMask.Size()))
n9, err := m.UpdateMask.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n9 i += n9
if m.UpdateMask != nil {
dAtA[i] = 0x12
i++
i = encodeVarintContainers(dAtA, i, uint64(m.UpdateMask.Size()))
n10, err := m.UpdateMask.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n10
} }
return i, nil return i, nil
} }
@ -753,11 +746,11 @@ func (m *UpdateContainerResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size())) i = encodeVarintContainers(dAtA, i, uint64(m.Container.Size()))
n10, err := m.Container.MarshalTo(dAtA[i:]) n11, err := m.Container.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n10 i += n11
return i, nil return i, nil
} }
@ -857,13 +850,9 @@ func (m *Container_Runtime) Size() (n int) {
if l > 0 { if l > 0 {
n += 1 + l + sovContainers(uint64(l)) n += 1 + l + sovContainers(uint64(l))
} }
if len(m.Options) > 0 { if m.Options != nil {
for k, v := range m.Options { l = m.Options.Size()
_ = k n += 1 + l + sovContainers(uint64(l))
_ = v
mapEntrySize := 1 + len(k) + sovContainers(uint64(len(k))) + 1 + len(v) + sovContainers(uint64(len(v)))
n += mapEntrySize + 1 + sovContainers(uint64(mapEntrySize))
}
} }
return n return n
} }
@ -998,19 +987,9 @@ func (this *Container_Runtime) String() string {
if this == nil { if this == nil {
return "nil" return "nil"
} }
keysForOptions := make([]string, 0, len(this.Options))
for k, _ := range this.Options {
keysForOptions = append(keysForOptions, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForOptions)
mapStringForOptions := "map[string]string{"
for _, k := range keysForOptions {
mapStringForOptions += fmt.Sprintf("%v: %v,", k, this.Options[k])
}
mapStringForOptions += "}"
s := strings.Join([]string{`&Container_Runtime{`, s := strings.Join([]string{`&Container_Runtime{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Options:` + mapStringForOptions + `,`, `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Any", "google_protobuf1.Any", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -1577,94 +1556,11 @@ func (m *Container_Runtime) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
var keykey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainers
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
keykey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainers
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLenmapkey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
return ErrInvalidLengthContainers
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
}
mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
iNdEx = postStringIndexmapkey
if m.Options == nil { if m.Options == nil {
m.Options = make(map[string]string) m.Options = &google_protobuf1.Any{}
} }
if iNdEx < postIndex { if err := m.Options.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
var valuekey uint64 return err
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainers
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
valuekey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainers
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLenmapvalue |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
return ErrInvalidLengthContainers
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
}
mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
iNdEx = postStringIndexmapvalue
m.Options[mapkey] = mapvalue
} else {
var mapvalue string
m.Options[mapkey] = mapvalue
} }
iNdEx = postIndex iNdEx = postIndex
default: default:
@ -2549,53 +2445,52 @@ func init() {
} }
var fileDescriptorContainers = []byte{ var fileDescriptorContainers = []byte{
// 756 bytes of a gzipped FileDescriptorProto // 738 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x72, 0x12, 0x4b, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xd3, 0x4a,
0x14, 0xce, 0x00, 0x19, 0xc2, 0xe1, 0x2e, 0x6e, 0xf5, 0xe5, 0x72, 0xe7, 0x8e, 0x55, 0x80, 0xac, 0x14, 0xae, 0x93, 0xd4, 0x69, 0x4e, 0x36, 0x57, 0x73, 0x73, 0x73, 0x8d, 0x91, 0x92, 0x90, 0x55,
0x58, 0xe8, 0x8c, 0x41, 0x4b, 0xf3, 0xb3, 0x82, 0xfc, 0x95, 0x55, 0x51, 0x53, 0xad, 0x6e, 0xcc, 0x16, 0x60, 0xd3, 0x80, 0xa0, 0x3f, 0xab, 0xa6, 0x7f, 0x42, 0x6a, 0x51, 0x35, 0xc0, 0x06, 0x16,
0x22, 0x0e, 0xd0, 0x90, 0x91, 0x61, 0x7a, 0x9c, 0x6e, 0xa8, 0xa2, 0x5c, 0xe8, 0x23, 0xf8, 0x16, 0xc5, 0x49, 0x26, 0xa9, 0x89, 0xe3, 0x31, 0x9e, 0x49, 0xa4, 0x88, 0x05, 0x3c, 0x02, 0x6f, 0xc1,
0x79, 0x03, 0x9f, 0x21, 0x4b, 0x97, 0xae, 0x62, 0xc2, 0x93, 0x58, 0xd3, 0xd3, 0x93, 0x41, 0x20, 0x53, 0xb0, 0xef, 0x92, 0x25, 0xab, 0xd2, 0xe6, 0x49, 0x90, 0xc7, 0xe3, 0x3a, 0xe4, 0x47, 0x38,
0x25, 0xa0, 0xd9, 0xf5, 0xe1, 0x9c, 0xef, 0x3b, 0xa7, 0xbf, 0x73, 0xce, 0xd0, 0x70, 0xd8, 0xb1, 0x85, 0xee, 0xe6, 0x78, 0xce, 0xf7, 0x9d, 0x33, 0xdf, 0x7c, 0x67, 0x64, 0x38, 0xea, 0xda, 0xfc,
0xf9, 0x69, 0xbf, 0x61, 0x34, 0x69, 0xcf, 0x6c, 0x52, 0x97, 0x5b, 0xb6, 0x4b, 0xfc, 0xd6, 0xf8, 0x6c, 0xd0, 0x34, 0x5a, 0xb4, 0x6f, 0xb6, 0xa8, 0xcb, 0x2d, 0xdb, 0x25, 0x7e, 0x7b, 0x72, 0x69,
0xd1, 0xf2, 0x6c, 0x93, 0x11, 0x7f, 0x60, 0x37, 0x09, 0x8b, 0x7f, 0x67, 0xe6, 0x60, 0x7d, 0xcc, 0x79, 0xb6, 0xc9, 0x88, 0x3f, 0xb4, 0x5b, 0x84, 0xc5, 0xdf, 0x99, 0x39, 0x5c, 0x9f, 0x88, 0x0c,
0x32, 0x3c, 0x9f, 0x72, 0x8a, 0xee, 0xc6, 0x38, 0x23, 0xc2, 0x18, 0x63, 0x51, 0x83, 0x75, 0x3d, 0xcf, 0xa7, 0x9c, 0xa2, 0x7b, 0x31, 0xce, 0x88, 0x30, 0xc6, 0x44, 0xd6, 0x70, 0x5d, 0x2f, 0x74,
0xd7, 0xa1, 0x1d, 0x2a, 0xa2, 0xcd, 0xe0, 0x14, 0x02, 0xf5, 0xff, 0x3b, 0x94, 0x76, 0x1c, 0x62, 0x69, 0x97, 0x8a, 0x6c, 0x33, 0x58, 0x85, 0x40, 0xfd, 0x4e, 0x97, 0xd2, 0xae, 0x43, 0x4c, 0x11,
0x0a, 0xab, 0xd1, 0x6f, 0x9b, 0x96, 0x3b, 0x94, 0xae, 0x3b, 0x93, 0x2e, 0xd2, 0xf3, 0x78, 0xe4, 0x35, 0x07, 0x1d, 0xd3, 0x72, 0x47, 0x72, 0xeb, 0xee, 0xf4, 0x16, 0xe9, 0x7b, 0x3c, 0xda, 0xac,
0x2c, 0x4d, 0x3a, 0xdb, 0x36, 0x71, 0x5a, 0x27, 0x3d, 0x8b, 0x75, 0x65, 0x44, 0x71, 0x32, 0x82, 0x4c, 0x6f, 0x76, 0x6c, 0xe2, 0xb4, 0x4f, 0xfb, 0x16, 0xeb, 0xc9, 0x8c, 0xf2, 0x74, 0x06, 0xb7,
0xdb, 0x3d, 0xc2, 0xb8, 0xd5, 0xf3, 0x64, 0xc0, 0xf6, 0x5c, 0x0a, 0xf0, 0xa1, 0x47, 0x98, 0xd9, 0xfb, 0x84, 0x71, 0xab, 0xef, 0xc9, 0x84, 0xed, 0x44, 0x0a, 0xf0, 0x91, 0x47, 0x98, 0xd9, 0x26,
0x22, 0xac, 0xe9, 0xdb, 0x1e, 0xa7, 0x7e, 0x08, 0x2e, 0x9f, 0xad, 0x42, 0x66, 0x27, 0x8a, 0x44, 0xac, 0xe5, 0xdb, 0x1e, 0xa7, 0x7e, 0x08, 0xae, 0x7e, 0xcd, 0x40, 0x6e, 0x37, 0xca, 0x44, 0x45,
0x79, 0x48, 0xd8, 0x2d, 0x4d, 0x29, 0x29, 0x95, 0x4c, 0x5d, 0x1d, 0x5d, 0x14, 0x13, 0x4f, 0x77, 0x48, 0xd9, 0x6d, 0x4d, 0xa9, 0x28, 0xb5, 0x5c, 0x43, 0x1d, 0x5f, 0x94, 0x53, 0xcf, 0xf6, 0x70,
0x71, 0xc2, 0x6e, 0xa1, 0x23, 0x50, 0x1d, 0xab, 0x41, 0x1c, 0xa6, 0x25, 0x4a, 0xc9, 0x4a, 0xb6, 0xca, 0x6e, 0xa3, 0x13, 0x50, 0x1d, 0xab, 0x49, 0x1c, 0xa6, 0xa5, 0x2a, 0xe9, 0x5a, 0xbe, 0xbe,
0xba, 0x61, 0xfc, 0x52, 0x27, 0xe3, 0x9a, 0xd5, 0x38, 0x14, 0xd0, 0x3d, 0x97, 0xfb, 0x43, 0x2c, 0x61, 0xfc, 0x56, 0x27, 0xe3, 0x9a, 0xd5, 0x38, 0x12, 0xd0, 0x7d, 0x97, 0xfb, 0x23, 0x2c, 0x79,
0x79, 0x50, 0x0e, 0x56, 0xed, 0x9e, 0xd5, 0x21, 0x5a, 0x32, 0x48, 0x86, 0x43, 0x03, 0x3d, 0x87, 0x50, 0x01, 0x56, 0xed, 0xbe, 0xd5, 0x25, 0x5a, 0x3a, 0x28, 0x86, 0xc3, 0x00, 0x3d, 0x87, 0xac,
0xb4, 0xdf, 0x77, 0x83, 0x0b, 0x6a, 0xa9, 0x92, 0x52, 0xc9, 0x56, 0x1f, 0x2d, 0x94, 0x08, 0x87, 0x3f, 0x70, 0x83, 0x03, 0x6a, 0x99, 0x8a, 0x52, 0xcb, 0xd7, 0x1f, 0x2f, 0x55, 0x08, 0x87, 0x58,
0x58, 0x1c, 0x91, 0xa0, 0x0a, 0xa4, 0x98, 0x47, 0x9a, 0xda, 0xaa, 0x20, 0xcb, 0x19, 0xa1, 0x94, 0x1c, 0x91, 0xa0, 0x1a, 0x64, 0x98, 0x47, 0x5a, 0xda, 0xaa, 0x20, 0x2b, 0x18, 0xa1, 0x94, 0x46,
0x46, 0x24, 0xa5, 0x51, 0x73, 0x87, 0x58, 0x44, 0xa0, 0x32, 0xa8, 0x3e, 0xa5, 0xbc, 0xcd, 0x34, 0x24, 0xa5, 0xb1, 0xe3, 0x8e, 0xb0, 0xc8, 0x40, 0x55, 0x50, 0x7d, 0x4a, 0x79, 0x87, 0x69, 0xaa,
0x55, 0xdc, 0x1e, 0x46, 0x17, 0x45, 0x15, 0x53, 0xca, 0xf7, 0x5f, 0x62, 0xe9, 0x41, 0x3b, 0x00, 0x38, 0x3d, 0x8c, 0x2f, 0xca, 0x2a, 0xa6, 0x94, 0x1f, 0xbc, 0xc0, 0x72, 0x07, 0xed, 0x02, 0xb4,
0x4d, 0x9f, 0x58, 0x9c, 0xb4, 0x4e, 0x2c, 0xae, 0xa5, 0x05, 0xa7, 0x3e, 0xc5, 0xf9, 0x2a, 0x6a, 0x7c, 0x62, 0x71, 0xd2, 0x3e, 0xb5, 0xb8, 0x96, 0x15, 0x9c, 0xfa, 0x0c, 0xe7, 0xcb, 0xe8, 0x7a,
0x4f, 0x7d, 0xed, 0xfc, 0xa2, 0xb8, 0xf2, 0xf9, 0x7b, 0x51, 0xc1, 0x19, 0x89, 0xab, 0xf1, 0x80, 0x1a, 0x6b, 0xe7, 0x17, 0xe5, 0x95, 0xcf, 0x3f, 0xca, 0x0a, 0xce, 0x49, 0xdc, 0x0e, 0x0f, 0x48,
0xa4, 0xef, 0xb5, 0x22, 0x92, 0xb5, 0x45, 0x48, 0x24, 0xae, 0xc6, 0xf5, 0x4d, 0xc8, 0x8e, 0x89, 0x06, 0x5e, 0x3b, 0x22, 0x59, 0x5b, 0x86, 0x44, 0xe2, 0x76, 0xb8, 0xbe, 0x09, 0xf9, 0x09, 0x51,
0x8a, 0xfe, 0x86, 0x64, 0x97, 0x0c, 0xc3, 0xbe, 0xe1, 0xe0, 0x18, 0xc8, 0x3b, 0xb0, 0x9c, 0x3e, 0xd1, 0x3f, 0x90, 0xee, 0x91, 0x51, 0x78, 0x6f, 0x38, 0x58, 0x06, 0xf2, 0x0e, 0x2d, 0x67, 0x40,
0xd1, 0x12, 0xa1, 0xbc, 0xc2, 0xd8, 0x4a, 0x6c, 0x28, 0xfa, 0x17, 0x05, 0xd2, 0x52, 0x27, 0x84, 0xb4, 0x54, 0x28, 0xaf, 0x08, 0xb6, 0x52, 0x1b, 0x8a, 0x7e, 0x0c, 0x59, 0x29, 0x13, 0x42, 0x90,
0x20, 0xe5, 0x5a, 0x3d, 0x22, 0x81, 0xe2, 0x8c, 0x8e, 0x21, 0x4d, 0x3d, 0x6e, 0x53, 0x37, 0xea, 0x71, 0xad, 0x3e, 0x91, 0x38, 0xb1, 0x46, 0x06, 0x64, 0xa9, 0xc7, 0x6d, 0xea, 0x32, 0x01, 0x5d,
0x75, 0x6d, 0x99, 0x16, 0x18, 0x2f, 0x42, 0x8e, 0xb0, 0xe9, 0x11, 0xa3, 0xbe, 0x05, 0x7f, 0x8d, 0x24, 0x5a, 0x94, 0x54, 0x7d, 0x00, 0xff, 0x1e, 0x12, 0x7e, 0x7d, 0x05, 0x98, 0xbc, 0x1f, 0x10,
0x3b, 0x16, 0x29, 0xbc, 0x7c, 0x1f, 0xfe, 0x39, 0x20, 0xfc, 0x3a, 0x13, 0x26, 0xef, 0xfb, 0x84, 0xc6, 0x17, 0x19, 0xa9, 0x7a, 0x06, 0x85, 0x5f, 0xd3, 0x99, 0x47, 0x5d, 0x46, 0xd0, 0x09, 0xe4,
0xf1, 0x9b, 0x46, 0xb6, 0x7c, 0x0a, 0xb9, 0x9f, 0xc3, 0x99, 0x47, 0x5d, 0x46, 0xd0, 0x11, 0x64, 0xae, 0x2f, 0x55, 0xc0, 0xf2, 0xf5, 0xfb, 0xcb, 0x5c, 0x7d, 0x23, 0x13, 0xc8, 0x84, 0x63, 0x92,
0xae, 0x6b, 0x17, 0xb0, 0x6c, 0xf5, 0xde, 0x22, 0x37, 0xac, 0xa7, 0x82, 0x86, 0xe0, 0x98, 0xa4, 0xaa, 0x09, 0xff, 0x1d, 0xd9, 0x2c, 0x2e, 0xc5, 0xe2, 0xd6, 0xd4, 0x8e, 0xed, 0x70, 0x59, 0x27,
0x6c, 0xc2, 0xbf, 0x87, 0x36, 0x8b, 0x53, 0xb1, 0xb8, 0x34, 0xb5, 0x6d, 0x3b, 0x5c, 0xe6, 0xc9, 0x87, 0x65, 0x54, 0x75, 0xa0, 0x38, 0x0d, 0x90, 0xcd, 0x61, 0x80, 0xb8, 0xac, 0xa6, 0x88, 0x09,
0x60, 0x69, 0x95, 0x1d, 0xc8, 0x4f, 0x02, 0x64, 0x71, 0x18, 0x20, 0x4e, 0xab, 0x29, 0x42, 0xff, 0xb8, 0x49, 0x77, 0x13, 0x2c, 0xd5, 0x77, 0x50, 0xdc, 0x15, 0x9e, 0x98, 0x91, 0xee, 0xef, 0x4b,
0x65, 0xaa, 0x1b, 0x63, 0x29, 0xbf, 0x83, 0xfc, 0x8e, 0x98, 0xbe, 0x29, 0xe9, 0xfe, 0xbc, 0x14, 0xd1, 0x83, 0xff, 0x67, 0x6a, 0xdd, 0x9a, 0xee, 0x5f, 0x14, 0x28, 0xbe, 0x12, 0x46, 0xbd, 0xfd,
0x5d, 0xf8, 0x6f, 0x2a, 0xd7, 0xad, 0xe9, 0x7e, 0xa6, 0x40, 0xfe, 0xb5, 0x58, 0x89, 0xdb, 0xbf, 0x93, 0xa1, 0x6d, 0xc8, 0x87, 0x43, 0x21, 0x1e, 0x4c, 0xe9, 0xd8, 0xd9, 0x69, 0x3a, 0x08, 0xde,
0x19, 0xda, 0x86, 0x6c, 0xb8, 0x7e, 0xe2, 0xd3, 0x2c, 0xa6, 0x73, 0xd6, 0xde, 0xee, 0x07, 0x5f, 0xd4, 0x63, 0x8b, 0xf5, 0xb0, 0x9c, 0xbd, 0x60, 0x1d, 0xc8, 0x32, 0xd3, 0xe8, 0xad, 0xc9, 0xf2,
0xef, 0x67, 0x16, 0xeb, 0x62, 0xb9, 0xe5, 0xc1, 0x39, 0x90, 0x65, 0xaa, 0xd0, 0x5b, 0x93, 0xe5, 0x10, 0x8a, 0x7b, 0xc4, 0x21, 0x73, 0x54, 0x59, 0x30, 0x2a, 0xf5, 0xcb, 0x0c, 0x40, 0x6c, 0x46,
0x01, 0xe4, 0x77, 0x89, 0x43, 0x66, 0xa8, 0x72, 0xc3, 0xaa, 0x54, 0x2f, 0x53, 0x00, 0xf1, 0x30, 0x34, 0x84, 0xf4, 0x21, 0xe1, 0xe8, 0x49, 0x82, 0x36, 0xe6, 0x0c, 0xa4, 0xfe, 0x74, 0x69, 0x9c,
0xa2, 0x01, 0x24, 0x0f, 0x08, 0x47, 0x8f, 0xe7, 0x28, 0x63, 0xc6, 0x42, 0xea, 0x4f, 0x16, 0xc6, 0x94, 0xe2, 0x03, 0x64, 0x82, 0xb1, 0x40, 0x49, 0x9e, 0xfc, 0xb9, 0x03, 0xa7, 0x6f, 0xde, 0x00,
0x49, 0x29, 0x3e, 0x40, 0x2a, 0x58, 0x0b, 0x34, 0xcf, 0x9f, 0xcb, 0xcc, 0x85, 0xd3, 0x37, 0x97, 0x29, 0x8b, 0x7f, 0x04, 0x35, 0x74, 0x2e, 0x4a, 0x42, 0x32, 0x7f, 0xa0, 0xf4, 0xad, 0x9b, 0x40,
0x40, 0xca, 0xe4, 0x1f, 0x41, 0x0d, 0x27, 0x17, 0xcd, 0x43, 0x32, 0x7b, 0xa1, 0xf4, 0xad, 0x65, 0xe3, 0x06, 0x42, 0x8f, 0x24, 0x6a, 0x60, 0xbe, 0xef, 0x13, 0x35, 0xb0, 0xc8, 0x89, 0x6f, 0x40,
0xa0, 0x71, 0x01, 0xe1, 0x8c, 0xcc, 0x55, 0xc0, 0xec, 0xb9, 0x9f, 0xab, 0x80, 0x9b, 0x26, 0xf1, 0x0d, 0x7d, 0x93, 0xa8, 0x81, 0xf9, 0x16, 0xd3, 0x8b, 0x33, 0x13, 0xb1, 0x1f, 0xfc, 0x82, 0x34,
0x18, 0xd4, 0x70, 0x6e, 0xe6, 0x2a, 0x60, 0xf6, 0x88, 0xe9, 0xf9, 0xa9, 0x8d, 0xd8, 0x0b, 0x1e, 0xde, 0x9e, 0x5f, 0x95, 0x56, 0xbe, 0x5f, 0x95, 0x56, 0x3e, 0x8d, 0x4b, 0xca, 0xf9, 0xb8, 0xa4,
0x3b, 0xf5, 0xb7, 0xe7, 0x57, 0x85, 0x95, 0x6f, 0x57, 0x85, 0x95, 0x4f, 0xa3, 0x82, 0x72, 0x3e, 0x7c, 0x1b, 0x97, 0x94, 0xcb, 0x71, 0x49, 0x79, 0x7d, 0xf0, 0x07, 0x7f, 0x55, 0xdb, 0x71, 0xd4,
0x2a, 0x28, 0x5f, 0x47, 0x05, 0xe5, 0x72, 0x54, 0x50, 0xde, 0xec, 0xff, 0xc6, 0xfb, 0x6d, 0x3b, 0x54, 0x45, 0xc5, 0x47, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x07, 0x2d, 0x75, 0x3c, 0xa6, 0x09,
0xb6, 0x1a, 0xaa, 0xc8, 0xf8, 0xf0, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0x4e, 0xa7, 0x59, 0x00, 0x00,
0x10, 0x0a, 0x00, 0x00,
} }

View File

@ -57,7 +57,7 @@ message Container {
// Name is the name of the runtime. // Name is the name of the runtime.
string name = 1; string name = 1;
// Options specify additional runtime initialization options. // Options specify additional runtime initialization options.
map<string, string> options = 2; google.protobuf.Any options = 2;
} }
// Runtime specifies which runtime to use for executing this container. // Runtime specifies which runtime to use for executing this container.
Runtime runtime = 4; Runtime runtime = 4;

View File

@ -45,6 +45,7 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt" import fmt "fmt"
import math "math" import math "math"
import _ "github.com/gogo/protobuf/gogoproto" import _ "github.com/gogo/protobuf/gogoproto"
import google_protobuf1 "github.com/gogo/protobuf/types"
import strings "strings" import strings "strings"
import reflect "reflect" import reflect "reflect"
@ -75,7 +76,7 @@ func (*ContainerCreate) Descriptor() ([]byte, []int) { return fileDescriptorCont
type ContainerCreate_Runtime struct { type ContainerCreate_Runtime struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Options map[string]string `protobuf:"bytes,2,rep,name=options" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Options *google_protobuf1.Any `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
} }
func (m *ContainerCreate_Runtime) Reset() { *m = ContainerCreate_Runtime{} } func (m *ContainerCreate_Runtime) Reset() { *m = ContainerCreate_Runtime{} }
@ -170,22 +171,15 @@ func (m *ContainerCreate_Runtime) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintContainer(dAtA, i, uint64(len(m.Name))) i = encodeVarintContainer(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name) i += copy(dAtA[i:], m.Name)
} }
if len(m.Options) > 0 { if m.Options != nil {
for k, _ := range m.Options {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
v := m.Options[k] i = encodeVarintContainer(dAtA, i, uint64(m.Options.Size()))
mapSize := 1 + len(k) + sovContainer(uint64(len(k))) + 1 + len(v) + sovContainer(uint64(len(v))) n2, err := m.Options.MarshalTo(dAtA[i:])
i = encodeVarintContainer(dAtA, i, uint64(mapSize)) if err != nil {
dAtA[i] = 0xa return 0, err
i++
i = encodeVarintContainer(dAtA, i, uint64(len(k)))
i += copy(dAtA[i:], k)
dAtA[i] = 0x12
i++
i = encodeVarintContainer(dAtA, i, uint64(len(v)))
i += copy(dAtA[i:], v)
} }
i += n2
} }
return i, nil return i, nil
} }
@ -319,13 +313,9 @@ func (m *ContainerCreate_Runtime) Size() (n int) {
if l > 0 { if l > 0 {
n += 1 + l + sovContainer(uint64(l)) n += 1 + l + sovContainer(uint64(l))
} }
if len(m.Options) > 0 { if m.Options != nil {
for k, v := range m.Options { l = m.Options.Size()
_ = k n += 1 + l + sovContainer(uint64(l))
_ = v
mapEntrySize := 1 + len(k) + sovContainer(uint64(len(k))) + 1 + len(v) + sovContainer(uint64(len(v)))
n += mapEntrySize + 1 + sovContainer(uint64(mapEntrySize))
}
} }
return n return n
} }
@ -395,19 +385,9 @@ func (this *ContainerCreate_Runtime) String() string {
if this == nil { if this == nil {
return "nil" return "nil"
} }
keysForOptions := make([]string, 0, len(this.Options))
for k, _ := range this.Options {
keysForOptions = append(keysForOptions, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForOptions)
mapStringForOptions := "map[string]string{"
for _, k := range keysForOptions {
mapStringForOptions += fmt.Sprintf("%v: %v,", k, this.Options[k])
}
mapStringForOptions += "}"
s := strings.Join([]string{`&ContainerCreate_Runtime{`, s := strings.Join([]string{`&ContainerCreate_Runtime{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Options:` + mapStringForOptions + `,`, `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Any", "google_protobuf1.Any", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -678,94 +658,11 @@ func (m *ContainerCreate_Runtime) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
var keykey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
keykey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLenmapkey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
return ErrInvalidLengthContainer
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
}
mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
iNdEx = postStringIndexmapkey
if m.Options == nil { if m.Options == nil {
m.Options = make(map[string]string) m.Options = &google_protobuf1.Any{}
} }
if iNdEx < postIndex { if err := m.Options.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
var valuekey uint64 return err
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
valuekey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowContainer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLenmapvalue |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
return ErrInvalidLengthContainer
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
}
mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
iNdEx = postStringIndexmapvalue
m.Options[mapkey] = mapvalue
} else {
var mapvalue string
m.Options[mapkey] = mapvalue
} }
iNdEx = postIndex iNdEx = postIndex
default: default:
@ -1231,31 +1128,31 @@ func init() {
} }
var fileDescriptorContainer = []byte{ var fileDescriptorContainer = []byte{
// 406 bytes of a gzipped FileDescriptorProto // 413 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xcd, 0xaa, 0xd3, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0x4d, 0x8b, 0xd5, 0x30,
0x18, 0xed, 0x24, 0x35, 0xc5, 0x49, 0xa1, 0x32, 0x74, 0x11, 0x02, 0xa6, 0xa5, 0xab, 0xae, 0x26, 0x14, 0x9d, 0xbc, 0x8e, 0x7d, 0x98, 0x0a, 0x23, 0xe1, 0x2d, 0x6a, 0xc1, 0xce, 0xa3, 0xab, 0xb7,
0xb4, 0x82, 0x68, 0x05, 0x17, 0xfd, 0x51, 0x0a, 0x82, 0x32, 0x22, 0x88, 0x20, 0x92, 0x36, 0x63, 0x4a, 0x99, 0x0a, 0xa2, 0x23, 0x08, 0xce, 0x87, 0x32, 0xa0, 0x20, 0x11, 0x41, 0xdc, 0x48, 0xfa,
0x1c, 0x4c, 0x32, 0x21, 0x99, 0x06, 0xba, 0xf3, 0x09, 0x7c, 0x1e, 0x1f, 0xa1, 0x4b, 0x97, 0xae, 0x9a, 0xa9, 0xc1, 0x36, 0x29, 0x6d, 0x5a, 0xe8, 0xce, 0x5f, 0xe0, 0xef, 0x9a, 0xa5, 0x4b, 0x57,
0x8a, 0xcd, 0xea, 0x3e, 0xc6, 0x25, 0x99, 0x24, 0x0d, 0x77, 0x71, 0xb9, 0xb7, 0xdc, 0xdd, 0x99, 0x83, 0xd3, 0xdf, 0xe1, 0x42, 0x9a, 0xb4, 0x9d, 0xe2, 0x42, 0xe4, 0xe1, 0xee, 0xdc, 0xdc, 0x73,
0x7c, 0xe7, 0x9c, 0x9c, 0xef, 0xc0, 0x07, 0xdf, 0x7a, 0x4c, 0xfc, 0xd8, 0x6d, 0xf0, 0x96, 0x07, 0x6e, 0xce, 0xb9, 0x21, 0xf0, 0x55, 0xca, 0xd5, 0xe7, 0x3a, 0xc6, 0x5b, 0x99, 0x87, 0x5b, 0x29,
0xf6, 0x96, 0x87, 0xc2, 0x61, 0x21, 0x8d, 0xdd, 0x26, 0x74, 0x22, 0x66, 0x27, 0x34, 0x4e, 0xd9, 0x14, 0xe5, 0x82, 0x95, 0xc9, 0x1c, 0xd2, 0x82, 0x87, 0x15, 0x2b, 0x1b, 0xbe, 0x65, 0x55, 0xc8,
0x96, 0x26, 0x36, 0x4d, 0x69, 0x28, 0x12, 0x3b, 0x9d, 0x9c, 0x19, 0x38, 0x8a, 0xb9, 0xe0, 0xe8, 0x1a, 0x26, 0x54, 0x15, 0x36, 0x47, 0xb7, 0x0c, 0x5c, 0x94, 0x52, 0x49, 0xf4, 0xf0, 0x56, 0x82,
0xe9, 0x59, 0x82, 0x2b, 0x3a, 0x96, 0x74, 0x9c, 0x4e, 0xcc, 0xbe, 0xc7, 0x3d, 0x5e, 0x30, 0xed, 0x47, 0x3a, 0x36, 0x74, 0xdc, 0x1c, 0x79, 0xab, 0x54, 0xa6, 0x52, 0x33, 0xc3, 0x1e, 0x19, 0x91,
0x1c, 0x49, 0xd1, 0xe8, 0x4a, 0x81, 0xbd, 0x45, 0xa5, 0x5b, 0xc4, 0xd4, 0x11, 0x14, 0x4d, 0x61, 0xf7, 0x20, 0x95, 0x32, 0xcd, 0x58, 0xa8, 0xab, 0xb8, 0xbe, 0x0c, 0xa9, 0x68, 0x4d, 0x2b, 0xf8,
0xb7, 0xb6, 0xfa, 0xc6, 0x5c, 0x03, 0x0c, 0xc1, 0xf8, 0xf1, 0xbc, 0x97, 0x1d, 0x07, 0x7a, 0x4d, 0x05, 0xe0, 0xc1, 0xe9, 0x38, 0xf2, 0xb4, 0x64, 0x54, 0x31, 0x14, 0xc1, 0x7b, 0xd3, 0x2d, 0x9f,
0x5d, 0x2f, 0x89, 0x5e, 0x93, 0xd6, 0x2e, 0xea, 0xc3, 0x47, 0x2c, 0x70, 0x3c, 0x6a, 0x28, 0x39, 0x78, 0xe2, 0x82, 0x35, 0xd8, 0xdc, 0x3d, 0x39, 0xe8, 0xae, 0x0f, 0x9d, 0x89, 0x7a, 0x71, 0x46,
0x99, 0xc8, 0x07, 0xfa, 0x00, 0x3b, 0xf1, 0x2e, 0x14, 0x2c, 0xa0, 0x86, 0x3a, 0x04, 0x63, 0x7d, 0x9c, 0x89, 0x74, 0x91, 0xa0, 0x15, 0xbc, 0xc3, 0x73, 0x9a, 0x32, 0x77, 0xd1, 0x93, 0x89, 0x29,
0xfa, 0x1c, 0xdf, 0x1a, 0x12, 0xdf, 0x88, 0x82, 0x89, 0x54, 0x93, 0xca, 0xc6, 0xfc, 0x03, 0x60, 0xd0, 0x5b, 0xb8, 0x2c, 0x6b, 0xa1, 0x78, 0xce, 0x5c, 0x6b, 0x0d, 0x36, 0x4e, 0xf4, 0x18, 0xff,
0xa7, 0xfc, 0x88, 0x10, 0x6c, 0x87, 0x4e, 0x40, 0x65, 0x3e, 0x52, 0x60, 0xf4, 0x15, 0x76, 0x78, 0xd5, 0x3f, 0xfe, 0xc3, 0x0a, 0x26, 0x46, 0x4d, 0xc6, 0x31, 0xde, 0x1b, 0xb8, 0x1c, 0xce, 0x10,
0x24, 0x18, 0x0f, 0x13, 0x43, 0x19, 0xaa, 0x63, 0x7d, 0xba, 0xb8, 0xec, 0x8f, 0xf8, 0xbd, 0x74, 0x82, 0xfb, 0x82, 0xe6, 0xcc, 0xd8, 0x23, 0x1a, 0x23, 0x0c, 0x97, 0xb2, 0x50, 0x5c, 0x8a, 0x4a,
0x59, 0x85, 0x22, 0xde, 0x93, 0xca, 0xd3, 0x9c, 0xc1, 0x6e, 0x73, 0x80, 0x9e, 0x40, 0xf5, 0x27, 0x1b, 0x71, 0xa2, 0x15, 0x36, 0xd9, 0xf1, 0x98, 0x1d, 0xbf, 0x10, 0x2d, 0x19, 0x49, 0xc1, 0xb7,
0xdd, 0x97, 0x09, 0x72, 0x98, 0x17, 0x91, 0x3a, 0xfe, 0xae, 0x2e, 0xa2, 0x78, 0xcc, 0x94, 0x17, 0xc5, 0x2c, 0xfe, 0xfb, 0x22, 0xf9, 0xbf, 0xf1, 0x09, 0xb4, 0x33, 0x1a, 0xb3, 0xac, 0x72, 0xad,
0x60, 0xf4, 0xbb, 0x59, 0xf5, 0xa7, 0xc8, 0x7d, 0xd8, 0xaa, 0x09, 0xd4, 0x7c, 0x67, 0x43, 0xfd, 0xb5, 0xb5, 0x71, 0xa2, 0xe3, 0x7f, 0x4d, 0x6f, 0x9c, 0xe0, 0xd7, 0x5a, 0x7c, 0x2e, 0x54, 0xd9,
0xc4, 0x50, 0x8b, 0xbd, 0x67, 0x77, 0xdd, 0x5b, 0x26, 0xc1, 0xef, 0x0a, 0xb1, 0x5c, 0xb7, 0x74, 0x92, 0x61, 0x12, 0x0a, 0xa0, 0x5d, 0x4a, 0xa9, 0x2e, 0x2b, 0x77, 0x5f, 0xfb, 0x82, 0xdd, 0xf5,
0x42, 0x23, 0xa8, 0xc5, 0x9c, 0x8b, 0xef, 0x89, 0xd1, 0x2e, 0x72, 0xc1, 0xec, 0x38, 0xd0, 0x08, 0xa1, 0x4d, 0xa4, 0x54, 0x2f, 0xdf, 0x91, 0xa1, 0xe3, 0x3d, 0x85, 0xce, 0x4c, 0x8a, 0xee, 0x43,
0xe7, 0xe2, 0xcd, 0x47, 0x52, 0x4e, 0xcc, 0x97, 0x50, 0x6f, 0x48, 0xef, 0x55, 0xc8, 0xaa, 0xd1, 0xeb, 0x0b, 0x6b, 0x87, 0x3d, 0xf5, 0xb0, 0xb7, 0xdb, 0xd0, 0xac, 0x9e, 0xec, 0xea, 0xe2, 0x78,
0xc7, 0x92, 0xfa, 0xf4, 0xb2, 0x3e, 0xe6, 0x9f, 0x0f, 0x27, 0xab, 0xf5, 0xef, 0x64, 0xb5, 0x7e, 0xf1, 0x04, 0x04, 0xe7, 0xb3, 0x7d, 0x9c, 0xb1, 0x8c, 0xed, 0xb6, 0x8f, 0x93, 0x0f, 0x57, 0x37,
0x65, 0x16, 0x38, 0x64, 0x16, 0xf8, 0x9b, 0x59, 0xe0, 0x7f, 0x66, 0x81, 0x2f, 0xaf, 0x2f, 0x3c, 0xfe, 0xde, 0x8f, 0x1b, 0x7f, 0xef, 0x6b, 0xe7, 0x83, 0xab, 0xce, 0x07, 0xdf, 0x3b, 0x1f, 0xfc,
0xad, 0x57, 0x12, 0x6d, 0xb4, 0xe2, 0x46, 0x9e, 0x5d, 0x07, 0x00, 0x00, 0xff, 0xff, 0x66, 0x84, 0xec, 0x7c, 0xf0, 0xf1, 0xf9, 0x8e, 0x3f, 0xe1, 0x99, 0x41, 0xb1, 0xad, 0x1f, 0xf2, 0xd1, 0xef,
0x14, 0x0e, 0xa3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1a, 0x0b, 0xcd, 0x09, 0x52, 0x03, 0x00, 0x00,
} }

View File

@ -3,6 +3,7 @@ syntax = "proto3";
package containerd.services.events.v1; package containerd.services.events.v1;
import "gogoproto/gogo.proto"; import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; option go_package = "github.com/containerd/containerd/api/services/events/v1;events";
@ -11,7 +12,7 @@ message ContainerCreate {
string image = 2; string image = 2;
message Runtime { message Runtime {
string name = 1; string name = 1;
map<string, string> options = 2; google.protobuf.Any options = 2;
} }
Runtime runtime = 3; Runtime runtime = 3;
} }

View File

@ -9,7 +9,7 @@ import fmt "fmt"
import math "math" import math "math"
import _ "github.com/gogo/protobuf/gogoproto" import _ "github.com/gogo/protobuf/gogoproto"
import _ "github.com/gogo/protobuf/types" import _ "github.com/gogo/protobuf/types"
import google_protobuf2 "github.com/gogo/protobuf/types" import google_protobuf1 "github.com/gogo/protobuf/types"
import time "time" import time "time"
@ -41,7 +41,7 @@ func (*StreamEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor
type Envelope struct { type Envelope struct {
Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,stdtime" json:"timestamp"` Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,stdtime" json:"timestamp"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Event *google_protobuf2.Any `protobuf:"bytes,3,opt,name=event" json:"event,omitempty"` Event *google_protobuf1.Any `protobuf:"bytes,3,opt,name=event" json:"event,omitempty"`
} }
func (m *Envelope) Reset() { *m = Envelope{} } func (m *Envelope) Reset() { *m = Envelope{} }
@ -288,9 +288,9 @@ func (this *Envelope) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&Envelope{`, s := strings.Join([]string{`&Envelope{`,
`Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf2.Timestamp", 1), `&`, ``, 1) + `,`,
`Topic:` + fmt.Sprintf("%v", this.Topic) + `,`, `Topic:` + fmt.Sprintf("%v", this.Topic) + `,`,
`Event:` + strings.Replace(fmt.Sprintf("%v", this.Event), "Any", "google_protobuf2.Any", 1) + `,`, `Event:` + strings.Replace(fmt.Sprintf("%v", this.Event), "Any", "google_protobuf1.Any", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -468,7 +468,7 @@ func (m *Envelope) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Event == nil { if m.Event == nil {
m.Event = &google_protobuf2.Any{} m.Event = &google_protobuf1.Any{}
} }
if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err

View File

@ -571,8 +571,8 @@ func (this *RuntimeEvent) String() string {
`Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Pid:` + fmt.Sprintf("%v", this.Pid) + `,`, `Pid:` + fmt.Sprintf("%v", this.Pid) + `,`,
`ExitStatus:` + fmt.Sprintf("%v", this.ExitStatus) + `,`, `ExitStatus:` + fmt.Sprintf("%v", this.ExitStatus) + `,`,
`ExitedAt:` + strings.Replace(strings.Replace(this.ExitedAt.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, `ExitedAt:` + strings.Replace(strings.Replace(this.ExitedAt.String(), "Timestamp", "google_protobuf2.Timestamp", 1), `&`, ``, 1) + `,`,
`Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf2.Timestamp", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -585,7 +585,7 @@ func (this *RuntimeDelete) String() string {
`ID:` + fmt.Sprintf("%v", this.ID) + `,`, `ID:` + fmt.Sprintf("%v", this.ID) + `,`,
`Runtime:` + fmt.Sprintf("%v", this.Runtime) + `,`, `Runtime:` + fmt.Sprintf("%v", this.Runtime) + `,`,
`ExitStatus:` + fmt.Sprintf("%v", this.ExitStatus) + `,`, `ExitStatus:` + fmt.Sprintf("%v", this.ExitStatus) + `,`,
`ExitedAt:` + strings.Replace(strings.Replace(this.ExitedAt.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, `ExitedAt:` + strings.Replace(strings.Replace(this.ExitedAt.String(), "Timestamp", "google_protobuf2.Timestamp", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s

View File

@ -197,11 +197,10 @@ func WithNewReadonlyRootFS(id string, i Image) NewContainerOpts {
// WithRuntime allows a user to specify the runtime name and additional options that should // WithRuntime allows a user to specify the runtime name and additional options that should
// be used to create tasks for the container // be used to create tasks for the container
func WithRuntime(name string, options map[string]string) NewContainerOpts { func WithRuntime(name string) NewContainerOpts {
return func(ctx context.Context, client *Client, c *containers.Container) error { return func(ctx context.Context, client *Client, c *containers.Container) error {
c.Runtime = &containers.Container_Runtime{ c.Runtime = &containers.Container_Runtime{
Name: name, Name: name,
Options: options,
} }
return nil return nil
} }

View File

@ -3,6 +3,8 @@ package containers
import ( import (
"context" "context"
"time" "time"
"github.com/gogo/protobuf/types"
) )
// Container represents the set of data pinned by a container. Unless otherwise // Container represents the set of data pinned by a container. Unless otherwise
@ -22,7 +24,7 @@ type Container struct {
type RuntimeInfo struct { type RuntimeInfo struct {
Name string Name string
Options map[string]string Options *types.Any
} }
type Store interface { type Store interface {

View File

@ -9,6 +9,8 @@ import (
"github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/identifiers" "github.com/containerd/containerd/identifiers"
"github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/namespaces"
"github.com/gogo/protobuf/proto"
"github.com/gogo/protobuf/types"
"github.com/pkg/errors" "github.com/pkg/errors"
) )
@ -166,16 +168,16 @@ func readContainer(container *containers.Container, bkt *bolt.Bucket) error {
container.Runtime.Name = string(n) container.Runtime.Name = string(n)
} }
obkt := rbkt.Bucket(bucketKeyOptions) obkt := rbkt.Get(bucketKeyOptions)
if obkt == nil { if obkt == nil {
return nil return nil
} }
container.Runtime.Options = map[string]string{} var any types.Any
return obkt.ForEach(func(k, v []byte) error { if err := proto.Unmarshal(obkt, &any); err != nil {
container.Runtime.Options[string(k)] = string(v) return err
return nil }
}) container.Runtime.Options = &any
case string(bucketKeySpec): case string(bucketKeySpec):
container.Spec = make([]byte, len(v)) container.Spec = make([]byte, len(v))
copy(container.Spec, v) copy(container.Spec, v)
@ -249,8 +251,13 @@ func writeContainer(container *containers.Container, bkt *bolt.Bucket) error {
return err return err
} }
for k, v := range container.Runtime.Options { if container.Runtime.Options != nil {
if err := obkt.Put([]byte(k), []byte(v)); err != nil { data, err := proto.Marshal(container.Runtime.Options)
if err != nil {
return err
}
if err := obkt.Put(bucketKeyOptions, data); err != nil {
return err return err
} }
} }

View File

@ -13,6 +13,7 @@ import (
"github.com/containerd/containerd/log" "github.com/containerd/containerd/log"
"github.com/containerd/containerd/runtime" "github.com/containerd/containerd/runtime"
"github.com/containerd/containerd/windows/hcs" "github.com/containerd/containerd/windows/hcs"
"github.com/gogo/protobuf/types"
specs "github.com/opencontainers/runtime-spec/specs-go" specs "github.com/opencontainers/runtime-spec/specs-go"
"github.com/pkg/errors" "github.com/pkg/errors"
winsys "golang.org/x/sys/windows" winsys "golang.org/x/sys/windows"
@ -139,7 +140,7 @@ func (c *container) Exec(ctx context.Context, opts runtime.ExecOpts) (runtime.Pr
} }
var procSpec specs.Process var procSpec specs.Process
if err := json.Unmarshal(opts.Spec, &procSpec); err != nil { if err := json.Unmarshal(opts.Spec.Value, &procSpec); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal oci spec") return nil, errors.Wrap(err, "failed to unmarshal oci spec")
} }
@ -187,7 +188,7 @@ func (c *container) Pids(ctx context.Context) ([]uint32, error) {
return pids, nil return pids, nil
} }
func (c *container) Checkpoint(ctx context.Context, _ string, _ []byte) error { func (c *container) Checkpoint(ctx context.Context, _ string, _ *types.Any) error {
return fmt.Errorf("Windows containers do not support checkpoint") return fmt.Errorf("Windows containers do not support checkpoint")
} }
@ -213,7 +214,7 @@ func (c *container) DeleteProcess(ctx context.Context, pid uint32) (*runtime.Exi
}, nil }, nil
} }
func (c *container) Update(ctx context.Context, spec []byte) error { func (c *container) Update(ctx context.Context, spec *types.Any) error {
return fmt.Errorf("Windows containers do not support update") return fmt.Errorf("Windows containers do not support update")
} }