| // Code generated by protoc-gen-go-fieldpath. DO NOT EDIT. |
| // source: github.com/containerd/containerd/api/events/container.proto |
| package events |
| |
| import ( |
| v2 "github.com/containerd/typeurl/v2" |
| strings "strings" |
| ) |
| |
| // Field returns the value for the given fieldpath as a string, if defined. |
| // If the value is not defined, the second value will be false. |
| func (m *ContainerCreate) Field(fieldpath []string) (string, bool) { |
| if len(fieldpath) == 0 { |
| return "", false |
| } |
| switch fieldpath[0] { |
| case "id": |
| return string(m.ID), len(m.ID) > 0 |
| case "image": |
| return string(m.Image), len(m.Image) > 0 |
| case "runtime": |
| // NOTE(stevvooe): This is probably not correct in many cases. |
| // We assume that the target message also implements the Field |
| // method, which isn't likely true in a lot of cases. |
| // |
| // If you have a broken build and have found this comment, |
| // you may be closer to a solution. |
| if m.Runtime == nil { |
| return "", false |
| } |
| return m.Runtime.Field(fieldpath[1:]) |
| } |
| return "", false |
| } |
| |
| // Field returns the value for the given fieldpath as a string, if defined. |
| // If the value is not defined, the second value will be false. |
| func (m *ContainerCreate_Runtime) Field(fieldpath []string) (string, bool) { |
| if len(fieldpath) == 0 { |
| return "", false |
| } |
| switch fieldpath[0] { |
| case "name": |
| return string(m.Name), len(m.Name) > 0 |
| case "options": |
| decoded, err := v2.UnmarshalAny(m.Options) |
| if err != nil { |
| return "", false |
| } |
| adaptor, ok := decoded.(interface{ Field([]string) (string, bool) }) |
| if !ok { |
| return "", false |
| } |
| return adaptor.Field(fieldpath[1:]) |
| } |
| return "", false |
| } |
| |
| // Field returns the value for the given fieldpath as a string, if defined. |
| // If the value is not defined, the second value will be false. |
| func (m *ContainerUpdate) Field(fieldpath []string) (string, bool) { |
| if len(fieldpath) == 0 { |
| return "", false |
| } |
| switch fieldpath[0] { |
| case "id": |
| return string(m.ID), len(m.ID) > 0 |
| case "image": |
| return string(m.Image), len(m.Image) > 0 |
| case "labels": |
| // Labels fields have been special-cased by name. If this breaks, |
| // add better special casing to fieldpath plugin. |
| if len(m.Labels) == 0 { |
| return "", false |
| } |
| value, ok := m.Labels[strings.Join(fieldpath[1:], ".")] |
| return value, ok |
| case "snapshot_key": |
| return string(m.SnapshotKey), len(m.SnapshotKey) > 0 |
| } |
| return "", false |
| } |
| |
| // Field returns the value for the given fieldpath as a string, if defined. |
| // If the value is not defined, the second value will be false. |
| func (m *ContainerDelete) Field(fieldpath []string) (string, bool) { |
| if len(fieldpath) == 0 { |
| return "", false |
| } |
| switch fieldpath[0] { |
| case "id": |
| return string(m.ID), len(m.ID) > 0 |
| } |
| return "", false |
| } |