From 5c5163107cb31d83eb6cd05427e818182c1f6112 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Tue, 2 Oct 2018 13:34:58 -0400 Subject: Temporary commit to swap branches Signed-off-by: Matthew Heon --- libpod/container.go | 8 +- libpod/container_easyjson.go | 8118 +----------------------------------------- libpod/networking_linux.go | 19 +- libpod/options.go | 25 + libpod/pod_easyjson.go | 747 ---- 5 files changed, 66 insertions(+), 8851 deletions(-) delete mode 100644 libpod/pod_easyjson.go (limited to 'libpod') diff --git a/libpod/container.go b/libpod/container.go index 55a0f3a2c..5997c0b66 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -269,9 +269,13 @@ type ContainerConfig struct { // Network Config // CreateNetNS indicates that libpod should create and configure a new - // network namespace for the container - // This cannot be set if NetNsCtr is also set + // network namespace for the container. + // This cannot be set if NetNsCtr is also set. CreateNetNS bool `json:"createNetNS"` + // StaticIP is a static IP to request for the container. + // This cannot be set unless CreateNetNS is set. + // If not set, the container will be dynamically assigned an IP by CNI. + StaticIP net.IP `json:"staticIP"` // PortMappings are the ports forwarded to the container's network // namespace // These are not used unless CreateNetNS is true diff --git a/libpod/container_easyjson.go b/libpod/container_easyjson.go index 916118aec..61fa33a30 100644 --- a/libpod/container_easyjson.go +++ b/libpod/container_easyjson.go @@ -1,8110 +1,32 @@ // +build seccomp ostree selinux varlink exclude_graphdriver_devicemapper -// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT. +// TEMPORARY AUTOGENERATED FILE: easyjson stub code to make the package +// compilable during generation. -package libpod +package libpod import ( - json "encoding/json" - types "github.com/containernetworking/cni/pkg/types" - current "github.com/containernetworking/cni/pkg/types/current" - storage "github.com/containers/storage" - idtools "github.com/containers/storage/pkg/idtools" - ocicni "github.com/cri-o/ocicni/pkg/ocicni" - easyjson "github.com/mailru/easyjson" - jlexer "github.com/mailru/easyjson/jlexer" - jwriter "github.com/mailru/easyjson/jwriter" - specs_go "github.com/opencontainers/runtime-spec/specs-go" - net "net" - os "os" + "github.com/mailru/easyjson/jwriter" + "github.com/mailru/easyjson/jlexer" ) -// suppress unused package warning -var ( - _ *json.RawMessage - _ *jlexer.Lexer - _ *jwriter.Writer - _ easyjson.Marshaler -) - -func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(in *jlexer.Lexer, out *containerState) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "state": - out.State = ContainerStatus(in.Int()) - case "configPath": - out.ConfigPath = string(in.String()) - case "runDir": - out.RunDir = string(in.String()) - case "destinationRunDir": - out.DestinationRunDir = string(in.String()) - case "mounted": - out.Mounted = bool(in.Bool()) - case "mountPoint": - out.Mountpoint = string(in.String()) - case "realMountPoint": - out.RealMountpoint = string(in.String()) - case "startedTime": - if data := in.Raw(); in.Ok() { - in.AddError((out.StartedTime).UnmarshalJSON(data)) - } - case "finishedTime": - if data := in.Raw(); in.Ok() { - in.AddError((out.FinishedTime).UnmarshalJSON(data)) - } - case "exitCode": - out.ExitCode = int32(in.Int32()) - case "exited": - out.Exited = bool(in.Bool()) - case "oomKilled": - out.OOMKilled = bool(in.Bool()) - case "pid": - out.PID = int(in.Int()) - case "execSessions": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.ExecSessions = make(map[string]*ExecSession) - } else { - out.ExecSessions = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v1 *ExecSession - if in.IsNull() { - in.Skip() - v1 = nil - } else { - if v1 == nil { - v1 = new(ExecSession) - } - if data := in.Raw(); in.Ok() { - in.AddError((*v1).UnmarshalJSON(data)) - } - } - (out.ExecSessions)[key] = v1 - in.WantComma() - } - in.Delim('}') - } - case "networkResults": - if in.IsNull() { - in.Skip() - out.NetworkStatus = nil - } else { - in.Delim('[') - if out.NetworkStatus == nil { - if !in.IsDelim(']') { - out.NetworkStatus = make([]*current.Result, 0, 8) - } else { - out.NetworkStatus = []*current.Result{} - } - } else { - out.NetworkStatus = (out.NetworkStatus)[:0] - } - for !in.IsDelim(']') { - var v2 *current.Result - if in.IsNull() { - in.Skip() - v2 = nil - } else { - if v2 == nil { - v2 = new(current.Result) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(in, &*v2) - } - out.NetworkStatus = append(out.NetworkStatus, v2) - in.WantComma() - } - in.Delim(']') - } - case "bindMounts": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.BindMounts = make(map[string]string) - } else { - out.BindMounts = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v3 string - v3 = string(in.String()) - (out.BindMounts)[key] = v3 - in.WantComma() - } - in.Delim('}') - } - case "userNSRoot": - out.UserNSRoot = string(in.String()) - case "extensionStageHooks": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.ExtensionStageHooks = make(map[string][]specs_go.Hook) - } else { - out.ExtensionStageHooks = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v4 []specs_go.Hook - if in.IsNull() { - in.Skip() - v4 = nil - } else { - in.Delim('[') - if v4 == nil { - if !in.IsDelim(']') { - v4 = make([]specs_go.Hook, 0, 1) - } else { - v4 = []specs_go.Hook{} - } - } else { - v4 = (v4)[:0] - } - for !in.IsDelim(']') { - var v5 specs_go.Hook - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v5) - v4 = append(v4, v5) - in.WantComma() - } - in.Delim(']') - } - (out.ExtensionStageHooks)[key] = v4 - in.WantComma() - } - in.Delim('}') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(out *jwriter.Writer, in containerState) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"state\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.State)) - } - if in.ConfigPath != "" { - const prefix string = ",\"configPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ConfigPath)) - } - if in.RunDir != "" { - const prefix string = ",\"runDir\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.RunDir)) - } - if in.DestinationRunDir != "" { - const prefix string = ",\"destinationRunDir\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.DestinationRunDir)) - } - if in.Mounted { - const prefix string = ",\"mounted\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Mounted)) - } - if in.Mountpoint != "" { - const prefix string = ",\"mountPoint\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Mountpoint)) - } - if in.RealMountpoint != "" { - const prefix string = ",\"realMountPoint\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.RealMountpoint)) - } - if true { - const prefix string = ",\"startedTime\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Raw((in.StartedTime).MarshalJSON()) - } - if true { - const prefix string = ",\"finishedTime\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Raw((in.FinishedTime).MarshalJSON()) - } - if in.ExitCode != 0 { - const prefix string = ",\"exitCode\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int32(int32(in.ExitCode)) - } - if in.Exited { - const prefix string = ",\"exited\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Exited)) - } - if in.OOMKilled { - const prefix string = ",\"oomKilled\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.OOMKilled)) - } - if in.PID != 0 { - const prefix string = ",\"pid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.PID)) - } - if len(in.ExecSessions) != 0 { - const prefix string = ",\"execSessions\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v6First := true - for v6Name, v6Value := range in.ExecSessions { - if v6First { - v6First = false - } else { - out.RawByte(',') - } - out.String(string(v6Name)) - out.RawByte(':') - if v6Value == nil { - out.RawString("null") - } else { - out.Raw((*v6Value).MarshalJSON()) - } - } - out.RawByte('}') - } - } - if len(in.NetworkStatus) != 0 { - const prefix string = ",\"networkResults\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v7, v8 := range in.NetworkStatus { - if v7 > 0 { - out.RawByte(',') - } - if v8 == nil { - out.RawString("null") - } else { - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(out, *v8) - } - } - out.RawByte(']') - } - } - if len(in.BindMounts) != 0 { - const prefix string = ",\"bindMounts\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v9First := true - for v9Name, v9Value := range in.BindMounts { - if v9First { - v9First = false - } else { - out.RawByte(',') - } - out.String(string(v9Name)) - out.RawByte(':') - out.String(string(v9Value)) - } - out.RawByte('}') - } - } - if in.UserNSRoot != "" { - const prefix string = ",\"userNSRoot\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.UserNSRoot)) - } - if len(in.ExtensionStageHooks) != 0 { - const prefix string = ",\"extensionStageHooks\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v10First := true - for v10Name, v10Value := range in.ExtensionStageHooks { - if v10First { - v10First = false - } else { - out.RawByte(',') - } - out.String(string(v10Name)) - out.RawByte(':') - if v10Value == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v11, v12 := range v10Value { - if v11 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v12) - } - out.RawByte(']') - } - } - out.RawByte('}') - } - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v containerState) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v containerState) MarshalEasyJSON(w *jwriter.Writer) { - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *containerState) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *containerState) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(l, v) -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in *jlexer.Lexer, out *specs_go.Hook) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "args": - if in.IsNull() { - in.Skip() - out.Args = nil - } else { - in.Delim('[') - if out.Args == nil { - if !in.IsDelim(']') { - out.Args = make([]string, 0, 4) - } else { - out.Args = []string{} - } - } else { - out.Args = (out.Args)[:0] - } - for !in.IsDelim(']') { - var v13 string - v13 = string(in.String()) - out.Args = append(out.Args, v13) - in.WantComma() - } - in.Delim(']') - } - case "env": - if in.IsNull() { - in.Skip() - out.Env = nil - } else { - in.Delim('[') - if out.Env == nil { - if !in.IsDelim(']') { - out.Env = make([]string, 0, 4) - } else { - out.Env = []string{} - } - } else { - out.Env = (out.Env)[:0] - } - for !in.IsDelim(']') { - var v14 string - v14 = string(in.String()) - out.Env = append(out.Env, v14) - in.WantComma() - } - in.Delim(']') - } - case "timeout": - if in.IsNull() { - in.Skip() - out.Timeout = nil - } else { - if out.Timeout == nil { - out.Timeout = new(int) - } - *out.Timeout = int(in.Int()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out *jwriter.Writer, in specs_go.Hook) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - if len(in.Args) != 0 { - const prefix string = ",\"args\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v15, v16 := range in.Args { - if v15 > 0 { - out.RawByte(',') - } - out.String(string(v16)) - } - out.RawByte(']') - } - } - if len(in.Env) != 0 { - const prefix string = ",\"env\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v17, v18 := range in.Env { - if v17 > 0 { - out.RawByte(',') - } - out.String(string(v18)) - } - out.RawByte(']') - } - } - if in.Timeout != nil { - const prefix string = ",\"timeout\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(*in.Timeout)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(in *jlexer.Lexer, out *current.Result) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "cniVersion": - out.CNIVersion = string(in.String()) - case "interfaces": - if in.IsNull() { - in.Skip() - out.Interfaces = nil - } else { - in.Delim('[') - if out.Interfaces == nil { - if !in.IsDelim(']') { - out.Interfaces = make([]*current.Interface, 0, 8) - } else { - out.Interfaces = []*current.Interface{} - } - } else { - out.Interfaces = (out.Interfaces)[:0] - } - for !in.IsDelim(']') { - var v19 *current.Interface - if in.IsNull() { - in.Skip() - v19 = nil - } else { - if v19 == nil { - v19 = new(current.Interface) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(in, &*v19) - } - out.Interfaces = append(out.Interfaces, v19) - in.WantComma() - } - in.Delim(']') - } - case "ips": - if in.IsNull() { - in.Skip() - out.IPs = nil - } else { - in.Delim('[') - if out.IPs == nil { - if !in.IsDelim(']') { - out.IPs = make([]*current.IPConfig, 0, 8) - } else { - out.IPs = []*current.IPConfig{} - } - } else { - out.IPs = (out.IPs)[:0] - } - for !in.IsDelim(']') { - var v20 *current.IPConfig - if in.IsNull() { - in.Skip() - v20 = nil - } else { - if v20 == nil { - v20 = new(current.IPConfig) - } - if data := in.Raw(); in.Ok() { - in.AddError((*v20).UnmarshalJSON(data)) - } - } - out.IPs = append(out.IPs, v20) - in.WantComma() - } - in.Delim(']') - } - case "routes": - if in.IsNull() { - in.Skip() - out.Routes = nil - } else { - in.Delim('[') - if out.Routes == nil { - if !in.IsDelim(']') { - out.Routes = make([]*types.Route, 0, 8) - } else { - out.Routes = []*types.Route{} - } - } else { - out.Routes = (out.Routes)[:0] - } - for !in.IsDelim(']') { - var v21 *types.Route - if in.IsNull() { - in.Skip() - v21 = nil - } else { - if v21 == nil { - v21 = new(types.Route) - } - if data := in.Raw(); in.Ok() { - in.AddError((*v21).UnmarshalJSON(data)) - } - } - out.Routes = append(out.Routes, v21) - in.WantComma() - } - in.Delim(']') - } - case "dns": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(in, &out.DNS) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(out *jwriter.Writer, in current.Result) { - out.RawByte('{') - first := true - _ = first - if in.CNIVersion != "" { - const prefix string = ",\"cniVersion\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CNIVersion)) - } - if len(in.Interfaces) != 0 { - const prefix string = ",\"interfaces\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v22, v23 := range in.Interfaces { - if v22 > 0 { - out.RawByte(',') - } - if v23 == nil { - out.RawString("null") - } else { - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(out, *v23) - } - } - out.RawByte(']') - } - } - if len(in.IPs) != 0 { - const prefix string = ",\"ips\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v24, v25 := range in.IPs { - if v24 > 0 { - out.RawByte(',') - } - if v25 == nil { - out.RawString("null") - } else { - out.Raw((*v25).MarshalJSON()) - } - } - out.RawByte(']') - } - } - if len(in.Routes) != 0 { - const prefix string = ",\"routes\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v26, v27 := range in.Routes { - if v26 > 0 { - out.RawByte(',') - } - if v27 == nil { - out.RawString("null") - } else { - out.Raw((*v27).MarshalJSON()) - } - } - out.RawByte(']') - } - } - if true { - const prefix string = ",\"dns\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(out, in.DNS) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(in *jlexer.Lexer, out *types.DNS) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "nameservers": - if in.IsNull() { - in.Skip() - out.Nameservers = nil - } else { - in.Delim('[') - if out.Nameservers == nil { - if !in.IsDelim(']') { - out.Nameservers = make([]string, 0, 4) - } else { - out.Nameservers = []string{} - } - } else { - out.Nameservers = (out.Nameservers)[:0] - } - for !in.IsDelim(']') { - var v28 string - v28 = string(in.String()) - out.Nameservers = append(out.Nameservers, v28) - in.WantComma() - } - in.Delim(']') - } - case "domain": - out.Domain = string(in.String()) - case "search": - if in.IsNull() { - in.Skip() - out.Search = nil - } else { - in.Delim('[') - if out.Search == nil { - if !in.IsDelim(']') { - out.Search = make([]string, 0, 4) - } else { - out.Search = []string{} - } - } else { - out.Search = (out.Search)[:0] - } - for !in.IsDelim(']') { - var v29 string - v29 = string(in.String()) - out.Search = append(out.Search, v29) - in.WantComma() - } - in.Delim(']') - } - case "options": - if in.IsNull() { - in.Skip() - out.Options = nil - } else { - in.Delim('[') - if out.Options == nil { - if !in.IsDelim(']') { - out.Options = make([]string, 0, 4) - } else { - out.Options = []string{} - } - } else { - out.Options = (out.Options)[:0] - } - for !in.IsDelim(']') { - var v30 string - v30 = string(in.String()) - out.Options = append(out.Options, v30) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(out *jwriter.Writer, in types.DNS) { - out.RawByte('{') - first := true - _ = first - if len(in.Nameservers) != 0 { - const prefix string = ",\"nameservers\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v31, v32 := range in.Nameservers { - if v31 > 0 { - out.RawByte(',') - } - out.String(string(v32)) - } - out.RawByte(']') - } - } - if in.Domain != "" { - const prefix string = ",\"domain\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Domain)) - } - if len(in.Search) != 0 { - const prefix string = ",\"search\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v33, v34 := range in.Search { - if v33 > 0 { - out.RawByte(',') - } - out.String(string(v34)) - } - out.RawByte(']') - } - } - if len(in.Options) != 0 { - const prefix string = ",\"options\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v35, v36 := range in.Options { - if v35 > 0 { - out.RawByte(',') - } - out.String(string(v36)) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(in *jlexer.Lexer, out *current.Interface) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "name": - out.Name = string(in.String()) - case "mac": - out.Mac = string(in.String()) - case "sandbox": - out.Sandbox = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(out *jwriter.Writer, in current.Interface) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"name\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Name)) - } - if in.Mac != "" { - const prefix string = ",\"mac\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Mac)) - } - if in.Sandbox != "" { - const prefix string = ",\"sandbox\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Sandbox)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(in *jlexer.Lexer, out *ExecSession) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "id": - out.ID = string(in.String()) - case "command": - if in.IsNull() { - in.Skip() - out.Command = nil - } else { - in.Delim('[') - if out.Command == nil { - if !in.IsDelim(']') { - out.Command = make([]string, 0, 4) - } else { - out.Command = []string{} - } - } else { - out.Command = (out.Command)[:0] - } - for !in.IsDelim(']') { - var v37 string - v37 = string(in.String()) - out.Command = append(out.Command, v37) - in.WantComma() - } - in.Delim(']') - } - case "pid": - out.PID = int(in.Int()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(out *jwriter.Writer, in ExecSession) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ID)) - } - { - const prefix string = ",\"command\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Command == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v38, v39 := range in.Command { - if v38 > 0 { - out.RawByte(',') - } - out.String(string(v39)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"pid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.PID)) - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v ExecSession) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v ExecSession) MarshalEasyJSON(w *jwriter.Writer) { - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *ExecSession) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(&r, v) - return r.Error() -} +func ( ContainerConfig ) MarshalJSON() ([]byte, error) { return nil, nil } +func (* ContainerConfig ) UnmarshalJSON([]byte) error { return nil } +func ( ContainerConfig ) MarshalEasyJSON(w *jwriter.Writer) {} +func (* ContainerConfig ) UnmarshalEasyJSON(l *jlexer.Lexer) {} -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *ExecSession) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(l, v) -} -func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(in *jlexer.Lexer, out *ContainerConfig) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "spec": - if in.IsNull() { - in.Skip() - out.Spec = nil - } else { - if out.Spec == nil { - out.Spec = new(specs_go.Spec) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(in, &*out.Spec) - } - case "id": - out.ID = string(in.String()) - case "name": - out.Name = string(in.String()) - case "pod": - out.Pod = string(in.String()) - case "namespace": - out.Namespace = string(in.String()) - case "idMappingsOptions": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStorage(in, &out.IDMappings) - case "rootfsImageID": - out.RootfsImageID = string(in.String()) - case "rootfsImageName": - out.RootfsImageName = string(in.String()) - case "rootfs": - out.Rootfs = string(in.String()) - case "imageVolumes": - out.ImageVolumes = bool(in.Bool()) - case "ShmDir": - out.ShmDir = string(in.String()) - case "shmSize": - out.ShmSize = int64(in.Int64()) - case "staticDir": - out.StaticDir = string(in.String()) - case "mounts": - if in.IsNull() { - in.Skip() - out.Mounts = nil - } else { - in.Delim('[') - if out.Mounts == nil { - if !in.IsDelim(']') { - out.Mounts = make([]string, 0, 4) - } else { - out.Mounts = []string{} - } - } else { - out.Mounts = (out.Mounts)[:0] - } - for !in.IsDelim(']') { - var v40 string - v40 = string(in.String()) - out.Mounts = append(out.Mounts, v40) - in.WantComma() - } - in.Delim(']') - } - case "privileged": - out.Privileged = bool(in.Bool()) - case "ProcessLabel": - out.ProcessLabel = string(in.String()) - case "MountLabel": - out.MountLabel = string(in.String()) - case "user": - out.User = string(in.String()) - case "groups": - if in.IsNull() { - in.Skip() - out.Groups = nil - } else { - in.Delim('[') - if out.Groups == nil { - if !in.IsDelim(']') { - out.Groups = make([]string, 0, 4) - } else { - out.Groups = []string{} - } - } else { - out.Groups = (out.Groups)[:0] - } - for !in.IsDelim(']') { - var v41 string - v41 = string(in.String()) - out.Groups = append(out.Groups, v41) - in.WantComma() - } - in.Delim(']') - } - case "ipcNsCtr": - out.IPCNsCtr = string(in.String()) - case "mountNsCtr": - out.MountNsCtr = string(in.String()) - case "netNsCtr": - out.NetNsCtr = string(in.String()) - case "pidNsCtr": - out.PIDNsCtr = string(in.String()) - case "userNsCtr": - out.UserNsCtr = string(in.String()) - case "utsNsCtr": - out.UTSNsCtr = string(in.String()) - case "cgroupNsCtr": - out.CgroupNsCtr = string(in.String()) - case "Dependencies": - if in.IsNull() { - in.Skip() - out.Dependencies = nil - } else { - in.Delim('[') - if out.Dependencies == nil { - if !in.IsDelim(']') { - out.Dependencies = make([]string, 0, 4) - } else { - out.Dependencies = []string{} - } - } else { - out.Dependencies = (out.Dependencies)[:0] - } - for !in.IsDelim(']') { - var v42 string - v42 = string(in.String()) - out.Dependencies = append(out.Dependencies, v42) - in.WantComma() - } - in.Delim(']') - } - case "createNetNS": - out.CreateNetNS = bool(in.Bool()) - case "portMappings": - if in.IsNull() { - in.Skip() - out.PortMappings = nil - } else { - in.Delim('[') - if out.PortMappings == nil { - if !in.IsDelim(']') { - out.PortMappings = make([]ocicni.PortMapping, 0, 1) - } else { - out.PortMappings = []ocicni.PortMapping{} - } - } else { - out.PortMappings = (out.PortMappings)[:0] - } - for !in.IsDelim(']') { - var v43 ocicni.PortMapping - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(in, &v43) - out.PortMappings = append(out.PortMappings, v43) - in.WantComma() - } - in.Delim(']') - } - case "dnsServer": - if in.IsNull() { - in.Skip() - out.DNSServer = nil - } else { - in.Delim('[') - if out.DNSServer == nil { - if !in.IsDelim(']') { - out.DNSServer = make([]net.IP, 0, 2) - } else { - out.DNSServer = []net.IP{} - } - } else { - out.DNSServer = (out.DNSServer)[:0] - } - for !in.IsDelim(']') { - var v44 net.IP - if data := in.UnsafeBytes(); in.Ok() { - in.AddError((v44).UnmarshalText(data)) - } - out.DNSServer = append(out.DNSServer, v44) - in.WantComma() - } - in.Delim(']') - } - case "dnsSearch": - if in.IsNull() { - in.Skip() - out.DNSSearch = nil - } else { - in.Delim('[') - if out.DNSSearch == nil { - if !in.IsDelim(']') { - out.DNSSearch = make([]string, 0, 4) - } else { - out.DNSSearch = []string{} - } - } else { - out.DNSSearch = (out.DNSSearch)[:0] - } - for !in.IsDelim(']') { - var v45 string - v45 = string(in.String()) - out.DNSSearch = append(out.DNSSearch, v45) - in.WantComma() - } - in.Delim(']') - } - case "dnsOption": - if in.IsNull() { - in.Skip() - out.DNSOption = nil - } else { - in.Delim('[') - if out.DNSOption == nil { - if !in.IsDelim(']') { - out.DNSOption = make([]string, 0, 4) - } else { - out.DNSOption = []string{} - } - } else { - out.DNSOption = (out.DNSOption)[:0] - } - for !in.IsDelim(']') { - var v46 string - v46 = string(in.String()) - out.DNSOption = append(out.DNSOption, v46) - in.WantComma() - } - in.Delim(']') - } - case "hostsAdd": - if in.IsNull() { - in.Skip() - out.HostAdd = nil - } else { - in.Delim('[') - if out.HostAdd == nil { - if !in.IsDelim(']') { - out.HostAdd = make([]string, 0, 4) - } else { - out.HostAdd = []string{} - } - } else { - out.HostAdd = (out.HostAdd)[:0] - } - for !in.IsDelim(']') { - var v47 string - v47 = string(in.String()) - out.HostAdd = append(out.HostAdd, v47) - in.WantComma() - } - in.Delim(']') - } - case "networks": - if in.IsNull() { - in.Skip() - out.Networks = nil - } else { - in.Delim('[') - if out.Networks == nil { - if !in.IsDelim(']') { - out.Networks = make([]string, 0, 4) - } else { - out.Networks = []string{} - } - } else { - out.Networks = (out.Networks)[:0] - } - for !in.IsDelim(']') { - var v48 string - v48 = string(in.String()) - out.Networks = append(out.Networks, v48) - in.WantComma() - } - in.Delim(']') - } - case "userVolumes": - if in.IsNull() { - in.Skip() - out.UserVolumes = nil - } else { - in.Delim('[') - if out.UserVolumes == nil { - if !in.IsDelim(']') { - out.UserVolumes = make([]string, 0, 4) - } else { - out.UserVolumes = []string{} - } - } else { - out.UserVolumes = (out.UserVolumes)[:0] - } - for !in.IsDelim(']') { - var v49 string - v49 = string(in.String()) - out.UserVolumes = append(out.UserVolumes, v49) - in.WantComma() - } - in.Delim(']') - } - case "entrypoint": - if in.IsNull() { - in.Skip() - out.Entrypoint = nil - } else { - in.Delim('[') - if out.Entrypoint == nil { - if !in.IsDelim(']') { - out.Entrypoint = make([]string, 0, 4) - } else { - out.Entrypoint = []string{} - } - } else { - out.Entrypoint = (out.Entrypoint)[:0] - } - for !in.IsDelim(']') { - var v50 string - v50 = string(in.String()) - out.Entrypoint = append(out.Entrypoint, v50) - in.WantComma() - } - in.Delim(']') - } - case "command": - if in.IsNull() { - in.Skip() - out.Command = nil - } else { - in.Delim('[') - if out.Command == nil { - if !in.IsDelim(']') { - out.Command = make([]string, 0, 4) - } else { - out.Command = []string{} - } - } else { - out.Command = (out.Command)[:0] - } - for !in.IsDelim(']') { - var v51 string - v51 = string(in.String()) - out.Command = append(out.Command, v51) - in.WantComma() - } - in.Delim(']') - } - case "stdin": - out.Stdin = bool(in.Bool()) - case "labels": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.Labels = make(map[string]string) - } else { - out.Labels = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v52 string - v52 = string(in.String()) - (out.Labels)[key] = v52 - in.WantComma() - } - in.Delim('}') - } - case "stopSignal": - out.StopSignal = uint(in.Uint()) - case "stopTimeout": - out.StopTimeout = uint(in.Uint()) - case "createdTime": - if data := in.Raw(); in.Ok() { - in.AddError((out.CreatedTime).UnmarshalJSON(data)) - } - case "cgroupParent": - out.CgroupParent = string(in.String()) - case "logPath": - out.LogPath = string(in.String()) - case "conmonPidFile": - out.ConmonPidFile = string(in.String()) - case "postConfigureNetNS": - out.PostConfigureNetNS = bool(in.Bool()) - case "exitCommand": - if in.IsNull() { - in.Skip() - out.ExitCommand = nil - } else { - in.Delim('[') - if out.ExitCommand == nil { - if !in.IsDelim(']') { - out.ExitCommand = make([]string, 0, 4) - } else { - out.ExitCommand = []string{} - } - } else { - out.ExitCommand = (out.ExitCommand)[:0] - } - for !in.IsDelim(']') { - var v53 string - v53 = string(in.String()) - out.ExitCommand = append(out.ExitCommand, v53) - in.WantComma() - } - in.Delim(']') - } - case "LocalVolumes": - if in.IsNull() { - in.Skip() - out.LocalVolumes = nil - } else { - in.Delim('[') - if out.LocalVolumes == nil { - if !in.IsDelim(']') { - out.LocalVolumes = make([]string, 0, 4) - } else { - out.LocalVolumes = []string{} - } - } else { - out.LocalVolumes = (out.LocalVolumes)[:0] - } - for !in.IsDelim(']') { - var v54 string - v54 = string(in.String()) - out.LocalVolumes = append(out.LocalVolumes, v54) - in.WantComma() - } - in.Delim(']') - } - case "pause": - out.IsInfra = bool(in.Bool()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(out *jwriter.Writer, in ContainerConfig) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"spec\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Spec == nil { - out.RawString("null") - } else { - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(out, *in.Spec) - } - } - { - const prefix string = ",\"id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ID)) - } - { - const prefix string = ",\"name\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Name)) - } - if in.Pod != "" { - const prefix string = ",\"pod\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Pod)) - } - if in.Namespace != "" { - const prefix string = ",\"namespace\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Namespace)) - } - if true { - const prefix string = ",\"idMappingsOptions\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStorage(out, in.IDMappings) - } - if in.RootfsImageID != "" { - const prefix string = ",\"rootfsImageID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.RootfsImageID)) - } - if in.RootfsImageName != "" { - const prefix string = ",\"rootfsImageName\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.RootfsImageName)) - } - if in.Rootfs != "" { - const prefix string = ",\"rootfs\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Rootfs)) - } - { - const prefix string = ",\"imageVolumes\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.ImageVolumes)) - } - if in.ShmDir != "" { - const prefix string = ",\"ShmDir\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ShmDir)) - } - { - const prefix string = ",\"shmSize\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.ShmSize)) - } - { - const prefix string = ",\"staticDir\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.StaticDir)) - } - if len(in.Mounts) != 0 { - const prefix string = ",\"mounts\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v55, v56 := range in.Mounts { - if v55 > 0 { - out.RawByte(',') - } - out.String(string(v56)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"privileged\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Privileged)) - } - if in.ProcessLabel != "" { - const prefix string = ",\"ProcessLabel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ProcessLabel)) - } - if in.MountLabel != "" { - const prefix string = ",\"MountLabel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.MountLabel)) - } - if in.User != "" { - const prefix string = ",\"user\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.User)) - } - if len(in.Groups) != 0 { - const prefix string = ",\"groups\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v57, v58 := range in.Groups { - if v57 > 0 { - out.RawByte(',') - } - out.String(string(v58)) - } - out.RawByte(']') - } - } - if in.IPCNsCtr != "" { - const prefix string = ",\"ipcNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.IPCNsCtr)) - } - if in.MountNsCtr != "" { - const prefix string = ",\"mountNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.MountNsCtr)) - } - if in.NetNsCtr != "" { - const prefix string = ",\"netNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.NetNsCtr)) - } - if in.PIDNsCtr != "" { - const prefix string = ",\"pidNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.PIDNsCtr)) - } - if in.UserNsCtr != "" { - const prefix string = ",\"userNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.UserNsCtr)) - } - if in.UTSNsCtr != "" { - const prefix string = ",\"utsNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.UTSNsCtr)) - } - if in.CgroupNsCtr != "" { - const prefix string = ",\"cgroupNsCtr\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupNsCtr)) - } - { - const prefix string = ",\"Dependencies\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Dependencies == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v59, v60 := range in.Dependencies { - if v59 > 0 { - out.RawByte(',') - } - out.String(string(v60)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"createNetNS\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.CreateNetNS)) - } - if len(in.PortMappings) != 0 { - const prefix string = ",\"portMappings\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v61, v62 := range in.PortMappings { - if v61 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(out, v62) - } - out.RawByte(']') - } - } - if len(in.DNSServer) != 0 { - const prefix string = ",\"dnsServer\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v63, v64 := range in.DNSServer { - if v63 > 0 { - out.RawByte(',') - } - out.RawText((v64).MarshalText()) - } - out.RawByte(']') - } - } - if len(in.DNSSearch) != 0 { - const prefix string = ",\"dnsSearch\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v65, v66 := range in.DNSSearch { - if v65 > 0 { - out.RawByte(',') - } - out.String(string(v66)) - } - out.RawByte(']') - } - } - if len(in.DNSOption) != 0 { - const prefix string = ",\"dnsOption\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v67, v68 := range in.DNSOption { - if v67 > 0 { - out.RawByte(',') - } - out.String(string(v68)) - } - out.RawByte(']') - } - } - if len(in.HostAdd) != 0 { - const prefix string = ",\"hostsAdd\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v69, v70 := range in.HostAdd { - if v69 > 0 { - out.RawByte(',') - } - out.String(string(v70)) - } - out.RawByte(']') - } - } - if len(in.Networks) != 0 { - const prefix string = ",\"networks\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v71, v72 := range in.Networks { - if v71 > 0 { - out.RawByte(',') - } - out.String(string(v72)) - } - out.RawByte(']') - } - } - if len(in.UserVolumes) != 0 { - const prefix string = ",\"userVolumes\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v73, v74 := range in.UserVolumes { - if v73 > 0 { - out.RawByte(',') - } - out.String(string(v74)) - } - out.RawByte(']') - } - } - if len(in.Entrypoint) != 0 { - const prefix string = ",\"entrypoint\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v75, v76 := range in.Entrypoint { - if v75 > 0 { - out.RawByte(',') - } - out.String(string(v76)) - } - out.RawByte(']') - } - } - if len(in.Command) != 0 { - const prefix string = ",\"command\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v77, v78 := range in.Command { - if v77 > 0 { - out.RawByte(',') - } - out.String(string(v78)) - } - out.RawByte(']') - } - } - if in.Stdin { - const prefix string = ",\"stdin\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Stdin)) - } - if len(in.Labels) != 0 { - const prefix string = ",\"labels\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v79First := true - for v79Name, v79Value := range in.Labels { - if v79First { - v79First = false - } else { - out.RawByte(',') - } - out.String(string(v79Name)) - out.RawByte(':') - out.String(string(v79Value)) - } - out.RawByte('}') - } - } - if in.StopSignal != 0 { - const prefix string = ",\"stopSignal\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint(uint(in.StopSignal)) - } - if in.StopTimeout != 0 { - const prefix string = ",\"stopTimeout\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint(uint(in.StopTimeout)) - } - { - const prefix string = ",\"createdTime\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Raw((in.CreatedTime).MarshalJSON()) - } - { - const prefix string = ",\"cgroupParent\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupParent)) - } - { - const prefix string = ",\"logPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.LogPath)) - } - if in.ConmonPidFile != "" { - const prefix string = ",\"conmonPidFile\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ConmonPidFile)) - } - { - const prefix string = ",\"postConfigureNetNS\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.PostConfigureNetNS)) - } - if len(in.ExitCommand) != 0 { - const prefix string = ",\"exitCommand\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v80, v81 := range in.ExitCommand { - if v80 > 0 { - out.RawByte(',') - } - out.String(string(v81)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"LocalVolumes\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.LocalVolumes == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v82, v83 := range in.LocalVolumes { - if v82 > 0 { - out.RawByte(',') - } - out.String(string(v83)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"pause\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.IsInfra)) - } - out.RawByte('}') -} +type EasyJSON_exporter_ContainerConfig *ContainerConfig -// MarshalJSON supports json.Marshaler interface -func (v ContainerConfig) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(&w, v) - return w.Buffer.BuildBytes(), w.Error -} +func ( ExecSession ) MarshalJSON() ([]byte, error) { return nil, nil } +func (* ExecSession ) UnmarshalJSON([]byte) error { return nil } +func ( ExecSession ) MarshalEasyJSON(w *jwriter.Writer) {} +func (* ExecSession ) UnmarshalEasyJSON(l *jlexer.Lexer) {} -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v ContainerConfig) MarshalEasyJSON(w *jwriter.Writer) { - easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(w, v) -} +type EasyJSON_exporter_ExecSession *ExecSession -// UnmarshalJSON supports json.Unmarshaler interface -func (v *ContainerConfig) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(&r, v) - return r.Error() -} +func ( containerState ) MarshalJSON() ([]byte, error) { return nil, nil } +func (* containerState ) UnmarshalJSON([]byte) error { return nil } +func ( containerState ) MarshalEasyJSON(w *jwriter.Writer) {} +func (* containerState ) UnmarshalEasyJSON(l *jlexer.Lexer) {} -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *ContainerConfig) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(l, v) -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(in *jlexer.Lexer, out *ocicni.PortMapping) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "hostPort": - out.HostPort = int32(in.Int32()) - case "containerPort": - out.ContainerPort = int32(in.Int32()) - case "protocol": - out.Protocol = string(in.String()) - case "hostIP": - out.HostIP = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(out *jwriter.Writer, in ocicni.PortMapping) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"hostPort\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int32(int32(in.HostPort)) - } - { - const prefix string = ",\"containerPort\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int32(int32(in.ContainerPort)) - } - { - const prefix string = ",\"protocol\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Protocol)) - } - { - const prefix string = ",\"hostIP\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.HostIP)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStorage(in *jlexer.Lexer, out *storage.IDMappingOptions) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "HostUIDMapping": - out.HostUIDMapping = bool(in.Bool()) - case "HostGIDMapping": - out.HostGIDMapping = bool(in.Bool()) - case "UIDMap": - if in.IsNull() { - in.Skip() - out.UIDMap = nil - } else { - in.Delim('[') - if out.UIDMap == nil { - if !in.IsDelim(']') { - out.UIDMap = make([]idtools.IDMap, 0, 2) - } else { - out.UIDMap = []idtools.IDMap{} - } - } else { - out.UIDMap = (out.UIDMap)[:0] - } - for !in.IsDelim(']') { - var v84 idtools.IDMap - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in, &v84) - out.UIDMap = append(out.UIDMap, v84) - in.WantComma() - } - in.Delim(']') - } - case "GIDMap": - if in.IsNull() { - in.Skip() - out.GIDMap = nil - } else { - in.Delim('[') - if out.GIDMap == nil { - if !in.IsDelim(']') { - out.GIDMap = make([]idtools.IDMap, 0, 2) - } else { - out.GIDMap = []idtools.IDMap{} - } - } else { - out.GIDMap = (out.GIDMap)[:0] - } - for !in.IsDelim(']') { - var v85 idtools.IDMap - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in, &v85) - out.GIDMap = append(out.GIDMap, v85) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStorage(out *jwriter.Writer, in storage.IDMappingOptions) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"HostUIDMapping\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.HostUIDMapping)) - } - { - const prefix string = ",\"HostGIDMapping\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.HostGIDMapping)) - } - { - const prefix string = ",\"UIDMap\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.UIDMap == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v86, v87 := range in.UIDMap { - if v86 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out, v87) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"GIDMap\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.GIDMap == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v88, v89 := range in.GIDMap { - if v88 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out, v89) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in *jlexer.Lexer, out *idtools.IDMap) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "container_id": - out.ContainerID = int(in.Int()) - case "host_id": - out.HostID = int(in.Int()) - case "size": - out.Size = int(in.Int()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out *jwriter.Writer, in idtools.IDMap) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"container_id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.ContainerID)) - } - { - const prefix string = ",\"host_id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.HostID)) - } - { - const prefix string = ",\"size\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(in.Size)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(in *jlexer.Lexer, out *specs_go.Spec) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "ociVersion": - out.Version = string(in.String()) - case "process": - if in.IsNull() { - in.Skip() - out.Process = nil - } else { - if out.Process == nil { - out.Process = new(specs_go.Process) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(in, &*out.Process) - } - case "root": - if in.IsNull() { - in.Skip() - out.Root = nil - } else { - if out.Root == nil { - out.Root = new(specs_go.Root) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(in, &*out.Root) - } - case "hostname": - out.Hostname = string(in.String()) - case "mounts": - if in.IsNull() { - in.Skip() - out.Mounts = nil - } else { - in.Delim('[') - if out.Mounts == nil { - if !in.IsDelim(']') { - out.Mounts = make([]specs_go.Mount, 0, 1) - } else { - out.Mounts = []specs_go.Mount{} - } - } else { - out.Mounts = (out.Mounts)[:0] - } - for !in.IsDelim(']') { - var v90 specs_go.Mount - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(in, &v90) - out.Mounts = append(out.Mounts, v90) - in.WantComma() - } - in.Delim(']') - } - case "hooks": - if in.IsNull() { - in.Skip() - out.Hooks = nil - } else { - if out.Hooks == nil { - out.Hooks = new(specs_go.Hooks) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(in, &*out.Hooks) - } - case "annotations": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.Annotations = make(map[string]string) - } else { - out.Annotations = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v91 string - v91 = string(in.String()) - (out.Annotations)[key] = v91 - in.WantComma() - } - in.Delim('}') - } - case "linux": - if in.IsNull() { - in.Skip() - out.Linux = nil - } else { - if out.Linux == nil { - out.Linux = new(specs_go.Linux) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(in, &*out.Linux) - } - case "solaris": - if in.IsNull() { - in.Skip() - out.Solaris = nil - } else { - if out.Solaris == nil { - out.Solaris = new(specs_go.Solaris) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(in, &*out.Solaris) - } - case "windows": - if in.IsNull() { - in.Skip() - out.Windows = nil - } else { - if out.Windows == nil { - out.Windows = new(specs_go.Windows) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(in, &*out.Windows) - } - case "vm": - if in.IsNull() { - in.Skip() - out.VM = nil - } else { - if out.VM == nil { - out.VM = new(specs_go.VM) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(in, &*out.VM) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(out *jwriter.Writer, in specs_go.Spec) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"ociVersion\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Version)) - } - if in.Process != nil { - const prefix string = ",\"process\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(out, *in.Process) - } - if in.Root != nil { - const prefix string = ",\"root\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(out, *in.Root) - } - if in.Hostname != "" { - const prefix string = ",\"hostname\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Hostname)) - } - if len(in.Mounts) != 0 { - const prefix string = ",\"mounts\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v92, v93 := range in.Mounts { - if v92 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(out, v93) - } - out.RawByte(']') - } - } - if in.Hooks != nil { - const prefix string = ",\"hooks\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(out, *in.Hooks) - } - if len(in.Annotations) != 0 { - const prefix string = ",\"annotations\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v94First := true - for v94Name, v94Value := range in.Annotations { - if v94First { - v94First = false - } else { - out.RawByte(',') - } - out.String(string(v94Name)) - out.RawByte(':') - out.String(string(v94Value)) - } - out.RawByte('}') - } - } - if in.Linux != nil { - const prefix string = ",\"linux\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(out, *in.Linux) - } - if in.Solaris != nil { - const prefix string = ",\"solaris\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(out, *in.Solaris) - } - if in.Windows != nil { - const prefix string = ",\"windows\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(out, *in.Windows) - } - if in.VM != nil { - const prefix string = ",\"vm\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(out, *in.VM) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(in *jlexer.Lexer, out *specs_go.VM) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "hypervisor": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(in, &out.Hypervisor) - case "kernel": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(in, &out.Kernel) - case "image": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(in, &out.Image) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(out *jwriter.Writer, in specs_go.VM) { - out.RawByte('{') - first := true - _ = first - if true { - const prefix string = ",\"hypervisor\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(out, in.Hypervisor) - } - { - const prefix string = ",\"kernel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(out, in.Kernel) - } - if true { - const prefix string = ",\"image\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(out, in.Image) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(in *jlexer.Lexer, out *specs_go.VMImage) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "format": - out.Format = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(out *jwriter.Writer, in specs_go.VMImage) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - { - const prefix string = ",\"format\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Format)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(in *jlexer.Lexer, out *specs_go.VMKernel) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "parameters": - out.Parameters = string(in.String()) - case "initrd": - out.InitRD = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(out *jwriter.Writer, in specs_go.VMKernel) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - if in.Parameters != "" { - const prefix string = ",\"parameters\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Parameters)) - } - if in.InitRD != "" { - const prefix string = ",\"initrd\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.InitRD)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(in *jlexer.Lexer, out *specs_go.VMHypervisor) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "parameters": - out.Parameters = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(out *jwriter.Writer, in specs_go.VMHypervisor) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - if in.Parameters != "" { - const prefix string = ",\"parameters\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Parameters)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(in *jlexer.Lexer, out *specs_go.Windows) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "layerFolders": - if in.IsNull() { - in.Skip() - out.LayerFolders = nil - } else { - in.Delim('[') - if out.LayerFolders == nil { - if !in.IsDelim(']') { - out.LayerFolders = make([]string, 0, 4) - } else { - out.LayerFolders = []string{} - } - } else { - out.LayerFolders = (out.LayerFolders)[:0] - } - for !in.IsDelim(']') { - var v95 string - v95 = string(in.String()) - out.LayerFolders = append(out.LayerFolders, v95) - in.WantComma() - } - in.Delim(']') - } - case "devices": - if in.IsNull() { - in.Skip() - out.Devices = nil - } else { - in.Delim('[') - if out.Devices == nil { - if !in.IsDelim(']') { - out.Devices = make([]specs_go.WindowsDevice, 0, 2) - } else { - out.Devices = []specs_go.WindowsDevice{} - } - } else { - out.Devices = (out.Devices)[:0] - } - for !in.IsDelim(']') { - var v96 specs_go.WindowsDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(in, &v96) - out.Devices = append(out.Devices, v96) - in.WantComma() - } - in.Delim(']') - } - case "resources": - if in.IsNull() { - in.Skip() - out.Resources = nil - } else { - if out.Resources == nil { - out.Resources = new(specs_go.WindowsResources) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(in, &*out.Resources) - } - case "credentialSpec": - if m, ok := out.CredentialSpec.(easyjson.Unmarshaler); ok { - m.UnmarshalEasyJSON(in) - } else if m, ok := out.CredentialSpec.(json.Unmarshaler); ok { - _ = m.UnmarshalJSON(in.Raw()) - } else { - out.CredentialSpec = in.Interface() - } - case "servicing": - out.Servicing = bool(in.Bool()) - case "ignoreFlushesDuringBoot": - out.IgnoreFlushesDuringBoot = bool(in.Bool()) - case "hyperv": - if in.IsNull() { - in.Skip() - out.HyperV = nil - } else { - if out.HyperV == nil { - out.HyperV = new(specs_go.WindowsHyperV) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(in, &*out.HyperV) - } - case "network": - if in.IsNull() { - in.Skip() - out.Network = nil - } else { - if out.Network == nil { - out.Network = new(specs_go.WindowsNetwork) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(in, &*out.Network) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(out *jwriter.Writer, in specs_go.Windows) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"layerFolders\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.LayerFolders == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v97, v98 := range in.LayerFolders { - if v97 > 0 { - out.RawByte(',') - } - out.String(string(v98)) - } - out.RawByte(']') - } - } - if len(in.Devices) != 0 { - const prefix string = ",\"devices\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v99, v100 := range in.Devices { - if v99 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(out, v100) - } - out.RawByte(']') - } - } - if in.Resources != nil { - const prefix string = ",\"resources\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(out, *in.Resources) - } - if in.CredentialSpec != nil { - const prefix string = ",\"credentialSpec\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if m, ok := in.CredentialSpec.(easyjson.Marshaler); ok { - m.MarshalEasyJSON(out) - } else if m, ok := in.CredentialSpec.(json.Marshaler); ok { - out.Raw(m.MarshalJSON()) - } else { - out.Raw(json.Marshal(in.CredentialSpec)) - } - } - if in.Servicing { - const prefix string = ",\"servicing\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Servicing)) - } - if in.IgnoreFlushesDuringBoot { - const prefix string = ",\"ignoreFlushesDuringBoot\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.IgnoreFlushesDuringBoot)) - } - if in.HyperV != nil { - const prefix string = ",\"hyperv\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(out, *in.HyperV) - } - if in.Network != nil { - const prefix string = ",\"network\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(out, *in.Network) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(in *jlexer.Lexer, out *specs_go.WindowsNetwork) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "endpointList": - if in.IsNull() { - in.Skip() - out.EndpointList = nil - } else { - in.Delim('[') - if out.EndpointList == nil { - if !in.IsDelim(']') { - out.EndpointList = make([]string, 0, 4) - } else { - out.EndpointList = []string{} - } - } else { - out.EndpointList = (out.EndpointList)[:0] - } - for !in.IsDelim(']') { - var v101 string - v101 = string(in.String()) - out.EndpointList = append(out.EndpointList, v101) - in.WantComma() - } - in.Delim(']') - } - case "allowUnqualifiedDNSQuery": - out.AllowUnqualifiedDNSQuery = bool(in.Bool()) - case "DNSSearchList": - if in.IsNull() { - in.Skip() - out.DNSSearchList = nil - } else { - in.Delim('[') - if out.DNSSearchList == nil { - if !in.IsDelim(']') { - out.DNSSearchList = make([]string, 0, 4) - } else { - out.DNSSearchList = []string{} - } - } else { - out.DNSSearchList = (out.DNSSearchList)[:0] - } - for !in.IsDelim(']') { - var v102 string - v102 = string(in.String()) - out.DNSSearchList = append(out.DNSSearchList, v102) - in.WantComma() - } - in.Delim(']') - } - case "networkSharedContainerName": - out.NetworkSharedContainerName = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(out *jwriter.Writer, in specs_go.WindowsNetwork) { - out.RawByte('{') - first := true - _ = first - if len(in.EndpointList) != 0 { - const prefix string = ",\"endpointList\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v103, v104 := range in.EndpointList { - if v103 > 0 { - out.RawByte(',') - } - out.String(string(v104)) - } - out.RawByte(']') - } - } - if in.AllowUnqualifiedDNSQuery { - const prefix string = ",\"allowUnqualifiedDNSQuery\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.AllowUnqualifiedDNSQuery)) - } - if len(in.DNSSearchList) != 0 { - const prefix string = ",\"DNSSearchList\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v105, v106 := range in.DNSSearchList { - if v105 > 0 { - out.RawByte(',') - } - out.String(string(v106)) - } - out.RawByte(']') - } - } - if in.NetworkSharedContainerName != "" { - const prefix string = ",\"networkSharedContainerName\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.NetworkSharedContainerName)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(in *jlexer.Lexer, out *specs_go.WindowsHyperV) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "utilityVMPath": - out.UtilityVMPath = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(out *jwriter.Writer, in specs_go.WindowsHyperV) { - out.RawByte('{') - first := true - _ = first - if in.UtilityVMPath != "" { - const prefix string = ",\"utilityVMPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.UtilityVMPath)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(in *jlexer.Lexer, out *specs_go.WindowsResources) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "memory": - if in.IsNull() { - in.Skip() - out.Memory = nil - } else { - if out.Memory == nil { - out.Memory = new(specs_go.WindowsMemoryResources) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(in, &*out.Memory) - } - case "cpu": - if in.IsNull() { - in.Skip() - out.CPU = nil - } else { - if out.CPU == nil { - out.CPU = new(specs_go.WindowsCPUResources) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(in, &*out.CPU) - } - case "storage": - if in.IsNull() { - in.Skip() - out.Storage = nil - } else { - if out.Storage == nil { - out.Storage = new(specs_go.WindowsStorageResources) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(in, &*out.Storage) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(out *jwriter.Writer, in specs_go.WindowsResources) { - out.RawByte('{') - first := true - _ = first - if in.Memory != nil { - const prefix string = ",\"memory\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(out, *in.Memory) - } - if in.CPU != nil { - const prefix string = ",\"cpu\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(out, *in.CPU) - } - if in.Storage != nil { - const prefix string = ",\"storage\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(out, *in.Storage) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(in *jlexer.Lexer, out *specs_go.WindowsStorageResources) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "iops": - if in.IsNull() { - in.Skip() - out.Iops = nil - } else { - if out.Iops == nil { - out.Iops = new(uint64) - } - *out.Iops = uint64(in.Uint64()) - } - case "bps": - if in.IsNull() { - in.Skip() - out.Bps = nil - } else { - if out.Bps == nil { - out.Bps = new(uint64) - } - *out.Bps = uint64(in.Uint64()) - } - case "sandboxSize": - if in.IsNull() { - in.Skip() - out.SandboxSize = nil - } else { - if out.SandboxSize == nil { - out.SandboxSize = new(uint64) - } - *out.SandboxSize = uint64(in.Uint64()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(out *jwriter.Writer, in specs_go.WindowsStorageResources) { - out.RawByte('{') - first := true - _ = first - if in.Iops != nil { - const prefix string = ",\"iops\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Iops)) - } - if in.Bps != nil { - const prefix string = ",\"bps\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Bps)) - } - if in.SandboxSize != nil { - const prefix string = ",\"sandboxSize\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.SandboxSize)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(in *jlexer.Lexer, out *specs_go.WindowsCPUResources) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "count": - if in.IsNull() { - in.Skip() - out.Count = nil - } else { - if out.Count == nil { - out.Count = new(uint64) - } - *out.Count = uint64(in.Uint64()) - } - case "shares": - if in.IsNull() { - in.Skip() - out.Shares = nil - } else { - if out.Shares == nil { - out.Shares = new(uint16) - } - *out.Shares = uint16(in.Uint16()) - } - case "maximum": - if in.IsNull() { - in.Skip() - out.Maximum = nil - } else { - if out.Maximum == nil { - out.Maximum = new(uint16) - } - *out.Maximum = uint16(in.Uint16()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(out *jwriter.Writer, in specs_go.WindowsCPUResources) { - out.RawByte('{') - first := true - _ = first - if in.Count != nil { - const prefix string = ",\"count\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Count)) - } - if in.Shares != nil { - const prefix string = ",\"shares\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.Shares)) - } - if in.Maximum != nil { - const prefix string = ",\"maximum\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.Maximum)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(in *jlexer.Lexer, out *specs_go.WindowsMemoryResources) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "limit": - if in.IsNull() { - in.Skip() - out.Limit = nil - } else { - if out.Limit == nil { - out.Limit = new(uint64) - } - *out.Limit = uint64(in.Uint64()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(out *jwriter.Writer, in specs_go.WindowsMemoryResources) { - out.RawByte('{') - first := true - _ = first - if in.Limit != nil { - const prefix string = ",\"limit\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Limit)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(in *jlexer.Lexer, out *specs_go.WindowsDevice) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "id": - out.ID = string(in.String()) - case "idType": - out.IDType = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(out *jwriter.Writer, in specs_go.WindowsDevice) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ID)) - } - { - const prefix string = ",\"idType\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.IDType)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(in *jlexer.Lexer, out *specs_go.Solaris) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "milestone": - out.Milestone = string(in.String()) - case "limitpriv": - out.LimitPriv = string(in.String()) - case "maxShmMemory": - out.MaxShmMemory = string(in.String()) - case "anet": - if in.IsNull() { - in.Skip() - out.Anet = nil - } else { - in.Delim('[') - if out.Anet == nil { - if !in.IsDelim(']') { - out.Anet = make([]specs_go.SolarisAnet, 0, 1) - } else { - out.Anet = []specs_go.SolarisAnet{} - } - } else { - out.Anet = (out.Anet)[:0] - } - for !in.IsDelim(']') { - var v107 specs_go.SolarisAnet - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(in, &v107) - out.Anet = append(out.Anet, v107) - in.WantComma() - } - in.Delim(']') - } - case "cappedCPU": - if in.IsNull() { - in.Skip() - out.CappedCPU = nil - } else { - if out.CappedCPU == nil { - out.CappedCPU = new(specs_go.SolarisCappedCPU) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(in, &*out.CappedCPU) - } - case "cappedMemory": - if in.IsNull() { - in.Skip() - out.CappedMemory = nil - } else { - if out.CappedMemory == nil { - out.CappedMemory = new(specs_go.SolarisCappedMemory) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(in, &*out.CappedMemory) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(out *jwriter.Writer, in specs_go.Solaris) { - out.RawByte('{') - first := true - _ = first - if in.Milestone != "" { - const prefix string = ",\"milestone\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Milestone)) - } - if in.LimitPriv != "" { - const prefix string = ",\"limitpriv\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.LimitPriv)) - } - if in.MaxShmMemory != "" { - const prefix string = ",\"maxShmMemory\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.MaxShmMemory)) - } - if len(in.Anet) != 0 { - const prefix string = ",\"anet\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v108, v109 := range in.Anet { - if v108 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(out, v109) - } - out.RawByte(']') - } - } - if in.CappedCPU != nil { - const prefix string = ",\"cappedCPU\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(out, *in.CappedCPU) - } - if in.CappedMemory != nil { - const prefix string = ",\"cappedMemory\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(out, *in.CappedMemory) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(in *jlexer.Lexer, out *specs_go.SolarisCappedMemory) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "physical": - out.Physical = string(in.String()) - case "swap": - out.Swap = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(out *jwriter.Writer, in specs_go.SolarisCappedMemory) { - out.RawByte('{') - first := true - _ = first - if in.Physical != "" { - const prefix string = ",\"physical\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Physical)) - } - if in.Swap != "" { - const prefix string = ",\"swap\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Swap)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(in *jlexer.Lexer, out *specs_go.SolarisCappedCPU) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "ncpus": - out.Ncpus = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(out *jwriter.Writer, in specs_go.SolarisCappedCPU) { - out.RawByte('{') - first := true - _ = first - if in.Ncpus != "" { - const prefix string = ",\"ncpus\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Ncpus)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(in *jlexer.Lexer, out *specs_go.SolarisAnet) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "linkname": - out.Linkname = string(in.String()) - case "lowerLink": - out.Lowerlink = string(in.String()) - case "allowedAddress": - out.Allowedaddr = string(in.String()) - case "configureAllowedAddress": - out.Configallowedaddr = string(in.String()) - case "defrouter": - out.Defrouter = string(in.String()) - case "linkProtection": - out.Linkprotection = string(in.String()) - case "macAddress": - out.Macaddress = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(out *jwriter.Writer, in specs_go.SolarisAnet) { - out.RawByte('{') - first := true - _ = first - if in.Linkname != "" { - const prefix string = ",\"linkname\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Linkname)) - } - if in.Lowerlink != "" { - const prefix string = ",\"lowerLink\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Lowerlink)) - } - if in.Allowedaddr != "" { - const prefix string = ",\"allowedAddress\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Allowedaddr)) - } - if in.Configallowedaddr != "" { - const prefix string = ",\"configureAllowedAddress\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Configallowedaddr)) - } - if in.Defrouter != "" { - const prefix string = ",\"defrouter\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Defrouter)) - } - if in.Linkprotection != "" { - const prefix string = ",\"linkProtection\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Linkprotection)) - } - if in.Macaddress != "" { - const prefix string = ",\"macAddress\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Macaddress)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(in *jlexer.Lexer, out *specs_go.Linux) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "uidMappings": - if in.IsNull() { - in.Skip() - out.UIDMappings = nil - } else { - in.Delim('[') - if out.UIDMappings == nil { - if !in.IsDelim(']') { - out.UIDMappings = make([]specs_go.LinuxIDMapping, 0, 5) - } else { - out.UIDMappings = []specs_go.LinuxIDMapping{} - } - } else { - out.UIDMappings = (out.UIDMappings)[:0] - } - for !in.IsDelim(']') { - var v110 specs_go.LinuxIDMapping - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in, &v110) - out.UIDMappings = append(out.UIDMappings, v110) - in.WantComma() - } - in.Delim(']') - } - case "gidMappings": - if in.IsNull() { - in.Skip() - out.GIDMappings = nil - } else { - in.Delim('[') - if out.GIDMappings == nil { - if !in.IsDelim(']') { - out.GIDMappings = make([]specs_go.LinuxIDMapping, 0, 5) - } else { - out.GIDMappings = []specs_go.LinuxIDMapping{} - } - } else { - out.GIDMappings = (out.GIDMappings)[:0] - } - for !in.IsDelim(']') { - var v111 specs_go.LinuxIDMapping - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in, &v111) - out.GIDMappings = append(out.GIDMappings, v111) - in.WantComma() - } - in.Delim(']') - } - case "sysctl": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.Sysctl = make(map[string]string) - } else { - out.Sysctl = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v112 string - v112 = string(in.String()) - (out.Sysctl)[key] = v112 - in.WantComma() - } - in.Delim('}') - } - case "resources": - if in.IsNull() { - in.Skip() - out.Resources = nil - } else { - if out.Resources == nil { - out.Resources = new(specs_go.LinuxResources) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(in, &*out.Resources) - } - case "cgroupsPath": - out.CgroupsPath = string(in.String()) - case "namespaces": - if in.IsNull() { - in.Skip() - out.Namespaces = nil - } else { - in.Delim('[') - if out.Namespaces == nil { - if !in.IsDelim(']') { - out.Namespaces = make([]specs_go.LinuxNamespace, 0, 2) - } else { - out.Namespaces = []specs_go.LinuxNamespace{} - } - } else { - out.Namespaces = (out.Namespaces)[:0] - } - for !in.IsDelim(']') { - var v113 specs_go.LinuxNamespace - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(in, &v113) - out.Namespaces = append(out.Namespaces, v113) - in.WantComma() - } - in.Delim(']') - } - case "devices": - if in.IsNull() { - in.Skip() - out.Devices = nil - } else { - in.Delim('[') - if out.Devices == nil { - if !in.IsDelim(']') { - out.Devices = make([]specs_go.LinuxDevice, 0, 1) - } else { - out.Devices = []specs_go.LinuxDevice{} - } - } else { - out.Devices = (out.Devices)[:0] - } - for !in.IsDelim(']') { - var v114 specs_go.LinuxDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(in, &v114) - out.Devices = append(out.Devices, v114) - in.WantComma() - } - in.Delim(']') - } - case "seccomp": - if in.IsNull() { - in.Skip() - out.Seccomp = nil - } else { - if out.Seccomp == nil { - out.Seccomp = new(specs_go.LinuxSeccomp) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(in, &*out.Seccomp) - } - case "rootfsPropagation": - out.RootfsPropagation = string(in.String()) - case "maskedPaths": - if in.IsNull() { - in.Skip() - out.MaskedPaths = nil - } else { - in.Delim('[') - if out.MaskedPaths == nil { - if !in.IsDelim(']') { - out.MaskedPaths = make([]string, 0, 4) - } else { - out.MaskedPaths = []string{} - } - } else { - out.MaskedPaths = (out.MaskedPaths)[:0] - } - for !in.IsDelim(']') { - var v115 string - v115 = string(in.String()) - out.MaskedPaths = append(out.MaskedPaths, v115) - in.WantComma() - } - in.Delim(']') - } - case "readonlyPaths": - if in.IsNull() { - in.Skip() - out.ReadonlyPaths = nil - } else { - in.Delim('[') - if out.ReadonlyPaths == nil { - if !in.IsDelim(']') { - out.ReadonlyPaths = make([]string, 0, 4) - } else { - out.ReadonlyPaths = []string{} - } - } else { - out.ReadonlyPaths = (out.ReadonlyPaths)[:0] - } - for !in.IsDelim(']') { - var v116 string - v116 = string(in.String()) - out.ReadonlyPaths = append(out.ReadonlyPaths, v116) - in.WantComma() - } - in.Delim(']') - } - case "mountLabel": - out.MountLabel = string(in.String()) - case "intelRdt": - if in.IsNull() { - in.Skip() - out.IntelRdt = nil - } else { - if out.IntelRdt == nil { - out.IntelRdt = new(specs_go.LinuxIntelRdt) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(in, &*out.IntelRdt) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(out *jwriter.Writer, in specs_go.Linux) { - out.RawByte('{') - first := true - _ = first - if len(in.UIDMappings) != 0 { - const prefix string = ",\"uidMappings\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v117, v118 := range in.UIDMappings { - if v117 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out, v118) - } - out.RawByte(']') - } - } - if len(in.GIDMappings) != 0 { - const prefix string = ",\"gidMappings\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v119, v120 := range in.GIDMappings { - if v119 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out, v120) - } - out.RawByte(']') - } - } - if len(in.Sysctl) != 0 { - const prefix string = ",\"sysctl\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v121First := true - for v121Name, v121Value := range in.Sysctl { - if v121First { - v121First = false - } else { - out.RawByte(',') - } - out.String(string(v121Name)) - out.RawByte(':') - out.String(string(v121Value)) - } - out.RawByte('}') - } - } - if in.Resources != nil { - const prefix string = ",\"resources\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(out, *in.Resources) - } - if in.CgroupsPath != "" { - const prefix string = ",\"cgroupsPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupsPath)) - } - if len(in.Namespaces) != 0 { - const prefix string = ",\"namespaces\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v122, v123 := range in.Namespaces { - if v122 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(out, v123) - } - out.RawByte(']') - } - } - if len(in.Devices) != 0 { - const prefix string = ",\"devices\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v124, v125 := range in.Devices { - if v124 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(out, v125) - } - out.RawByte(']') - } - } - if in.Seccomp != nil { - const prefix string = ",\"seccomp\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(out, *in.Seccomp) - } - if in.RootfsPropagation != "" { - const prefix string = ",\"rootfsPropagation\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.RootfsPropagation)) - } - if len(in.MaskedPaths) != 0 { - const prefix string = ",\"maskedPaths\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v126, v127 := range in.MaskedPaths { - if v126 > 0 { - out.RawByte(',') - } - out.String(string(v127)) - } - out.RawByte(']') - } - } - if len(in.ReadonlyPaths) != 0 { - const prefix string = ",\"readonlyPaths\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v128, v129 := range in.ReadonlyPaths { - if v128 > 0 { - out.RawByte(',') - } - out.String(string(v129)) - } - out.RawByte(']') - } - } - if in.MountLabel != "" { - const prefix string = ",\"mountLabel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.MountLabel)) - } - if in.IntelRdt != nil { - const prefix string = ",\"intelRdt\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(out, *in.IntelRdt) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(in *jlexer.Lexer, out *specs_go.LinuxIntelRdt) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "l3CacheSchema": - out.L3CacheSchema = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(out *jwriter.Writer, in specs_go.LinuxIntelRdt) { - out.RawByte('{') - first := true - _ = first - if in.L3CacheSchema != "" { - const prefix string = ",\"l3CacheSchema\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.L3CacheSchema)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(in *jlexer.Lexer, out *specs_go.LinuxSeccomp) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "defaultAction": - out.DefaultAction = specs_go.LinuxSeccompAction(in.String()) - case "architectures": - if in.IsNull() { - in.Skip() - out.Architectures = nil - } else { - in.Delim('[') - if out.Architectures == nil { - if !in.IsDelim(']') { - out.Architectures = make([]specs_go.Arch, 0, 4) - } else { - out.Architectures = []specs_go.Arch{} - } - } else { - out.Architectures = (out.Architectures)[:0] - } - for !in.IsDelim(']') { - var v130 specs_go.Arch - v130 = specs_go.Arch(in.String()) - out.Architectures = append(out.Architectures, v130) - in.WantComma() - } - in.Delim(']') - } - case "syscalls": - if in.IsNull() { - in.Skip() - out.Syscalls = nil - } else { - in.Delim('[') - if out.Syscalls == nil { - if !in.IsDelim(']') { - out.Syscalls = make([]specs_go.LinuxSyscall, 0, 1) - } else { - out.Syscalls = []specs_go.LinuxSyscall{} - } - } else { - out.Syscalls = (out.Syscalls)[:0] - } - for !in.IsDelim(']') { - var v131 specs_go.LinuxSyscall - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(in, &v131) - out.Syscalls = append(out.Syscalls, v131) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(out *jwriter.Writer, in specs_go.LinuxSeccomp) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"defaultAction\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.DefaultAction)) - } - if len(in.Architectures) != 0 { - const prefix string = ",\"architectures\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v132, v133 := range in.Architectures { - if v132 > 0 { - out.RawByte(',') - } - out.String(string(v133)) - } - out.RawByte(']') - } - } - if len(in.Syscalls) != 0 { - const prefix string = ",\"syscalls\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v134, v135 := range in.Syscalls { - if v134 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(out, v135) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(in *jlexer.Lexer, out *specs_go.LinuxSyscall) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "names": - if in.IsNull() { - in.Skip() - out.Names = nil - } else { - in.Delim('[') - if out.Names == nil { - if !in.IsDelim(']') { - out.Names = make([]string, 0, 4) - } else { - out.Names = []string{} - } - } else { - out.Names = (out.Names)[:0] - } - for !in.IsDelim(']') { - var v136 string - v136 = string(in.String()) - out.Names = append(out.Names, v136) - in.WantComma() - } - in.Delim(']') - } - case "action": - out.Action = specs_go.LinuxSeccompAction(in.String()) - case "args": - if in.IsNull() { - in.Skip() - out.Args = nil - } else { - in.Delim('[') - if out.Args == nil { - if !in.IsDelim(']') { - out.Args = make([]specs_go.LinuxSeccompArg, 0, 1) - } else { - out.Args = []specs_go.LinuxSeccompArg{} - } - } else { - out.Args = (out.Args)[:0] - } - for !in.IsDelim(']') { - var v137 specs_go.LinuxSeccompArg - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(in, &v137) - out.Args = append(out.Args, v137) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(out *jwriter.Writer, in specs_go.LinuxSyscall) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"names\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Names == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v138, v139 := range in.Names { - if v138 > 0 { - out.RawByte(',') - } - out.String(string(v139)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"action\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Action)) - } - if len(in.Args) != 0 { - const prefix string = ",\"args\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v140, v141 := range in.Args { - if v140 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(out, v141) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(in *jlexer.Lexer, out *specs_go.LinuxSeccompArg) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "index": - out.Index = uint(in.Uint()) - case "value": - out.Value = uint64(in.Uint64()) - case "valueTwo": - out.ValueTwo = uint64(in.Uint64()) - case "op": - out.Op = specs_go.LinuxSeccompOperator(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(out *jwriter.Writer, in specs_go.LinuxSeccompArg) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"index\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint(uint(in.Index)) - } - { - const prefix string = ",\"value\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.Value)) - } - if in.ValueTwo != 0 { - const prefix string = ",\"valueTwo\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.ValueTwo)) - } - { - const prefix string = ",\"op\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Op)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(in *jlexer.Lexer, out *specs_go.LinuxDevice) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "type": - out.Type = string(in.String()) - case "major": - out.Major = int64(in.Int64()) - case "minor": - out.Minor = int64(in.Int64()) - case "fileMode": - if in.IsNull() { - in.Skip() - out.FileMode = nil - } else { - if out.FileMode == nil { - out.FileMode = new(os.FileMode) - } - *out.FileMode = os.FileMode(in.Uint32()) - } - case "uid": - if in.IsNull() { - in.Skip() - out.UID = nil - } else { - if out.UID == nil { - out.UID = new(uint32) - } - *out.UID = uint32(in.Uint32()) - } - case "gid": - if in.IsNull() { - in.Skip() - out.GID = nil - } else { - if out.GID == nil { - out.GID = new(uint32) - } - *out.GID = uint32(in.Uint32()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(out *jwriter.Writer, in specs_go.LinuxDevice) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - { - const prefix string = ",\"type\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Type)) - } - { - const prefix string = ",\"major\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Major)) - } - { - const prefix string = ",\"minor\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Minor)) - } - if in.FileMode != nil { - const prefix string = ",\"fileMode\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.FileMode)) - } - if in.UID != nil { - const prefix string = ",\"uid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.UID)) - } - if in.GID != nil { - const prefix string = ",\"gid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.GID)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(in *jlexer.Lexer, out *specs_go.LinuxNamespace) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "type": - out.Type = specs_go.LinuxNamespaceType(in.String()) - case "path": - out.Path = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(out *jwriter.Writer, in specs_go.LinuxNamespace) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"type\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Type)) - } - if in.Path != "" { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(in *jlexer.Lexer, out *specs_go.LinuxResources) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "devices": - if in.IsNull() { - in.Skip() - out.Devices = nil - } else { - in.Delim('[') - if out.Devices == nil { - if !in.IsDelim(']') { - out.Devices = make([]specs_go.LinuxDeviceCgroup, 0, 1) - } else { - out.Devices = []specs_go.LinuxDeviceCgroup{} - } - } else { - out.Devices = (out.Devices)[:0] - } - for !in.IsDelim(']') { - var v142 specs_go.LinuxDeviceCgroup - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(in, &v142) - out.Devices = append(out.Devices, v142) - in.WantComma() - } - in.Delim(']') - } - case "memory": - if in.IsNull() { - in.Skip() - out.Memory = nil - } else { - if out.Memory == nil { - out.Memory = new(specs_go.LinuxMemory) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(in, &*out.Memory) - } - case "cpu": - if in.IsNull() { - in.Skip() - out.CPU = nil - } else { - if out.CPU == nil { - out.CPU = new(specs_go.LinuxCPU) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(in, &*out.CPU) - } - case "pids": - if in.IsNull() { - in.Skip() - out.Pids = nil - } else { - if out.Pids == nil { - out.Pids = new(specs_go.LinuxPids) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(in, &*out.Pids) - } - case "blockIO": - if in.IsNull() { - in.Skip() - out.BlockIO = nil - } else { - if out.BlockIO == nil { - out.BlockIO = new(specs_go.LinuxBlockIO) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(in, &*out.BlockIO) - } - case "hugepageLimits": - if in.IsNull() { - in.Skip() - out.HugepageLimits = nil - } else { - in.Delim('[') - if out.HugepageLimits == nil { - if !in.IsDelim(']') { - out.HugepageLimits = make([]specs_go.LinuxHugepageLimit, 0, 2) - } else { - out.HugepageLimits = []specs_go.LinuxHugepageLimit{} - } - } else { - out.HugepageLimits = (out.HugepageLimits)[:0] - } - for !in.IsDelim(']') { - var v143 specs_go.LinuxHugepageLimit - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(in, &v143) - out.HugepageLimits = append(out.HugepageLimits, v143) - in.WantComma() - } - in.Delim(']') - } - case "network": - if in.IsNull() { - in.Skip() - out.Network = nil - } else { - if out.Network == nil { - out.Network = new(specs_go.LinuxNetwork) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(in, &*out.Network) - } - case "rdma": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.Rdma = make(map[string]specs_go.LinuxRdma) - } else { - out.Rdma = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v144 specs_go.LinuxRdma - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(in, &v144) - (out.Rdma)[key] = v144 - in.WantComma() - } - in.Delim('}') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(out *jwriter.Writer, in specs_go.LinuxResources) { - out.RawByte('{') - first := true - _ = first - if len(in.Devices) != 0 { - const prefix string = ",\"devices\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v145, v146 := range in.Devices { - if v145 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(out, v146) - } - out.RawByte(']') - } - } - if in.Memory != nil { - const prefix string = ",\"memory\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(out, *in.Memory) - } - if in.CPU != nil { - const prefix string = ",\"cpu\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(out, *in.CPU) - } - if in.Pids != nil { - const prefix string = ",\"pids\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(out, *in.Pids) - } - if in.BlockIO != nil { - const prefix string = ",\"blockIO\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(out, *in.BlockIO) - } - if len(in.HugepageLimits) != 0 { - const prefix string = ",\"hugepageLimits\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v147, v148 := range in.HugepageLimits { - if v147 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(out, v148) - } - out.RawByte(']') - } - } - if in.Network != nil { - const prefix string = ",\"network\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(out, *in.Network) - } - if len(in.Rdma) != 0 { - const prefix string = ",\"rdma\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('{') - v149First := true - for v149Name, v149Value := range in.Rdma { - if v149First { - v149First = false - } else { - out.RawByte(',') - } - out.String(string(v149Name)) - out.RawByte(':') - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(out, v149Value) - } - out.RawByte('}') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(in *jlexer.Lexer, out *specs_go.LinuxRdma) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "hcaHandles": - if in.IsNull() { - in.Skip() - out.HcaHandles = nil - } else { - if out.HcaHandles == nil { - out.HcaHandles = new(uint32) - } - *out.HcaHandles = uint32(in.Uint32()) - } - case "hcaObjects": - if in.IsNull() { - in.Skip() - out.HcaObjects = nil - } else { - if out.HcaObjects == nil { - out.HcaObjects = new(uint32) - } - *out.HcaObjects = uint32(in.Uint32()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(out *jwriter.Writer, in specs_go.LinuxRdma) { - out.RawByte('{') - first := true - _ = first - if in.HcaHandles != nil { - const prefix string = ",\"hcaHandles\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.HcaHandles)) - } - if in.HcaObjects != nil { - const prefix string = ",\"hcaObjects\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.HcaObjects)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(in *jlexer.Lexer, out *specs_go.LinuxNetwork) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "classID": - if in.IsNull() { - in.Skip() - out.ClassID = nil - } else { - if out.ClassID == nil { - out.ClassID = new(uint32) - } - *out.ClassID = uint32(in.Uint32()) - } - case "priorities": - if in.IsNull() { - in.Skip() - out.Priorities = nil - } else { - in.Delim('[') - if out.Priorities == nil { - if !in.IsDelim(']') { - out.Priorities = make([]specs_go.LinuxInterfacePriority, 0, 2) - } else { - out.Priorities = []specs_go.LinuxInterfacePriority{} - } - } else { - out.Priorities = (out.Priorities)[:0] - } - for !in.IsDelim(']') { - var v150 specs_go.LinuxInterfacePriority - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(in, &v150) - out.Priorities = append(out.Priorities, v150) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(out *jwriter.Writer, in specs_go.LinuxNetwork) { - out.RawByte('{') - first := true - _ = first - if in.ClassID != nil { - const prefix string = ",\"classID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(*in.ClassID)) - } - if len(in.Priorities) != 0 { - const prefix string = ",\"priorities\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v151, v152 := range in.Priorities { - if v151 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(out, v152) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(in *jlexer.Lexer, out *specs_go.LinuxInterfacePriority) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "name": - out.Name = string(in.String()) - case "priority": - out.Priority = uint32(in.Uint32()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(out *jwriter.Writer, in specs_go.LinuxInterfacePriority) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"name\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Name)) - } - { - const prefix string = ",\"priority\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.Priority)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(in *jlexer.Lexer, out *specs_go.LinuxHugepageLimit) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "pageSize": - out.Pagesize = string(in.String()) - case "limit": - out.Limit = uint64(in.Uint64()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(out *jwriter.Writer, in specs_go.LinuxHugepageLimit) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"pageSize\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Pagesize)) - } - { - const prefix string = ",\"limit\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.Limit)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(in *jlexer.Lexer, out *specs_go.LinuxBlockIO) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "weight": - if in.IsNull() { - in.Skip() - out.Weight = nil - } else { - if out.Weight == nil { - out.Weight = new(uint16) - } - *out.Weight = uint16(in.Uint16()) - } - case "leafWeight": - if in.IsNull() { - in.Skip() - out.LeafWeight = nil - } else { - if out.LeafWeight == nil { - out.LeafWeight = new(uint16) - } - *out.LeafWeight = uint16(in.Uint16()) - } - case "weightDevice": - if in.IsNull() { - in.Skip() - out.WeightDevice = nil - } else { - in.Delim('[') - if out.WeightDevice == nil { - if !in.IsDelim(']') { - out.WeightDevice = make([]specs_go.LinuxWeightDevice, 0, 2) - } else { - out.WeightDevice = []specs_go.LinuxWeightDevice{} - } - } else { - out.WeightDevice = (out.WeightDevice)[:0] - } - for !in.IsDelim(']') { - var v153 specs_go.LinuxWeightDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(in, &v153) - out.WeightDevice = append(out.WeightDevice, v153) - in.WantComma() - } - in.Delim(']') - } - case "throttleReadBpsDevice": - if in.IsNull() { - in.Skip() - out.ThrottleReadBpsDevice = nil - } else { - in.Delim('[') - if out.ThrottleReadBpsDevice == nil { - if !in.IsDelim(']') { - out.ThrottleReadBpsDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) - } else { - out.ThrottleReadBpsDevice = []specs_go.LinuxThrottleDevice{} - } - } else { - out.ThrottleReadBpsDevice = (out.ThrottleReadBpsDevice)[:0] - } - for !in.IsDelim(']') { - var v154 specs_go.LinuxThrottleDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v154) - out.ThrottleReadBpsDevice = append(out.ThrottleReadBpsDevice, v154) - in.WantComma() - } - in.Delim(']') - } - case "throttleWriteBpsDevice": - if in.IsNull() { - in.Skip() - out.ThrottleWriteBpsDevice = nil - } else { - in.Delim('[') - if out.ThrottleWriteBpsDevice == nil { - if !in.IsDelim(']') { - out.ThrottleWriteBpsDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) - } else { - out.ThrottleWriteBpsDevice = []specs_go.LinuxThrottleDevice{} - } - } else { - out.ThrottleWriteBpsDevice = (out.ThrottleWriteBpsDevice)[:0] - } - for !in.IsDelim(']') { - var v155 specs_go.LinuxThrottleDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v155) - out.ThrottleWriteBpsDevice = append(out.ThrottleWriteBpsDevice, v155) - in.WantComma() - } - in.Delim(']') - } - case "throttleReadIOPSDevice": - if in.IsNull() { - in.Skip() - out.ThrottleReadIOPSDevice = nil - } else { - in.Delim('[') - if out.ThrottleReadIOPSDevice == nil { - if !in.IsDelim(']') { - out.ThrottleReadIOPSDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) - } else { - out.ThrottleReadIOPSDevice = []specs_go.LinuxThrottleDevice{} - } - } else { - out.ThrottleReadIOPSDevice = (out.ThrottleReadIOPSDevice)[:0] - } - for !in.IsDelim(']') { - var v156 specs_go.LinuxThrottleDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v156) - out.ThrottleReadIOPSDevice = append(out.ThrottleReadIOPSDevice, v156) - in.WantComma() - } - in.Delim(']') - } - case "throttleWriteIOPSDevice": - if in.IsNull() { - in.Skip() - out.ThrottleWriteIOPSDevice = nil - } else { - in.Delim('[') - if out.ThrottleWriteIOPSDevice == nil { - if !in.IsDelim(']') { - out.ThrottleWriteIOPSDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) - } else { - out.ThrottleWriteIOPSDevice = []specs_go.LinuxThrottleDevice{} - } - } else { - out.ThrottleWriteIOPSDevice = (out.ThrottleWriteIOPSDevice)[:0] - } - for !in.IsDelim(']') { - var v157 specs_go.LinuxThrottleDevice - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v157) - out.ThrottleWriteIOPSDevice = append(out.ThrottleWriteIOPSDevice, v157) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(out *jwriter.Writer, in specs_go.LinuxBlockIO) { - out.RawByte('{') - first := true - _ = first - if in.Weight != nil { - const prefix string = ",\"weight\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.Weight)) - } - if in.LeafWeight != nil { - const prefix string = ",\"leafWeight\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.LeafWeight)) - } - if len(in.WeightDevice) != 0 { - const prefix string = ",\"weightDevice\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v158, v159 := range in.WeightDevice { - if v158 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(out, v159) - } - out.RawByte(']') - } - } - if len(in.ThrottleReadBpsDevice) != 0 { - const prefix string = ",\"throttleReadBpsDevice\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v160, v161 := range in.ThrottleReadBpsDevice { - if v160 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v161) - } - out.RawByte(']') - } - } - if len(in.ThrottleWriteBpsDevice) != 0 { - const prefix string = ",\"throttleWriteBpsDevice\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v162, v163 := range in.ThrottleWriteBpsDevice { - if v162 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v163) - } - out.RawByte(']') - } - } - if len(in.ThrottleReadIOPSDevice) != 0 { - const prefix string = ",\"throttleReadIOPSDevice\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v164, v165 := range in.ThrottleReadIOPSDevice { - if v164 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v165) - } - out.RawByte(']') - } - } - if len(in.ThrottleWriteIOPSDevice) != 0 { - const prefix string = ",\"throttleWriteIOPSDevice\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v166, v167 := range in.ThrottleWriteIOPSDevice { - if v166 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v167) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in *jlexer.Lexer, out *specs_go.LinuxThrottleDevice) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "rate": - out.Rate = uint64(in.Uint64()) - case "major": - out.Major = int64(in.Int64()) - case "minor": - out.Minor = int64(in.Int64()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out *jwriter.Writer, in specs_go.LinuxThrottleDevice) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"rate\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.Rate)) - } - { - const prefix string = ",\"major\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Major)) - } - { - const prefix string = ",\"minor\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Minor)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(in *jlexer.Lexer, out *specs_go.LinuxWeightDevice) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "weight": - if in.IsNull() { - in.Skip() - out.Weight = nil - } else { - if out.Weight == nil { - out.Weight = new(uint16) - } - *out.Weight = uint16(in.Uint16()) - } - case "leafWeight": - if in.IsNull() { - in.Skip() - out.LeafWeight = nil - } else { - if out.LeafWeight == nil { - out.LeafWeight = new(uint16) - } - *out.LeafWeight = uint16(in.Uint16()) - } - case "major": - out.Major = int64(in.Int64()) - case "minor": - out.Minor = int64(in.Int64()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(out *jwriter.Writer, in specs_go.LinuxWeightDevice) { - out.RawByte('{') - first := true - _ = first - if in.Weight != nil { - const prefix string = ",\"weight\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.Weight)) - } - if in.LeafWeight != nil { - const prefix string = ",\"leafWeight\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint16(uint16(*in.LeafWeight)) - } - { - const prefix string = ",\"major\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Major)) - } - { - const prefix string = ",\"minor\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Minor)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(in *jlexer.Lexer, out *specs_go.LinuxPids) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "limit": - out.Limit = int64(in.Int64()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(out *jwriter.Writer, in specs_go.LinuxPids) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"limit\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(in.Limit)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(in *jlexer.Lexer, out *specs_go.LinuxCPU) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "shares": - if in.IsNull() { - in.Skip() - out.Shares = nil - } else { - if out.Shares == nil { - out.Shares = new(uint64) - } - *out.Shares = uint64(in.Uint64()) - } - case "quota": - if in.IsNull() { - in.Skip() - out.Quota = nil - } else { - if out.Quota == nil { - out.Quota = new(int64) - } - *out.Quota = int64(in.Int64()) - } - case "period": - if in.IsNull() { - in.Skip() - out.Period = nil - } else { - if out.Period == nil { - out.Period = new(uint64) - } - *out.Period = uint64(in.Uint64()) - } - case "realtimeRuntime": - if in.IsNull() { - in.Skip() - out.RealtimeRuntime = nil - } else { - if out.RealtimeRuntime == nil { - out.RealtimeRuntime = new(int64) - } - *out.RealtimeRuntime = int64(in.Int64()) - } - case "realtimePeriod": - if in.IsNull() { - in.Skip() - out.RealtimePeriod = nil - } else { - if out.RealtimePeriod == nil { - out.RealtimePeriod = new(uint64) - } - *out.RealtimePeriod = uint64(in.Uint64()) - } - case "cpus": - out.Cpus = string(in.String()) - case "mems": - out.Mems = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(out *jwriter.Writer, in specs_go.LinuxCPU) { - out.RawByte('{') - first := true - _ = first - if in.Shares != nil { - const prefix string = ",\"shares\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Shares)) - } - if in.Quota != nil { - const prefix string = ",\"quota\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Quota)) - } - if in.Period != nil { - const prefix string = ",\"period\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Period)) - } - if in.RealtimeRuntime != nil { - const prefix string = ",\"realtimeRuntime\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.RealtimeRuntime)) - } - if in.RealtimePeriod != nil { - const prefix string = ",\"realtimePeriod\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.RealtimePeriod)) - } - if in.Cpus != "" { - const prefix string = ",\"cpus\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Cpus)) - } - if in.Mems != "" { - const prefix string = ",\"mems\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Mems)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(in *jlexer.Lexer, out *specs_go.LinuxMemory) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "limit": - if in.IsNull() { - in.Skip() - out.Limit = nil - } else { - if out.Limit == nil { - out.Limit = new(int64) - } - *out.Limit = int64(in.Int64()) - } - case "reservation": - if in.IsNull() { - in.Skip() - out.Reservation = nil - } else { - if out.Reservation == nil { - out.Reservation = new(int64) - } - *out.Reservation = int64(in.Int64()) - } - case "swap": - if in.IsNull() { - in.Skip() - out.Swap = nil - } else { - if out.Swap == nil { - out.Swap = new(int64) - } - *out.Swap = int64(in.Int64()) - } - case "kernel": - if in.IsNull() { - in.Skip() - out.Kernel = nil - } else { - if out.Kernel == nil { - out.Kernel = new(int64) - } - *out.Kernel = int64(in.Int64()) - } - case "kernelTCP": - if in.IsNull() { - in.Skip() - out.KernelTCP = nil - } else { - if out.KernelTCP == nil { - out.KernelTCP = new(int64) - } - *out.KernelTCP = int64(in.Int64()) - } - case "swappiness": - if in.IsNull() { - in.Skip() - out.Swappiness = nil - } else { - if out.Swappiness == nil { - out.Swappiness = new(uint64) - } - *out.Swappiness = uint64(in.Uint64()) - } - case "disableOOMKiller": - if in.IsNull() { - in.Skip() - out.DisableOOMKiller = nil - } else { - if out.DisableOOMKiller == nil { - out.DisableOOMKiller = new(bool) - } - *out.DisableOOMKiller = bool(in.Bool()) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(out *jwriter.Writer, in specs_go.LinuxMemory) { - out.RawByte('{') - first := true - _ = first - if in.Limit != nil { - const prefix string = ",\"limit\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Limit)) - } - if in.Reservation != nil { - const prefix string = ",\"reservation\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Reservation)) - } - if in.Swap != nil { - const prefix string = ",\"swap\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Swap)) - } - if in.Kernel != nil { - const prefix string = ",\"kernel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Kernel)) - } - if in.KernelTCP != nil { - const prefix string = ",\"kernelTCP\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.KernelTCP)) - } - if in.Swappiness != nil { - const prefix string = ",\"swappiness\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(*in.Swappiness)) - } - if in.DisableOOMKiller != nil { - const prefix string = ",\"disableOOMKiller\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(*in.DisableOOMKiller)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(in *jlexer.Lexer, out *specs_go.LinuxDeviceCgroup) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "allow": - out.Allow = bool(in.Bool()) - case "type": - out.Type = string(in.String()) - case "major": - if in.IsNull() { - in.Skip() - out.Major = nil - } else { - if out.Major == nil { - out.Major = new(int64) - } - *out.Major = int64(in.Int64()) - } - case "minor": - if in.IsNull() { - in.Skip() - out.Minor = nil - } else { - if out.Minor == nil { - out.Minor = new(int64) - } - *out.Minor = int64(in.Int64()) - } - case "access": - out.Access = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(out *jwriter.Writer, in specs_go.LinuxDeviceCgroup) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"allow\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Allow)) - } - if in.Type != "" { - const prefix string = ",\"type\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Type)) - } - if in.Major != nil { - const prefix string = ",\"major\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Major)) - } - if in.Minor != nil { - const prefix string = ",\"minor\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int64(int64(*in.Minor)) - } - if in.Access != "" { - const prefix string = ",\"access\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Access)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in *jlexer.Lexer, out *specs_go.LinuxIDMapping) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "containerID": - out.ContainerID = uint32(in.Uint32()) - case "hostID": - out.HostID = uint32(in.Uint32()) - case "size": - out.Size = uint32(in.Uint32()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out *jwriter.Writer, in specs_go.LinuxIDMapping) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"containerID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.ContainerID)) - } - { - const prefix string = ",\"hostID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.HostID)) - } - { - const prefix string = ",\"size\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.Size)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(in *jlexer.Lexer, out *specs_go.Hooks) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "prestart": - if in.IsNull() { - in.Skip() - out.Prestart = nil - } else { - in.Delim('[') - if out.Prestart == nil { - if !in.IsDelim(']') { - out.Prestart = make([]specs_go.Hook, 0, 1) - } else { - out.Prestart = []specs_go.Hook{} - } - } else { - out.Prestart = (out.Prestart)[:0] - } - for !in.IsDelim(']') { - var v168 specs_go.Hook - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v168) - out.Prestart = append(out.Prestart, v168) - in.WantComma() - } - in.Delim(']') - } - case "poststart": - if in.IsNull() { - in.Skip() - out.Poststart = nil - } else { - in.Delim('[') - if out.Poststart == nil { - if !in.IsDelim(']') { - out.Poststart = make([]specs_go.Hook, 0, 1) - } else { - out.Poststart = []specs_go.Hook{} - } - } else { - out.Poststart = (out.Poststart)[:0] - } - for !in.IsDelim(']') { - var v169 specs_go.Hook - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v169) - out.Poststart = append(out.Poststart, v169) - in.WantComma() - } - in.Delim(']') - } - case "poststop": - if in.IsNull() { - in.Skip() - out.Poststop = nil - } else { - in.Delim('[') - if out.Poststop == nil { - if !in.IsDelim(']') { - out.Poststop = make([]specs_go.Hook, 0, 1) - } else { - out.Poststop = []specs_go.Hook{} - } - } else { - out.Poststop = (out.Poststop)[:0] - } - for !in.IsDelim(']') { - var v170 specs_go.Hook - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v170) - out.Poststop = append(out.Poststop, v170) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(out *jwriter.Writer, in specs_go.Hooks) { - out.RawByte('{') - first := true - _ = first - if len(in.Prestart) != 0 { - const prefix string = ",\"prestart\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v171, v172 := range in.Prestart { - if v171 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v172) - } - out.RawByte(']') - } - } - if len(in.Poststart) != 0 { - const prefix string = ",\"poststart\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v173, v174 := range in.Poststart { - if v173 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v174) - } - out.RawByte(']') - } - } - if len(in.Poststop) != 0 { - const prefix string = ",\"poststop\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v175, v176 := range in.Poststop { - if v175 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v176) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(in *jlexer.Lexer, out *specs_go.Mount) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "destination": - out.Destination = string(in.String()) - case "type": - out.Type = string(in.String()) - case "source": - out.Source = string(in.String()) - case "options": - if in.IsNull() { - in.Skip() - out.Options = nil - } else { - in.Delim('[') - if out.Options == nil { - if !in.IsDelim(']') { - out.Options = make([]string, 0, 4) - } else { - out.Options = []string{} - } - } else { - out.Options = (out.Options)[:0] - } - for !in.IsDelim(']') { - var v177 string - v177 = string(in.String()) - out.Options = append(out.Options, v177) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(out *jwriter.Writer, in specs_go.Mount) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"destination\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Destination)) - } - if in.Type != "" { - const prefix string = ",\"type\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Type)) - } - if in.Source != "" { - const prefix string = ",\"source\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Source)) - } - if len(in.Options) != 0 { - const prefix string = ",\"options\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v178, v179 := range in.Options { - if v178 > 0 { - out.RawByte(',') - } - out.String(string(v179)) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(in *jlexer.Lexer, out *specs_go.Root) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "path": - out.Path = string(in.String()) - case "readonly": - out.Readonly = bool(in.Bool()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(out *jwriter.Writer, in specs_go.Root) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"path\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Path)) - } - if in.Readonly { - const prefix string = ",\"readonly\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Readonly)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(in *jlexer.Lexer, out *specs_go.Process) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "terminal": - out.Terminal = bool(in.Bool()) - case "consoleSize": - if in.IsNull() { - in.Skip() - out.ConsoleSize = nil - } else { - if out.ConsoleSize == nil { - out.ConsoleSize = new(specs_go.Box) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(in, &*out.ConsoleSize) - } - case "user": - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(in, &out.User) - case "args": - if in.IsNull() { - in.Skip() - out.Args = nil - } else { - in.Delim('[') - if out.Args == nil { - if !in.IsDelim(']') { - out.Args = make([]string, 0, 4) - } else { - out.Args = []string{} - } - } else { - out.Args = (out.Args)[:0] - } - for !in.IsDelim(']') { - var v180 string - v180 = string(in.String()) - out.Args = append(out.Args, v180) - in.WantComma() - } - in.Delim(']') - } - case "env": - if in.IsNull() { - in.Skip() - out.Env = nil - } else { - in.Delim('[') - if out.Env == nil { - if !in.IsDelim(']') { - out.Env = make([]string, 0, 4) - } else { - out.Env = []string{} - } - } else { - out.Env = (out.Env)[:0] - } - for !in.IsDelim(']') { - var v181 string - v181 = string(in.String()) - out.Env = append(out.Env, v181) - in.WantComma() - } - in.Delim(']') - } - case "cwd": - out.Cwd = string(in.String()) - case "capabilities": - if in.IsNull() { - in.Skip() - out.Capabilities = nil - } else { - if out.Capabilities == nil { - out.Capabilities = new(specs_go.LinuxCapabilities) - } - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(in, &*out.Capabilities) - } - case "rlimits": - if in.IsNull() { - in.Skip() - out.Rlimits = nil - } else { - in.Delim('[') - if out.Rlimits == nil { - if !in.IsDelim(']') { - out.Rlimits = make([]specs_go.POSIXRlimit, 0, 2) - } else { - out.Rlimits = []specs_go.POSIXRlimit{} - } - } else { - out.Rlimits = (out.Rlimits)[:0] - } - for !in.IsDelim(']') { - var v182 specs_go.POSIXRlimit - easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(in, &v182) - out.Rlimits = append(out.Rlimits, v182) - in.WantComma() - } - in.Delim(']') - } - case "noNewPrivileges": - out.NoNewPrivileges = bool(in.Bool()) - case "apparmorProfile": - out.ApparmorProfile = string(in.String()) - case "oomScoreAdj": - if in.IsNull() { - in.Skip() - out.OOMScoreAdj = nil - } else { - if out.OOMScoreAdj == nil { - out.OOMScoreAdj = new(int) - } - *out.OOMScoreAdj = int(in.Int()) - } - case "selinuxLabel": - out.SelinuxLabel = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(out *jwriter.Writer, in specs_go.Process) { - out.RawByte('{') - first := true - _ = first - if in.Terminal { - const prefix string = ",\"terminal\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.Terminal)) - } - if in.ConsoleSize != nil { - const prefix string = ",\"consoleSize\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(out, *in.ConsoleSize) - } - { - const prefix string = ",\"user\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(out, in.User) - } - { - const prefix string = ",\"args\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Args == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v183, v184 := range in.Args { - if v183 > 0 { - out.RawByte(',') - } - out.String(string(v184)) - } - out.RawByte(']') - } - } - if len(in.Env) != 0 { - const prefix string = ",\"env\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v185, v186 := range in.Env { - if v185 > 0 { - out.RawByte(',') - } - out.String(string(v186)) - } - out.RawByte(']') - } - } - { - const prefix string = ",\"cwd\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Cwd)) - } - if in.Capabilities != nil { - const prefix string = ",\"capabilities\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(out, *in.Capabilities) - } - if len(in.Rlimits) != 0 { - const prefix string = ",\"rlimits\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v187, v188 := range in.Rlimits { - if v187 > 0 { - out.RawByte(',') - } - easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(out, v188) - } - out.RawByte(']') - } - } - if in.NoNewPrivileges { - const prefix string = ",\"noNewPrivileges\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.NoNewPrivileges)) - } - if in.ApparmorProfile != "" { - const prefix string = ",\"apparmorProfile\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ApparmorProfile)) - } - if in.OOMScoreAdj != nil { - const prefix string = ",\"oomScoreAdj\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Int(int(*in.OOMScoreAdj)) - } - if in.SelinuxLabel != "" { - const prefix string = ",\"selinuxLabel\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.SelinuxLabel)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(in *jlexer.Lexer, out *specs_go.POSIXRlimit) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "type": - out.Type = string(in.String()) - case "hard": - out.Hard = uint64(in.Uint64()) - case "soft": - out.Soft = uint64(in.Uint64()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(out *jwriter.Writer, in specs_go.POSIXRlimit) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"type\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Type)) - } - { - const prefix string = ",\"hard\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.Hard)) - } - { - const prefix string = ",\"soft\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint64(uint64(in.Soft)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(in *jlexer.Lexer, out *specs_go.LinuxCapabilities) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "bounding": - if in.IsNull() { - in.Skip() - out.Bounding = nil - } else { - in.Delim('[') - if out.Bounding == nil { - if !in.IsDelim(']') { - out.Bounding = make([]string, 0, 4) - } else { - out.Bounding = []string{} - } - } else { - out.Bounding = (out.Bounding)[:0] - } - for !in.IsDelim(']') { - var v189 string - v189 = string(in.String()) - out.Bounding = append(out.Bounding, v189) - in.WantComma() - } - in.Delim(']') - } - case "effective": - if in.IsNull() { - in.Skip() - out.Effective = nil - } else { - in.Delim('[') - if out.Effective == nil { - if !in.IsDelim(']') { - out.Effective = make([]string, 0, 4) - } else { - out.Effective = []string{} - } - } else { - out.Effective = (out.Effective)[:0] - } - for !in.IsDelim(']') { - var v190 string - v190 = string(in.String()) - out.Effective = append(out.Effective, v190) - in.WantComma() - } - in.Delim(']') - } - case "inheritable": - if in.IsNull() { - in.Skip() - out.Inheritable = nil - } else { - in.Delim('[') - if out.Inheritable == nil { - if !in.IsDelim(']') { - out.Inheritable = make([]string, 0, 4) - } else { - out.Inheritable = []string{} - } - } else { - out.Inheritable = (out.Inheritable)[:0] - } - for !in.IsDelim(']') { - var v191 string - v191 = string(in.String()) - out.Inheritable = append(out.Inheritable, v191) - in.WantComma() - } - in.Delim(']') - } - case "permitted": - if in.IsNull() { - in.Skip() - out.Permitted = nil - } else { - in.Delim('[') - if out.Permitted == nil { - if !in.IsDelim(']') { - out.Permitted = make([]string, 0, 4) - } else { - out.Permitted = []string{} - } - } else { - out.Permitted = (out.Permitted)[:0] - } - for !in.IsDelim(']') { - var v192 string - v192 = string(in.String()) - out.Permitted = append(out.Permitted, v192) - in.WantComma() - } - in.Delim(']') - } - case "ambient": - if in.IsNull() { - in.Skip() - out.Ambient = nil - } else { - in.Delim('[') - if out.Ambient == nil { - if !in.IsDelim(']') { - out.Ambient = make([]string, 0, 4) - } else { - out.Ambient = []string{} - } - } else { - out.Ambient = (out.Ambient)[:0] - } - for !in.IsDelim(']') { - var v193 string - v193 = string(in.String()) - out.Ambient = append(out.Ambient, v193) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(out *jwriter.Writer, in specs_go.LinuxCapabilities) { - out.RawByte('{') - first := true - _ = first - if len(in.Bounding) != 0 { - const prefix string = ",\"bounding\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v194, v195 := range in.Bounding { - if v194 > 0 { - out.RawByte(',') - } - out.String(string(v195)) - } - out.RawByte(']') - } - } - if len(in.Effective) != 0 { - const prefix string = ",\"effective\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v196, v197 := range in.Effective { - if v196 > 0 { - out.RawByte(',') - } - out.String(string(v197)) - } - out.RawByte(']') - } - } - if len(in.Inheritable) != 0 { - const prefix string = ",\"inheritable\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v198, v199 := range in.Inheritable { - if v198 > 0 { - out.RawByte(',') - } - out.String(string(v199)) - } - out.RawByte(']') - } - } - if len(in.Permitted) != 0 { - const prefix string = ",\"permitted\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v200, v201 := range in.Permitted { - if v200 > 0 { - out.RawByte(',') - } - out.String(string(v201)) - } - out.RawByte(']') - } - } - if len(in.Ambient) != 0 { - const prefix string = ",\"ambient\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v202, v203 := range in.Ambient { - if v202 > 0 { - out.RawByte(',') - } - out.String(string(v203)) - } - out.RawByte(']') - } - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(in *jlexer.Lexer, out *specs_go.User) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "uid": - out.UID = uint32(in.Uint32()) - case "gid": - out.GID = uint32(in.Uint32()) - case "additionalGids": - if in.IsNull() { - in.Skip() - out.AdditionalGids = nil - } else { - in.Delim('[') - if out.AdditionalGids == nil { - if !in.IsDelim(']') { - out.AdditionalGids = make([]uint32, 0, 16) - } else { - out.AdditionalGids = []uint32{} - } - } else { - out.AdditionalGids = (out.AdditionalGids)[:0] - } - for !in.IsDelim(']') { - var v204 uint32 - v204 = uint32(in.Uint32()) - out.AdditionalGids = append(out.AdditionalGids, v204) - in.WantComma() - } - in.Delim(']') - } - case "username": - out.Username = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(out *jwriter.Writer, in specs_go.User) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"uid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.UID)) - } - { - const prefix string = ",\"gid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint32(uint32(in.GID)) - } - if len(in.AdditionalGids) != 0 { - const prefix string = ",\"additionalGids\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - { - out.RawByte('[') - for v205, v206 := range in.AdditionalGids { - if v205 > 0 { - out.RawByte(',') - } - out.Uint32(uint32(v206)) - } - out.RawByte(']') - } - } - if in.Username != "" { - const prefix string = ",\"username\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Username)) - } - out.RawByte('}') -} -func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(in *jlexer.Lexer, out *specs_go.Box) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "height": - out.Height = uint(in.Uint()) - case "width": - out.Width = uint(in.Uint()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(out *jwriter.Writer, in specs_go.Box) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"height\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint(uint(in.Height)) - } - { - const prefix string = ",\"width\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Uint(uint(in.Width)) - } - out.RawByte('}') -} +type EasyJSON_exporter_containerState *containerState diff --git a/libpod/networking_linux.go b/libpod/networking_linux.go index 17e79aa62..acb4e2a90 100644 --- a/libpod/networking_linux.go +++ b/libpod/networking_linux.go @@ -5,6 +5,7 @@ package libpod import ( "crypto/rand" "fmt" + "net" "os" "os/exec" "path/filepath" @@ -25,8 +26,8 @@ import ( ) // Get an OCICNI network config -func getPodNetwork(id, name, nsPath string, networks []string, ports []ocicni.PortMapping) ocicni.PodNetwork { - return ocicni.PodNetwork{ +func (r *Runtime) getPodNetwork(id, name, nsPath string, networks []string, ports []ocicni.PortMapping, staticIP net.IP) ocicni.PodNetwork { + network := ocicni.PodNetwork{ Name: name, Namespace: name, // TODO is there something else we should put here? We don't know about Kube namespaces ID: id, @@ -34,11 +35,21 @@ func getPodNetwork(id, name, nsPath string, networks []string, ports []ocicni.Po PortMappings: ports, Networks: networks, } + + if staticIP != nil { + defaultNetwork := r.netPlugin.GetDefaultNetworkName() + + network.Networks = []string{defaultNetwork} + network.NetworkConfig = make(map[string]ocicni.NetworkConfig) + network.NetworkConfig[defaultNetwork] = ocicni.NetworkConfig{IP: staticIP.String()} + } + + return network } // Create and configure a new network namespace for a container func (r *Runtime) configureNetNS(ctr *Container, ctrNS ns.NetNS) (err error) { - podNetwork := getPodNetwork(ctr.ID(), ctr.Name(), ctrNS.Path(), ctr.config.Networks, ctr.config.PortMappings) + podNetwork := r.getPodNetwork(ctr.ID(), ctr.Name(), ctrNS.Path(), ctr.config.Networks, ctr.config.PortMappings, ctr.config.StaticIP) results, err := r.netPlugin.SetUpPod(podNetwork) if err != nil { @@ -216,7 +227,7 @@ func (r *Runtime) teardownNetNS(ctr *Container) error { logrus.Debugf("Tearing down network namespace at %s for container %s", ctr.state.NetNS.Path(), ctr.ID()) - podNetwork := getPodNetwork(ctr.ID(), ctr.Name(), ctr.state.NetNS.Path(), ctr.config.Networks, ctr.config.PortMappings) + podNetwork := r.getPodNetwork(ctr.ID(), ctr.Name(), ctr.state.NetNS.Path(), ctr.config.Networks, ctr.config.PortMappings, ctr.config.StaticIP) // The network may have already been torn down, so don't fail here, just log if err := r.netPlugin.TearDownPod(podNetwork); err != nil { diff --git a/libpod/options.go b/libpod/options.go index 977f3f4c2..6a8529b8b 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -828,6 +828,31 @@ func WithNetNS(portMappings []ocicni.PortMapping, postConfigureNetNS bool, netwo } } +// WithStaticIP indicates that the container should request a static IP from +// the CNI plugins. +// It cannot be set unless WithNetNS has already been passed. +// Further, it cannot be set if additional CNI networks to join have been +// specified. +func WithStaticIP(ip net.IP) CtrCreateOption { + return func(ctr *Container) error { + if ctr.valid { + return ErrCtrFinalized + } + + if !ctr.config.CreateNetNS { + return errors.Wrapf(ErrInvalidArg, "cannot set a static IP if the container is not creating a network namespace") + } + + if len(ctr.config.Networks) != 0 { + return errors.Wrapf(ErrInvalidArg, "cannot set a static IP if joining additional CNI networks") + } + + ctr.config.StaticIP = ip + + return nil + } +} + // WithLogPath sets the path to the log file. func WithLogPath(path string) CtrCreateOption { return func(ctr *Container) error { diff --git a/libpod/pod_easyjson.go b/libpod/pod_easyjson.go deleted file mode 100644 index 2891e51f2..000000000 --- a/libpod/pod_easyjson.go +++ /dev/null @@ -1,747 +0,0 @@ -// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT. - -package libpod - -import ( - json "encoding/json" - easyjson "github.com/mailru/easyjson" - jlexer "github.com/mailru/easyjson/jlexer" - jwriter "github.com/mailru/easyjson/jwriter" -) - -// suppress unused package warning -var ( - _ *json.RawMessage - _ *jlexer.Lexer - _ *jwriter.Writer - _ easyjson.Marshaler -) - -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod(in *jlexer.Lexer, out *podState) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "cgroupPath": - out.CgroupPath = string(in.String()) - case "InfraContainerID": - out.InfraContainerID = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod(out *jwriter.Writer, in podState) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"cgroupPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupPath)) - } - { - const prefix string = ",\"InfraContainerID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.InfraContainerID)) - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v podState) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjsonBe091417EncodeGithubComContainersLibpodLibpod(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v podState) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *podState) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjsonBe091417DecodeGithubComContainersLibpodLibpod(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *podState) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonBe091417DecodeGithubComContainersLibpodLibpod(l, v) -} -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(in *jlexer.Lexer, out *PodInspectState) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "cgroupPath": - out.CgroupPath = string(in.String()) - case "infraContainerID": - out.InfraContainerID = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(out *jwriter.Writer, in PodInspectState) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"cgroupPath\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupPath)) - } - { - const prefix string = ",\"infraContainerID\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.InfraContainerID)) - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v PodInspectState) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v PodInspectState) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *PodInspectState) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *PodInspectState) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(l, v) -} -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(in *jlexer.Lexer, out *PodInspect) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "Config": - if in.IsNull() { - in.Skip() - out.Config = nil - } else { - if out.Config == nil { - out.Config = new(PodConfig) - } - if data := in.Raw(); in.Ok() { - in.AddError((*out.Config).UnmarshalJSON(data)) - } - } - case "State": - if in.IsNull() { - in.Skip() - out.State = nil - } else { - if out.State == nil { - out.State = new(PodInspectState) - } - if data := in.Raw(); in.Ok() { - in.AddError((*out.State).UnmarshalJSON(data)) - } - } - case "Containers": - if in.IsNull() { - in.Skip() - out.Containers = nil - } else { - in.Delim('[') - if out.Containers == nil { - if !in.IsDelim(']') { - out.Containers = make([]PodContainerInfo, 0, 2) - } else { - out.Containers = []PodContainerInfo{} - } - } else { - out.Containers = (out.Containers)[:0] - } - for !in.IsDelim(']') { - var v1 PodContainerInfo - if data := in.Raw(); in.Ok() { - in.AddError((v1).UnmarshalJSON(data)) - } - out.Containers = append(out.Containers, v1) - in.WantComma() - } - in.Delim(']') - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(out *jwriter.Writer, in PodInspect) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"Config\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Config == nil { - out.RawString("null") - } else { - out.Raw((*in.Config).MarshalJSON()) - } - } - { - const prefix string = ",\"State\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.State == nil { - out.RawString("null") - } else { - out.Raw((*in.State).MarshalJSON()) - } - } - { - const prefix string = ",\"Containers\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Containers == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") - } else { - out.RawByte('[') - for v2, v3 := range in.Containers { - if v2 > 0 { - out.RawByte(',') - } - out.Raw((v3).MarshalJSON()) - } - out.RawByte(']') - } - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v PodInspect) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v PodInspect) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *PodInspect) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *PodInspect) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(l, v) -} -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(in *jlexer.Lexer, out *PodContainerInfo) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "id": - out.ID = string(in.String()) - case "state": - out.State = string(in.String()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(out *jwriter.Writer, in PodContainerInfo) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ID)) - } - { - const prefix string = ",\"state\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.State)) - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v PodContainerInfo) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v PodContainerInfo) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *PodContainerInfo) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *PodContainerInfo) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(l, v) -} -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(in *jlexer.Lexer, out *PodConfig) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "id": - out.ID = string(in.String()) - case "name": - out.Name = string(in.String()) - case "namespace": - out.Namespace = string(in.String()) - case "labels": - if in.IsNull() { - in.Skip() - } else { - in.Delim('{') - if !in.IsDelim('}') { - out.Labels = make(map[string]string) - } else { - out.Labels = nil - } - for !in.IsDelim('}') { - key := string(in.String()) - in.WantColon() - var v4 string - v4 = string(in.String()) - (out.Labels)[key] = v4 - in.WantComma() - } - in.Delim('}') - } - case "cgroupParent": - out.CgroupParent = string(in.String()) - case "sharesCgroup": - out.UsePodCgroup = bool(in.Bool()) - case "sharesPid": - out.UsePodPID = bool(in.Bool()) - case "sharesIpc": - out.UsePodIPC = bool(in.Bool()) - case "sharesNet": - out.UsePodNet = bool(in.Bool()) - case "sharesMnt": - out.UsePodMount = bool(in.Bool()) - case "sharesUser": - out.UsePodUser = bool(in.Bool()) - case "sharesUts": - out.UsePodUTS = bool(in.Bool()) - case "infraConfig": - if in.IsNull() { - in.Skip() - out.InfraContainer = nil - } else { - if out.InfraContainer == nil { - out.InfraContainer = new(InfraContainerConfig) - } - easyjsonBe091417DecodeGithubComContainersLibpodLibpod5(in, &*out.InfraContainer) - } - case "created": - if data := in.Raw(); in.Ok() { - in.AddError((out.CreatedTime).UnmarshalJSON(data)) - } - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(out *jwriter.Writer, in PodConfig) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"id\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.ID)) - } - { - const prefix string = ",\"name\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Name)) - } - if in.Namespace != "" { - const prefix string = ",\"namespace\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.Namespace)) - } - { - const prefix string = ",\"labels\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.Labels == nil && (out.Flags&jwriter.NilMapAsEmpty) == 0 { - out.RawString(`null`) - } else { - out.RawByte('{') - v5First := true - for v5Name, v5Value := range in.Labels { - if v5First { - v5First = false - } else { - out.RawByte(',') - } - out.String(string(v5Name)) - out.RawByte(':') - out.String(string(v5Value)) - } - out.RawByte('}') - } - } - { - const prefix string = ",\"cgroupParent\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.String(string(in.CgroupParent)) - } - if in.UsePodCgroup { - const prefix string = ",\"sharesCgroup\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodCgroup)) - } - if in.UsePodPID { - const prefix string = ",\"sharesPid\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodPID)) - } - if in.UsePodIPC { - const prefix string = ",\"sharesIpc\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodIPC)) - } - if in.UsePodNet { - const prefix string = ",\"sharesNet\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodNet)) - } - if in.UsePodMount { - const prefix string = ",\"sharesMnt\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodMount)) - } - if in.UsePodUser { - const prefix string = ",\"sharesUser\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodUser)) - } - if in.UsePodUTS { - const prefix string = ",\"sharesUts\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.UsePodUTS)) - } - { - const prefix string = ",\"infraConfig\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - if in.InfraContainer == nil { - out.RawString("null") - } else { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod5(out, *in.InfraContainer) - } - } - { - const prefix string = ",\"created\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Raw((in.CreatedTime).MarshalJSON()) - } - out.RawByte('}') -} - -// MarshalJSON supports json.Marshaler interface -func (v PodConfig) MarshalJSON() ([]byte, error) { - w := jwriter.Writer{} - easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(&w, v) - return w.Buffer.BuildBytes(), w.Error -} - -// MarshalEasyJSON supports easyjson.Marshaler interface -func (v PodConfig) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(w, v) -} - -// UnmarshalJSON supports json.Unmarshaler interface -func (v *PodConfig) UnmarshalJSON(data []byte) error { - r := jlexer.Lexer{Data: data} - easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(&r, v) - return r.Error() -} - -// UnmarshalEasyJSON supports easyjson.Unmarshaler interface -func (v *PodConfig) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(l, v) -} -func easyjsonBe091417DecodeGithubComContainersLibpodLibpod5(in *jlexer.Lexer, out *InfraContainerConfig) { - isTopLevel := in.IsStart() - if in.IsNull() { - if isTopLevel { - in.Consumed() - } - in.Skip() - return - } - in.Delim('{') - for !in.IsDelim('}') { - key := in.UnsafeString() - in.WantColon() - if in.IsNull() { - in.Skip() - in.WantComma() - continue - } - switch key { - case "makeInfraContainer": - out.HasInfraContainer = bool(in.Bool()) - default: - in.SkipRecursive() - } - in.WantComma() - } - in.Delim('}') - if isTopLevel { - in.Consumed() - } -} -func easyjsonBe091417EncodeGithubComContainersLibpodLibpod5(out *jwriter.Writer, in InfraContainerConfig) { - out.RawByte('{') - first := true - _ = first - { - const prefix string = ",\"makeInfraContainer\":" - if first { - first = false - out.RawString(prefix[1:]) - } else { - out.RawString(prefix) - } - out.Bool(bool(in.HasInfraContainer)) - } - out.RawByte('}') -} -- cgit v1.2.3-54-g00ecf From 4882a6dd9dc8ee5475ce8a00c52a522e661dd387 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Wed, 10 Oct 2018 14:04:17 -0400 Subject: Add --ip flag and plumbing into libpod Add the --ip flag back with bash completions. Manpages still missing. Add plumbing to pass appropriate the appropriate option down to libpod to connect the flag to backend logic added in the previous commits. Signed-off-by: Matthew Heon --- cmd/podman/common.go | 4 + completions/bash/podman | 1 + libpod/container_easyjson.go | 8132 +++++++++++++++++++++++++++++++++++++++++- libpod/pod_easyjson.go | 749 ++++ pkg/spec/createconfig.go | 13 +- 5 files changed, 8876 insertions(+), 23 deletions(-) create mode 100644 libpod/pod_easyjson.go (limited to 'libpod') diff --git a/cmd/podman/common.go b/cmd/podman/common.go index 9ab0e57e5..c1e15e2fb 100644 --- a/cmd/podman/common.go +++ b/cmd/podman/common.go @@ -248,6 +248,10 @@ var createFlags = []cli.Flag{ Name: "interactive, i", Usage: "Keep STDIN open even if not attached", }, + cli.StringFlag{ + Name: "ip", + Usage: "Specify a static IPv4 address for the container", + }, cli.StringFlag{ Name: "ipc", Usage: "IPC namespace to use", diff --git a/completions/bash/podman b/completions/bash/podman index 604a25f5d..5cfed348f 100644 --- a/completions/bash/podman +++ b/completions/bash/podman @@ -1512,6 +1512,7 @@ _podman_container_run() { --hostname -h --image-volume --init-path + --ip --ipc --kernel-memory --label-file diff --git a/libpod/container_easyjson.go b/libpod/container_easyjson.go index 61fa33a30..f78366065 100644 --- a/libpod/container_easyjson.go +++ b/libpod/container_easyjson.go @@ -1,32 +1,8124 @@ // +build seccomp ostree selinux varlink exclude_graphdriver_devicemapper -// TEMPORARY AUTOGENERATED FILE: easyjson stub code to make the package -// compilable during generation. +// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT. -package libpod +package libpod import ( - "github.com/mailru/easyjson/jwriter" - "github.com/mailru/easyjson/jlexer" + json "encoding/json" + types "github.com/containernetworking/cni/pkg/types" + current "github.com/containernetworking/cni/pkg/types/current" + storage "github.com/containers/storage" + idtools "github.com/containers/storage/pkg/idtools" + ocicni "github.com/cri-o/ocicni/pkg/ocicni" + easyjson "github.com/mailru/easyjson" + jlexer "github.com/mailru/easyjson/jlexer" + jwriter "github.com/mailru/easyjson/jwriter" + specs_go "github.com/opencontainers/runtime-spec/specs-go" + net "net" + os "os" ) -func ( ContainerConfig ) MarshalJSON() ([]byte, error) { return nil, nil } -func (* ContainerConfig ) UnmarshalJSON([]byte) error { return nil } -func ( ContainerConfig ) MarshalEasyJSON(w *jwriter.Writer) {} -func (* ContainerConfig ) UnmarshalEasyJSON(l *jlexer.Lexer) {} +// suppress unused package warning +var ( + _ *json.RawMessage + _ *jlexer.Lexer + _ *jwriter.Writer + _ easyjson.Marshaler +) + +func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(in *jlexer.Lexer, out *containerState) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "state": + out.State = ContainerStatus(in.Int()) + case "configPath": + out.ConfigPath = string(in.String()) + case "runDir": + out.RunDir = string(in.String()) + case "destinationRunDir": + out.DestinationRunDir = string(in.String()) + case "mounted": + out.Mounted = bool(in.Bool()) + case "mountPoint": + out.Mountpoint = string(in.String()) + case "realMountPoint": + out.RealMountpoint = string(in.String()) + case "startedTime": + if data := in.Raw(); in.Ok() { + in.AddError((out.StartedTime).UnmarshalJSON(data)) + } + case "finishedTime": + if data := in.Raw(); in.Ok() { + in.AddError((out.FinishedTime).UnmarshalJSON(data)) + } + case "exitCode": + out.ExitCode = int32(in.Int32()) + case "exited": + out.Exited = bool(in.Bool()) + case "oomKilled": + out.OOMKilled = bool(in.Bool()) + case "pid": + out.PID = int(in.Int()) + case "execSessions": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.ExecSessions = make(map[string]*ExecSession) + } else { + out.ExecSessions = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v1 *ExecSession + if in.IsNull() { + in.Skip() + v1 = nil + } else { + if v1 == nil { + v1 = new(ExecSession) + } + if data := in.Raw(); in.Ok() { + in.AddError((*v1).UnmarshalJSON(data)) + } + } + (out.ExecSessions)[key] = v1 + in.WantComma() + } + in.Delim('}') + } + case "networkResults": + if in.IsNull() { + in.Skip() + out.NetworkStatus = nil + } else { + in.Delim('[') + if out.NetworkStatus == nil { + if !in.IsDelim(']') { + out.NetworkStatus = make([]*current.Result, 0, 8) + } else { + out.NetworkStatus = []*current.Result{} + } + } else { + out.NetworkStatus = (out.NetworkStatus)[:0] + } + for !in.IsDelim(']') { + var v2 *current.Result + if in.IsNull() { + in.Skip() + v2 = nil + } else { + if v2 == nil { + v2 = new(current.Result) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(in, &*v2) + } + out.NetworkStatus = append(out.NetworkStatus, v2) + in.WantComma() + } + in.Delim(']') + } + case "bindMounts": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.BindMounts = make(map[string]string) + } else { + out.BindMounts = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v3 string + v3 = string(in.String()) + (out.BindMounts)[key] = v3 + in.WantComma() + } + in.Delim('}') + } + case "userNSRoot": + out.UserNSRoot = string(in.String()) + case "extensionStageHooks": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.ExtensionStageHooks = make(map[string][]specs_go.Hook) + } else { + out.ExtensionStageHooks = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v4 []specs_go.Hook + if in.IsNull() { + in.Skip() + v4 = nil + } else { + in.Delim('[') + if v4 == nil { + if !in.IsDelim(']') { + v4 = make([]specs_go.Hook, 0, 1) + } else { + v4 = []specs_go.Hook{} + } + } else { + v4 = (v4)[:0] + } + for !in.IsDelim(']') { + var v5 specs_go.Hook + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v5) + v4 = append(v4, v5) + in.WantComma() + } + in.Delim(']') + } + (out.ExtensionStageHooks)[key] = v4 + in.WantComma() + } + in.Delim('}') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(out *jwriter.Writer, in containerState) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"state\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.State)) + } + if in.ConfigPath != "" { + const prefix string = ",\"configPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ConfigPath)) + } + if in.RunDir != "" { + const prefix string = ",\"runDir\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.RunDir)) + } + if in.DestinationRunDir != "" { + const prefix string = ",\"destinationRunDir\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.DestinationRunDir)) + } + if in.Mounted { + const prefix string = ",\"mounted\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Mounted)) + } + if in.Mountpoint != "" { + const prefix string = ",\"mountPoint\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Mountpoint)) + } + if in.RealMountpoint != "" { + const prefix string = ",\"realMountPoint\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.RealMountpoint)) + } + if true { + const prefix string = ",\"startedTime\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Raw((in.StartedTime).MarshalJSON()) + } + if true { + const prefix string = ",\"finishedTime\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Raw((in.FinishedTime).MarshalJSON()) + } + if in.ExitCode != 0 { + const prefix string = ",\"exitCode\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int32(int32(in.ExitCode)) + } + if in.Exited { + const prefix string = ",\"exited\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Exited)) + } + if in.OOMKilled { + const prefix string = ",\"oomKilled\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.OOMKilled)) + } + if in.PID != 0 { + const prefix string = ",\"pid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.PID)) + } + if len(in.ExecSessions) != 0 { + const prefix string = ",\"execSessions\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v6First := true + for v6Name, v6Value := range in.ExecSessions { + if v6First { + v6First = false + } else { + out.RawByte(',') + } + out.String(string(v6Name)) + out.RawByte(':') + if v6Value == nil { + out.RawString("null") + } else { + out.Raw((*v6Value).MarshalJSON()) + } + } + out.RawByte('}') + } + } + if len(in.NetworkStatus) != 0 { + const prefix string = ",\"networkResults\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v7, v8 := range in.NetworkStatus { + if v7 > 0 { + out.RawByte(',') + } + if v8 == nil { + out.RawString("null") + } else { + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(out, *v8) + } + } + out.RawByte(']') + } + } + if len(in.BindMounts) != 0 { + const prefix string = ",\"bindMounts\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v9First := true + for v9Name, v9Value := range in.BindMounts { + if v9First { + v9First = false + } else { + out.RawByte(',') + } + out.String(string(v9Name)) + out.RawByte(':') + out.String(string(v9Value)) + } + out.RawByte('}') + } + } + if in.UserNSRoot != "" { + const prefix string = ",\"userNSRoot\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.UserNSRoot)) + } + if len(in.ExtensionStageHooks) != 0 { + const prefix string = ",\"extensionStageHooks\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v10First := true + for v10Name, v10Value := range in.ExtensionStageHooks { + if v10First { + v10First = false + } else { + out.RawByte(',') + } + out.String(string(v10Name)) + out.RawByte(':') + if v10Value == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v11, v12 := range v10Value { + if v11 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v12) + } + out.RawByte(']') + } + } + out.RawByte('}') + } + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v containerState) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v containerState) MarshalEasyJSON(w *jwriter.Writer) { + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *containerState) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *containerState) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod(l, v) +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in *jlexer.Lexer, out *specs_go.Hook) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "args": + if in.IsNull() { + in.Skip() + out.Args = nil + } else { + in.Delim('[') + if out.Args == nil { + if !in.IsDelim(']') { + out.Args = make([]string, 0, 4) + } else { + out.Args = []string{} + } + } else { + out.Args = (out.Args)[:0] + } + for !in.IsDelim(']') { + var v13 string + v13 = string(in.String()) + out.Args = append(out.Args, v13) + in.WantComma() + } + in.Delim(']') + } + case "env": + if in.IsNull() { + in.Skip() + out.Env = nil + } else { + in.Delim('[') + if out.Env == nil { + if !in.IsDelim(']') { + out.Env = make([]string, 0, 4) + } else { + out.Env = []string{} + } + } else { + out.Env = (out.Env)[:0] + } + for !in.IsDelim(']') { + var v14 string + v14 = string(in.String()) + out.Env = append(out.Env, v14) + in.WantComma() + } + in.Delim(']') + } + case "timeout": + if in.IsNull() { + in.Skip() + out.Timeout = nil + } else { + if out.Timeout == nil { + out.Timeout = new(int) + } + *out.Timeout = int(in.Int()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out *jwriter.Writer, in specs_go.Hook) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + if len(in.Args) != 0 { + const prefix string = ",\"args\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v15, v16 := range in.Args { + if v15 > 0 { + out.RawByte(',') + } + out.String(string(v16)) + } + out.RawByte(']') + } + } + if len(in.Env) != 0 { + const prefix string = ",\"env\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v17, v18 := range in.Env { + if v17 > 0 { + out.RawByte(',') + } + out.String(string(v18)) + } + out.RawByte(']') + } + } + if in.Timeout != nil { + const prefix string = ",\"timeout\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(*in.Timeout)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(in *jlexer.Lexer, out *current.Result) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "cniVersion": + out.CNIVersion = string(in.String()) + case "interfaces": + if in.IsNull() { + in.Skip() + out.Interfaces = nil + } else { + in.Delim('[') + if out.Interfaces == nil { + if !in.IsDelim(']') { + out.Interfaces = make([]*current.Interface, 0, 8) + } else { + out.Interfaces = []*current.Interface{} + } + } else { + out.Interfaces = (out.Interfaces)[:0] + } + for !in.IsDelim(']') { + var v19 *current.Interface + if in.IsNull() { + in.Skip() + v19 = nil + } else { + if v19 == nil { + v19 = new(current.Interface) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(in, &*v19) + } + out.Interfaces = append(out.Interfaces, v19) + in.WantComma() + } + in.Delim(']') + } + case "ips": + if in.IsNull() { + in.Skip() + out.IPs = nil + } else { + in.Delim('[') + if out.IPs == nil { + if !in.IsDelim(']') { + out.IPs = make([]*current.IPConfig, 0, 8) + } else { + out.IPs = []*current.IPConfig{} + } + } else { + out.IPs = (out.IPs)[:0] + } + for !in.IsDelim(']') { + var v20 *current.IPConfig + if in.IsNull() { + in.Skip() + v20 = nil + } else { + if v20 == nil { + v20 = new(current.IPConfig) + } + if data := in.Raw(); in.Ok() { + in.AddError((*v20).UnmarshalJSON(data)) + } + } + out.IPs = append(out.IPs, v20) + in.WantComma() + } + in.Delim(']') + } + case "routes": + if in.IsNull() { + in.Skip() + out.Routes = nil + } else { + in.Delim('[') + if out.Routes == nil { + if !in.IsDelim(']') { + out.Routes = make([]*types.Route, 0, 8) + } else { + out.Routes = []*types.Route{} + } + } else { + out.Routes = (out.Routes)[:0] + } + for !in.IsDelim(']') { + var v21 *types.Route + if in.IsNull() { + in.Skip() + v21 = nil + } else { + if v21 == nil { + v21 = new(types.Route) + } + if data := in.Raw(); in.Ok() { + in.AddError((*v21).UnmarshalJSON(data)) + } + } + out.Routes = append(out.Routes, v21) + in.WantComma() + } + in.Delim(']') + } + case "dns": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(in, &out.DNS) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent(out *jwriter.Writer, in current.Result) { + out.RawByte('{') + first := true + _ = first + if in.CNIVersion != "" { + const prefix string = ",\"cniVersion\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CNIVersion)) + } + if len(in.Interfaces) != 0 { + const prefix string = ",\"interfaces\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v22, v23 := range in.Interfaces { + if v22 > 0 { + out.RawByte(',') + } + if v23 == nil { + out.RawString("null") + } else { + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(out, *v23) + } + } + out.RawByte(']') + } + } + if len(in.IPs) != 0 { + const prefix string = ",\"ips\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v24, v25 := range in.IPs { + if v24 > 0 { + out.RawByte(',') + } + if v25 == nil { + out.RawString("null") + } else { + out.Raw((*v25).MarshalJSON()) + } + } + out.RawByte(']') + } + } + if len(in.Routes) != 0 { + const prefix string = ",\"routes\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v26, v27 := range in.Routes { + if v26 > 0 { + out.RawByte(',') + } + if v27 == nil { + out.RawString("null") + } else { + out.Raw((*v27).MarshalJSON()) + } + } + out.RawByte(']') + } + } + if true { + const prefix string = ",\"dns\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(out, in.DNS) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(in *jlexer.Lexer, out *types.DNS) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "nameservers": + if in.IsNull() { + in.Skip() + out.Nameservers = nil + } else { + in.Delim('[') + if out.Nameservers == nil { + if !in.IsDelim(']') { + out.Nameservers = make([]string, 0, 4) + } else { + out.Nameservers = []string{} + } + } else { + out.Nameservers = (out.Nameservers)[:0] + } + for !in.IsDelim(']') { + var v28 string + v28 = string(in.String()) + out.Nameservers = append(out.Nameservers, v28) + in.WantComma() + } + in.Delim(']') + } + case "domain": + out.Domain = string(in.String()) + case "search": + if in.IsNull() { + in.Skip() + out.Search = nil + } else { + in.Delim('[') + if out.Search == nil { + if !in.IsDelim(']') { + out.Search = make([]string, 0, 4) + } else { + out.Search = []string{} + } + } else { + out.Search = (out.Search)[:0] + } + for !in.IsDelim(']') { + var v29 string + v29 = string(in.String()) + out.Search = append(out.Search, v29) + in.WantComma() + } + in.Delim(']') + } + case "options": + if in.IsNull() { + in.Skip() + out.Options = nil + } else { + in.Delim('[') + if out.Options == nil { + if !in.IsDelim(']') { + out.Options = make([]string, 0, 4) + } else { + out.Options = []string{} + } + } else { + out.Options = (out.Options)[:0] + } + for !in.IsDelim(']') { + var v30 string + v30 = string(in.String()) + out.Options = append(out.Options, v30) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypes(out *jwriter.Writer, in types.DNS) { + out.RawByte('{') + first := true + _ = first + if len(in.Nameservers) != 0 { + const prefix string = ",\"nameservers\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v31, v32 := range in.Nameservers { + if v31 > 0 { + out.RawByte(',') + } + out.String(string(v32)) + } + out.RawByte(']') + } + } + if in.Domain != "" { + const prefix string = ",\"domain\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Domain)) + } + if len(in.Search) != 0 { + const prefix string = ",\"search\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v33, v34 := range in.Search { + if v33 > 0 { + out.RawByte(',') + } + out.String(string(v34)) + } + out.RawByte(']') + } + } + if len(in.Options) != 0 { + const prefix string = ",\"options\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v35, v36 := range in.Options { + if v35 > 0 { + out.RawByte(',') + } + out.String(string(v36)) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(in *jlexer.Lexer, out *current.Interface) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "name": + out.Name = string(in.String()) + case "mac": + out.Mac = string(in.String()) + case "sandbox": + out.Sandbox = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainernetworkingCniPkgTypesCurrent1(out *jwriter.Writer, in current.Interface) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"name\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Name)) + } + if in.Mac != "" { + const prefix string = ",\"mac\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Mac)) + } + if in.Sandbox != "" { + const prefix string = ",\"sandbox\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Sandbox)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(in *jlexer.Lexer, out *ExecSession) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "id": + out.ID = string(in.String()) + case "command": + if in.IsNull() { + in.Skip() + out.Command = nil + } else { + in.Delim('[') + if out.Command == nil { + if !in.IsDelim(']') { + out.Command = make([]string, 0, 4) + } else { + out.Command = []string{} + } + } else { + out.Command = (out.Command)[:0] + } + for !in.IsDelim(']') { + var v37 string + v37 = string(in.String()) + out.Command = append(out.Command, v37) + in.WantComma() + } + in.Delim(']') + } + case "pid": + out.PID = int(in.Int()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(out *jwriter.Writer, in ExecSession) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ID)) + } + { + const prefix string = ",\"command\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Command == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v38, v39 := range in.Command { + if v38 > 0 { + out.RawByte(',') + } + out.String(string(v39)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"pid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.PID)) + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v ExecSession) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v ExecSession) MarshalEasyJSON(w *jwriter.Writer) { + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod1(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *ExecSession) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(&r, v) + return r.Error() +} -type EasyJSON_exporter_ContainerConfig *ContainerConfig +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *ExecSession) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod1(l, v) +} +func easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(in *jlexer.Lexer, out *ContainerConfig) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "spec": + if in.IsNull() { + in.Skip() + out.Spec = nil + } else { + if out.Spec == nil { + out.Spec = new(specs_go.Spec) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(in, &*out.Spec) + } + case "id": + out.ID = string(in.String()) + case "name": + out.Name = string(in.String()) + case "pod": + out.Pod = string(in.String()) + case "namespace": + out.Namespace = string(in.String()) + case "idMappingsOptions": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStorage(in, &out.IDMappings) + case "rootfsImageID": + out.RootfsImageID = string(in.String()) + case "rootfsImageName": + out.RootfsImageName = string(in.String()) + case "rootfs": + out.Rootfs = string(in.String()) + case "imageVolumes": + out.ImageVolumes = bool(in.Bool()) + case "ShmDir": + out.ShmDir = string(in.String()) + case "shmSize": + out.ShmSize = int64(in.Int64()) + case "staticDir": + out.StaticDir = string(in.String()) + case "mounts": + if in.IsNull() { + in.Skip() + out.Mounts = nil + } else { + in.Delim('[') + if out.Mounts == nil { + if !in.IsDelim(']') { + out.Mounts = make([]string, 0, 4) + } else { + out.Mounts = []string{} + } + } else { + out.Mounts = (out.Mounts)[:0] + } + for !in.IsDelim(']') { + var v40 string + v40 = string(in.String()) + out.Mounts = append(out.Mounts, v40) + in.WantComma() + } + in.Delim(']') + } + case "privileged": + out.Privileged = bool(in.Bool()) + case "ProcessLabel": + out.ProcessLabel = string(in.String()) + case "MountLabel": + out.MountLabel = string(in.String()) + case "user": + out.User = string(in.String()) + case "groups": + if in.IsNull() { + in.Skip() + out.Groups = nil + } else { + in.Delim('[') + if out.Groups == nil { + if !in.IsDelim(']') { + out.Groups = make([]string, 0, 4) + } else { + out.Groups = []string{} + } + } else { + out.Groups = (out.Groups)[:0] + } + for !in.IsDelim(']') { + var v41 string + v41 = string(in.String()) + out.Groups = append(out.Groups, v41) + in.WantComma() + } + in.Delim(']') + } + case "ipcNsCtr": + out.IPCNsCtr = string(in.String()) + case "mountNsCtr": + out.MountNsCtr = string(in.String()) + case "netNsCtr": + out.NetNsCtr = string(in.String()) + case "pidNsCtr": + out.PIDNsCtr = string(in.String()) + case "userNsCtr": + out.UserNsCtr = string(in.String()) + case "utsNsCtr": + out.UTSNsCtr = string(in.String()) + case "cgroupNsCtr": + out.CgroupNsCtr = string(in.String()) + case "Dependencies": + if in.IsNull() { + in.Skip() + out.Dependencies = nil + } else { + in.Delim('[') + if out.Dependencies == nil { + if !in.IsDelim(']') { + out.Dependencies = make([]string, 0, 4) + } else { + out.Dependencies = []string{} + } + } else { + out.Dependencies = (out.Dependencies)[:0] + } + for !in.IsDelim(']') { + var v42 string + v42 = string(in.String()) + out.Dependencies = append(out.Dependencies, v42) + in.WantComma() + } + in.Delim(']') + } + case "createNetNS": + out.CreateNetNS = bool(in.Bool()) + case "staticIP": + if data := in.UnsafeBytes(); in.Ok() { + in.AddError((out.StaticIP).UnmarshalText(data)) + } + case "portMappings": + if in.IsNull() { + in.Skip() + out.PortMappings = nil + } else { + in.Delim('[') + if out.PortMappings == nil { + if !in.IsDelim(']') { + out.PortMappings = make([]ocicni.PortMapping, 0, 1) + } else { + out.PortMappings = []ocicni.PortMapping{} + } + } else { + out.PortMappings = (out.PortMappings)[:0] + } + for !in.IsDelim(']') { + var v43 ocicni.PortMapping + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(in, &v43) + out.PortMappings = append(out.PortMappings, v43) + in.WantComma() + } + in.Delim(']') + } + case "dnsServer": + if in.IsNull() { + in.Skip() + out.DNSServer = nil + } else { + in.Delim('[') + if out.DNSServer == nil { + if !in.IsDelim(']') { + out.DNSServer = make([]net.IP, 0, 2) + } else { + out.DNSServer = []net.IP{} + } + } else { + out.DNSServer = (out.DNSServer)[:0] + } + for !in.IsDelim(']') { + var v44 net.IP + if data := in.UnsafeBytes(); in.Ok() { + in.AddError((v44).UnmarshalText(data)) + } + out.DNSServer = append(out.DNSServer, v44) + in.WantComma() + } + in.Delim(']') + } + case "dnsSearch": + if in.IsNull() { + in.Skip() + out.DNSSearch = nil + } else { + in.Delim('[') + if out.DNSSearch == nil { + if !in.IsDelim(']') { + out.DNSSearch = make([]string, 0, 4) + } else { + out.DNSSearch = []string{} + } + } else { + out.DNSSearch = (out.DNSSearch)[:0] + } + for !in.IsDelim(']') { + var v45 string + v45 = string(in.String()) + out.DNSSearch = append(out.DNSSearch, v45) + in.WantComma() + } + in.Delim(']') + } + case "dnsOption": + if in.IsNull() { + in.Skip() + out.DNSOption = nil + } else { + in.Delim('[') + if out.DNSOption == nil { + if !in.IsDelim(']') { + out.DNSOption = make([]string, 0, 4) + } else { + out.DNSOption = []string{} + } + } else { + out.DNSOption = (out.DNSOption)[:0] + } + for !in.IsDelim(']') { + var v46 string + v46 = string(in.String()) + out.DNSOption = append(out.DNSOption, v46) + in.WantComma() + } + in.Delim(']') + } + case "hostsAdd": + if in.IsNull() { + in.Skip() + out.HostAdd = nil + } else { + in.Delim('[') + if out.HostAdd == nil { + if !in.IsDelim(']') { + out.HostAdd = make([]string, 0, 4) + } else { + out.HostAdd = []string{} + } + } else { + out.HostAdd = (out.HostAdd)[:0] + } + for !in.IsDelim(']') { + var v47 string + v47 = string(in.String()) + out.HostAdd = append(out.HostAdd, v47) + in.WantComma() + } + in.Delim(']') + } + case "networks": + if in.IsNull() { + in.Skip() + out.Networks = nil + } else { + in.Delim('[') + if out.Networks == nil { + if !in.IsDelim(']') { + out.Networks = make([]string, 0, 4) + } else { + out.Networks = []string{} + } + } else { + out.Networks = (out.Networks)[:0] + } + for !in.IsDelim(']') { + var v48 string + v48 = string(in.String()) + out.Networks = append(out.Networks, v48) + in.WantComma() + } + in.Delim(']') + } + case "userVolumes": + if in.IsNull() { + in.Skip() + out.UserVolumes = nil + } else { + in.Delim('[') + if out.UserVolumes == nil { + if !in.IsDelim(']') { + out.UserVolumes = make([]string, 0, 4) + } else { + out.UserVolumes = []string{} + } + } else { + out.UserVolumes = (out.UserVolumes)[:0] + } + for !in.IsDelim(']') { + var v49 string + v49 = string(in.String()) + out.UserVolumes = append(out.UserVolumes, v49) + in.WantComma() + } + in.Delim(']') + } + case "entrypoint": + if in.IsNull() { + in.Skip() + out.Entrypoint = nil + } else { + in.Delim('[') + if out.Entrypoint == nil { + if !in.IsDelim(']') { + out.Entrypoint = make([]string, 0, 4) + } else { + out.Entrypoint = []string{} + } + } else { + out.Entrypoint = (out.Entrypoint)[:0] + } + for !in.IsDelim(']') { + var v50 string + v50 = string(in.String()) + out.Entrypoint = append(out.Entrypoint, v50) + in.WantComma() + } + in.Delim(']') + } + case "command": + if in.IsNull() { + in.Skip() + out.Command = nil + } else { + in.Delim('[') + if out.Command == nil { + if !in.IsDelim(']') { + out.Command = make([]string, 0, 4) + } else { + out.Command = []string{} + } + } else { + out.Command = (out.Command)[:0] + } + for !in.IsDelim(']') { + var v51 string + v51 = string(in.String()) + out.Command = append(out.Command, v51) + in.WantComma() + } + in.Delim(']') + } + case "stdin": + out.Stdin = bool(in.Bool()) + case "labels": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.Labels = make(map[string]string) + } else { + out.Labels = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v52 string + v52 = string(in.String()) + (out.Labels)[key] = v52 + in.WantComma() + } + in.Delim('}') + } + case "stopSignal": + out.StopSignal = uint(in.Uint()) + case "stopTimeout": + out.StopTimeout = uint(in.Uint()) + case "createdTime": + if data := in.Raw(); in.Ok() { + in.AddError((out.CreatedTime).UnmarshalJSON(data)) + } + case "cgroupParent": + out.CgroupParent = string(in.String()) + case "logPath": + out.LogPath = string(in.String()) + case "conmonPidFile": + out.ConmonPidFile = string(in.String()) + case "postConfigureNetNS": + out.PostConfigureNetNS = bool(in.Bool()) + case "exitCommand": + if in.IsNull() { + in.Skip() + out.ExitCommand = nil + } else { + in.Delim('[') + if out.ExitCommand == nil { + if !in.IsDelim(']') { + out.ExitCommand = make([]string, 0, 4) + } else { + out.ExitCommand = []string{} + } + } else { + out.ExitCommand = (out.ExitCommand)[:0] + } + for !in.IsDelim(']') { + var v53 string + v53 = string(in.String()) + out.ExitCommand = append(out.ExitCommand, v53) + in.WantComma() + } + in.Delim(']') + } + case "LocalVolumes": + if in.IsNull() { + in.Skip() + out.LocalVolumes = nil + } else { + in.Delim('[') + if out.LocalVolumes == nil { + if !in.IsDelim(']') { + out.LocalVolumes = make([]string, 0, 4) + } else { + out.LocalVolumes = []string{} + } + } else { + out.LocalVolumes = (out.LocalVolumes)[:0] + } + for !in.IsDelim(']') { + var v54 string + v54 = string(in.String()) + out.LocalVolumes = append(out.LocalVolumes, v54) + in.WantComma() + } + in.Delim(']') + } + case "pause": + out.IsInfra = bool(in.Bool()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(out *jwriter.Writer, in ContainerConfig) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"spec\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Spec == nil { + out.RawString("null") + } else { + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(out, *in.Spec) + } + } + { + const prefix string = ",\"id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ID)) + } + { + const prefix string = ",\"name\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Name)) + } + if in.Pod != "" { + const prefix string = ",\"pod\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Pod)) + } + if in.Namespace != "" { + const prefix string = ",\"namespace\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Namespace)) + } + if true { + const prefix string = ",\"idMappingsOptions\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStorage(out, in.IDMappings) + } + if in.RootfsImageID != "" { + const prefix string = ",\"rootfsImageID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.RootfsImageID)) + } + if in.RootfsImageName != "" { + const prefix string = ",\"rootfsImageName\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.RootfsImageName)) + } + if in.Rootfs != "" { + const prefix string = ",\"rootfs\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Rootfs)) + } + { + const prefix string = ",\"imageVolumes\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.ImageVolumes)) + } + if in.ShmDir != "" { + const prefix string = ",\"ShmDir\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ShmDir)) + } + { + const prefix string = ",\"shmSize\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.ShmSize)) + } + { + const prefix string = ",\"staticDir\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.StaticDir)) + } + if len(in.Mounts) != 0 { + const prefix string = ",\"mounts\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v55, v56 := range in.Mounts { + if v55 > 0 { + out.RawByte(',') + } + out.String(string(v56)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"privileged\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Privileged)) + } + if in.ProcessLabel != "" { + const prefix string = ",\"ProcessLabel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ProcessLabel)) + } + if in.MountLabel != "" { + const prefix string = ",\"MountLabel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.MountLabel)) + } + if in.User != "" { + const prefix string = ",\"user\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.User)) + } + if len(in.Groups) != 0 { + const prefix string = ",\"groups\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v57, v58 := range in.Groups { + if v57 > 0 { + out.RawByte(',') + } + out.String(string(v58)) + } + out.RawByte(']') + } + } + if in.IPCNsCtr != "" { + const prefix string = ",\"ipcNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.IPCNsCtr)) + } + if in.MountNsCtr != "" { + const prefix string = ",\"mountNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.MountNsCtr)) + } + if in.NetNsCtr != "" { + const prefix string = ",\"netNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.NetNsCtr)) + } + if in.PIDNsCtr != "" { + const prefix string = ",\"pidNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.PIDNsCtr)) + } + if in.UserNsCtr != "" { + const prefix string = ",\"userNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.UserNsCtr)) + } + if in.UTSNsCtr != "" { + const prefix string = ",\"utsNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.UTSNsCtr)) + } + if in.CgroupNsCtr != "" { + const prefix string = ",\"cgroupNsCtr\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupNsCtr)) + } + { + const prefix string = ",\"Dependencies\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Dependencies == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v59, v60 := range in.Dependencies { + if v59 > 0 { + out.RawByte(',') + } + out.String(string(v60)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"createNetNS\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.CreateNetNS)) + } + { + const prefix string = ",\"staticIP\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.RawText((in.StaticIP).MarshalText()) + } + if len(in.PortMappings) != 0 { + const prefix string = ",\"portMappings\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v61, v62 := range in.PortMappings { + if v61 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(out, v62) + } + out.RawByte(']') + } + } + if len(in.DNSServer) != 0 { + const prefix string = ",\"dnsServer\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v63, v64 := range in.DNSServer { + if v63 > 0 { + out.RawByte(',') + } + out.RawText((v64).MarshalText()) + } + out.RawByte(']') + } + } + if len(in.DNSSearch) != 0 { + const prefix string = ",\"dnsSearch\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v65, v66 := range in.DNSSearch { + if v65 > 0 { + out.RawByte(',') + } + out.String(string(v66)) + } + out.RawByte(']') + } + } + if len(in.DNSOption) != 0 { + const prefix string = ",\"dnsOption\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v67, v68 := range in.DNSOption { + if v67 > 0 { + out.RawByte(',') + } + out.String(string(v68)) + } + out.RawByte(']') + } + } + if len(in.HostAdd) != 0 { + const prefix string = ",\"hostsAdd\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v69, v70 := range in.HostAdd { + if v69 > 0 { + out.RawByte(',') + } + out.String(string(v70)) + } + out.RawByte(']') + } + } + if len(in.Networks) != 0 { + const prefix string = ",\"networks\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v71, v72 := range in.Networks { + if v71 > 0 { + out.RawByte(',') + } + out.String(string(v72)) + } + out.RawByte(']') + } + } + if len(in.UserVolumes) != 0 { + const prefix string = ",\"userVolumes\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v73, v74 := range in.UserVolumes { + if v73 > 0 { + out.RawByte(',') + } + out.String(string(v74)) + } + out.RawByte(']') + } + } + if len(in.Entrypoint) != 0 { + const prefix string = ",\"entrypoint\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v75, v76 := range in.Entrypoint { + if v75 > 0 { + out.RawByte(',') + } + out.String(string(v76)) + } + out.RawByte(']') + } + } + if len(in.Command) != 0 { + const prefix string = ",\"command\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v77, v78 := range in.Command { + if v77 > 0 { + out.RawByte(',') + } + out.String(string(v78)) + } + out.RawByte(']') + } + } + if in.Stdin { + const prefix string = ",\"stdin\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Stdin)) + } + if len(in.Labels) != 0 { + const prefix string = ",\"labels\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v79First := true + for v79Name, v79Value := range in.Labels { + if v79First { + v79First = false + } else { + out.RawByte(',') + } + out.String(string(v79Name)) + out.RawByte(':') + out.String(string(v79Value)) + } + out.RawByte('}') + } + } + if in.StopSignal != 0 { + const prefix string = ",\"stopSignal\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint(uint(in.StopSignal)) + } + if in.StopTimeout != 0 { + const prefix string = ",\"stopTimeout\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint(uint(in.StopTimeout)) + } + { + const prefix string = ",\"createdTime\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Raw((in.CreatedTime).MarshalJSON()) + } + { + const prefix string = ",\"cgroupParent\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupParent)) + } + { + const prefix string = ",\"logPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.LogPath)) + } + if in.ConmonPidFile != "" { + const prefix string = ",\"conmonPidFile\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ConmonPidFile)) + } + { + const prefix string = ",\"postConfigureNetNS\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.PostConfigureNetNS)) + } + if len(in.ExitCommand) != 0 { + const prefix string = ",\"exitCommand\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v80, v81 := range in.ExitCommand { + if v80 > 0 { + out.RawByte(',') + } + out.String(string(v81)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"LocalVolumes\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.LocalVolumes == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v82, v83 := range in.LocalVolumes { + if v82 > 0 { + out.RawByte(',') + } + out.String(string(v83)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"pause\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.IsInfra)) + } + out.RawByte('}') +} -func ( ExecSession ) MarshalJSON() ([]byte, error) { return nil, nil } -func (* ExecSession ) UnmarshalJSON([]byte) error { return nil } -func ( ExecSession ) MarshalEasyJSON(w *jwriter.Writer) {} -func (* ExecSession ) UnmarshalEasyJSON(l *jlexer.Lexer) {} +// MarshalJSON supports json.Marshaler interface +func (v ContainerConfig) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(&w, v) + return w.Buffer.BuildBytes(), w.Error +} -type EasyJSON_exporter_ExecSession *ExecSession +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v ContainerConfig) MarshalEasyJSON(w *jwriter.Writer) { + easyjson1dbef17bEncodeGithubComContainersLibpodLibpod2(w, v) +} -func ( containerState ) MarshalJSON() ([]byte, error) { return nil, nil } -func (* containerState ) UnmarshalJSON([]byte) error { return nil } -func ( containerState ) MarshalEasyJSON(w *jwriter.Writer) {} -func (* containerState ) UnmarshalEasyJSON(l *jlexer.Lexer) {} +// UnmarshalJSON supports json.Unmarshaler interface +func (v *ContainerConfig) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(&r, v) + return r.Error() +} -type EasyJSON_exporter_containerState *containerState +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *ContainerConfig) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjson1dbef17bDecodeGithubComContainersLibpodLibpod2(l, v) +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(in *jlexer.Lexer, out *ocicni.PortMapping) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "hostPort": + out.HostPort = int32(in.Int32()) + case "containerPort": + out.ContainerPort = int32(in.Int32()) + case "protocol": + out.Protocol = string(in.String()) + case "hostIP": + out.HostIP = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComCriOOcicniPkgOcicni(out *jwriter.Writer, in ocicni.PortMapping) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"hostPort\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int32(int32(in.HostPort)) + } + { + const prefix string = ",\"containerPort\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int32(int32(in.ContainerPort)) + } + { + const prefix string = ",\"protocol\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Protocol)) + } + { + const prefix string = ",\"hostIP\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.HostIP)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStorage(in *jlexer.Lexer, out *storage.IDMappingOptions) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "HostUIDMapping": + out.HostUIDMapping = bool(in.Bool()) + case "HostGIDMapping": + out.HostGIDMapping = bool(in.Bool()) + case "UIDMap": + if in.IsNull() { + in.Skip() + out.UIDMap = nil + } else { + in.Delim('[') + if out.UIDMap == nil { + if !in.IsDelim(']') { + out.UIDMap = make([]idtools.IDMap, 0, 2) + } else { + out.UIDMap = []idtools.IDMap{} + } + } else { + out.UIDMap = (out.UIDMap)[:0] + } + for !in.IsDelim(']') { + var v84 idtools.IDMap + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in, &v84) + out.UIDMap = append(out.UIDMap, v84) + in.WantComma() + } + in.Delim(']') + } + case "GIDMap": + if in.IsNull() { + in.Skip() + out.GIDMap = nil + } else { + in.Delim('[') + if out.GIDMap == nil { + if !in.IsDelim(']') { + out.GIDMap = make([]idtools.IDMap, 0, 2) + } else { + out.GIDMap = []idtools.IDMap{} + } + } else { + out.GIDMap = (out.GIDMap)[:0] + } + for !in.IsDelim(']') { + var v85 idtools.IDMap + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in, &v85) + out.GIDMap = append(out.GIDMap, v85) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStorage(out *jwriter.Writer, in storage.IDMappingOptions) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"HostUIDMapping\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.HostUIDMapping)) + } + { + const prefix string = ",\"HostGIDMapping\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.HostGIDMapping)) + } + { + const prefix string = ",\"UIDMap\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.UIDMap == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v86, v87 := range in.UIDMap { + if v86 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out, v87) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"GIDMap\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.GIDMap == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v88, v89 := range in.GIDMap { + if v88 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out, v89) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(in *jlexer.Lexer, out *idtools.IDMap) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "container_id": + out.ContainerID = int(in.Int()) + case "host_id": + out.HostID = int(in.Int()) + case "size": + out.Size = int(in.Int()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComContainersStoragePkgIdtools(out *jwriter.Writer, in idtools.IDMap) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"container_id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.ContainerID)) + } + { + const prefix string = ",\"host_id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.HostID)) + } + { + const prefix string = ",\"size\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.Size)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(in *jlexer.Lexer, out *specs_go.Spec) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "ociVersion": + out.Version = string(in.String()) + case "process": + if in.IsNull() { + in.Skip() + out.Process = nil + } else { + if out.Process == nil { + out.Process = new(specs_go.Process) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(in, &*out.Process) + } + case "root": + if in.IsNull() { + in.Skip() + out.Root = nil + } else { + if out.Root == nil { + out.Root = new(specs_go.Root) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(in, &*out.Root) + } + case "hostname": + out.Hostname = string(in.String()) + case "mounts": + if in.IsNull() { + in.Skip() + out.Mounts = nil + } else { + in.Delim('[') + if out.Mounts == nil { + if !in.IsDelim(']') { + out.Mounts = make([]specs_go.Mount, 0, 1) + } else { + out.Mounts = []specs_go.Mount{} + } + } else { + out.Mounts = (out.Mounts)[:0] + } + for !in.IsDelim(']') { + var v90 specs_go.Mount + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(in, &v90) + out.Mounts = append(out.Mounts, v90) + in.WantComma() + } + in.Delim(']') + } + case "hooks": + if in.IsNull() { + in.Skip() + out.Hooks = nil + } else { + if out.Hooks == nil { + out.Hooks = new(specs_go.Hooks) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(in, &*out.Hooks) + } + case "annotations": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.Annotations = make(map[string]string) + } else { + out.Annotations = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v91 string + v91 = string(in.String()) + (out.Annotations)[key] = v91 + in.WantComma() + } + in.Delim('}') + } + case "linux": + if in.IsNull() { + in.Skip() + out.Linux = nil + } else { + if out.Linux == nil { + out.Linux = new(specs_go.Linux) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(in, &*out.Linux) + } + case "solaris": + if in.IsNull() { + in.Skip() + out.Solaris = nil + } else { + if out.Solaris == nil { + out.Solaris = new(specs_go.Solaris) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(in, &*out.Solaris) + } + case "windows": + if in.IsNull() { + in.Skip() + out.Windows = nil + } else { + if out.Windows == nil { + out.Windows = new(specs_go.Windows) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(in, &*out.Windows) + } + case "vm": + if in.IsNull() { + in.Skip() + out.VM = nil + } else { + if out.VM == nil { + out.VM = new(specs_go.VM) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(in, &*out.VM) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo1(out *jwriter.Writer, in specs_go.Spec) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"ociVersion\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Version)) + } + if in.Process != nil { + const prefix string = ",\"process\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(out, *in.Process) + } + if in.Root != nil { + const prefix string = ",\"root\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(out, *in.Root) + } + if in.Hostname != "" { + const prefix string = ",\"hostname\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Hostname)) + } + if len(in.Mounts) != 0 { + const prefix string = ",\"mounts\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v92, v93 := range in.Mounts { + if v92 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(out, v93) + } + out.RawByte(']') + } + } + if in.Hooks != nil { + const prefix string = ",\"hooks\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(out, *in.Hooks) + } + if len(in.Annotations) != 0 { + const prefix string = ",\"annotations\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v94First := true + for v94Name, v94Value := range in.Annotations { + if v94First { + v94First = false + } else { + out.RawByte(',') + } + out.String(string(v94Name)) + out.RawByte(':') + out.String(string(v94Value)) + } + out.RawByte('}') + } + } + if in.Linux != nil { + const prefix string = ",\"linux\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(out, *in.Linux) + } + if in.Solaris != nil { + const prefix string = ",\"solaris\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(out, *in.Solaris) + } + if in.Windows != nil { + const prefix string = ",\"windows\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(out, *in.Windows) + } + if in.VM != nil { + const prefix string = ",\"vm\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(out, *in.VM) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(in *jlexer.Lexer, out *specs_go.VM) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "hypervisor": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(in, &out.Hypervisor) + case "kernel": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(in, &out.Kernel) + case "image": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(in, &out.Image) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo9(out *jwriter.Writer, in specs_go.VM) { + out.RawByte('{') + first := true + _ = first + if true { + const prefix string = ",\"hypervisor\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(out, in.Hypervisor) + } + { + const prefix string = ",\"kernel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(out, in.Kernel) + } + if true { + const prefix string = ",\"image\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(out, in.Image) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(in *jlexer.Lexer, out *specs_go.VMImage) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "format": + out.Format = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo12(out *jwriter.Writer, in specs_go.VMImage) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + { + const prefix string = ",\"format\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Format)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(in *jlexer.Lexer, out *specs_go.VMKernel) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "parameters": + out.Parameters = string(in.String()) + case "initrd": + out.InitRD = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo11(out *jwriter.Writer, in specs_go.VMKernel) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + if in.Parameters != "" { + const prefix string = ",\"parameters\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Parameters)) + } + if in.InitRD != "" { + const prefix string = ",\"initrd\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.InitRD)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(in *jlexer.Lexer, out *specs_go.VMHypervisor) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "parameters": + out.Parameters = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo10(out *jwriter.Writer, in specs_go.VMHypervisor) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + if in.Parameters != "" { + const prefix string = ",\"parameters\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Parameters)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(in *jlexer.Lexer, out *specs_go.Windows) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "layerFolders": + if in.IsNull() { + in.Skip() + out.LayerFolders = nil + } else { + in.Delim('[') + if out.LayerFolders == nil { + if !in.IsDelim(']') { + out.LayerFolders = make([]string, 0, 4) + } else { + out.LayerFolders = []string{} + } + } else { + out.LayerFolders = (out.LayerFolders)[:0] + } + for !in.IsDelim(']') { + var v95 string + v95 = string(in.String()) + out.LayerFolders = append(out.LayerFolders, v95) + in.WantComma() + } + in.Delim(']') + } + case "devices": + if in.IsNull() { + in.Skip() + out.Devices = nil + } else { + in.Delim('[') + if out.Devices == nil { + if !in.IsDelim(']') { + out.Devices = make([]specs_go.WindowsDevice, 0, 2) + } else { + out.Devices = []specs_go.WindowsDevice{} + } + } else { + out.Devices = (out.Devices)[:0] + } + for !in.IsDelim(']') { + var v96 specs_go.WindowsDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(in, &v96) + out.Devices = append(out.Devices, v96) + in.WantComma() + } + in.Delim(']') + } + case "resources": + if in.IsNull() { + in.Skip() + out.Resources = nil + } else { + if out.Resources == nil { + out.Resources = new(specs_go.WindowsResources) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(in, &*out.Resources) + } + case "credentialSpec": + if m, ok := out.CredentialSpec.(easyjson.Unmarshaler); ok { + m.UnmarshalEasyJSON(in) + } else if m, ok := out.CredentialSpec.(json.Unmarshaler); ok { + _ = m.UnmarshalJSON(in.Raw()) + } else { + out.CredentialSpec = in.Interface() + } + case "servicing": + out.Servicing = bool(in.Bool()) + case "ignoreFlushesDuringBoot": + out.IgnoreFlushesDuringBoot = bool(in.Bool()) + case "hyperv": + if in.IsNull() { + in.Skip() + out.HyperV = nil + } else { + if out.HyperV == nil { + out.HyperV = new(specs_go.WindowsHyperV) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(in, &*out.HyperV) + } + case "network": + if in.IsNull() { + in.Skip() + out.Network = nil + } else { + if out.Network == nil { + out.Network = new(specs_go.WindowsNetwork) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(in, &*out.Network) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo8(out *jwriter.Writer, in specs_go.Windows) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"layerFolders\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.LayerFolders == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v97, v98 := range in.LayerFolders { + if v97 > 0 { + out.RawByte(',') + } + out.String(string(v98)) + } + out.RawByte(']') + } + } + if len(in.Devices) != 0 { + const prefix string = ",\"devices\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v99, v100 := range in.Devices { + if v99 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(out, v100) + } + out.RawByte(']') + } + } + if in.Resources != nil { + const prefix string = ",\"resources\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(out, *in.Resources) + } + if in.CredentialSpec != nil { + const prefix string = ",\"credentialSpec\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if m, ok := in.CredentialSpec.(easyjson.Marshaler); ok { + m.MarshalEasyJSON(out) + } else if m, ok := in.CredentialSpec.(json.Marshaler); ok { + out.Raw(m.MarshalJSON()) + } else { + out.Raw(json.Marshal(in.CredentialSpec)) + } + } + if in.Servicing { + const prefix string = ",\"servicing\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Servicing)) + } + if in.IgnoreFlushesDuringBoot { + const prefix string = ",\"ignoreFlushesDuringBoot\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.IgnoreFlushesDuringBoot)) + } + if in.HyperV != nil { + const prefix string = ",\"hyperv\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(out, *in.HyperV) + } + if in.Network != nil { + const prefix string = ",\"network\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(out, *in.Network) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(in *jlexer.Lexer, out *specs_go.WindowsNetwork) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "endpointList": + if in.IsNull() { + in.Skip() + out.EndpointList = nil + } else { + in.Delim('[') + if out.EndpointList == nil { + if !in.IsDelim(']') { + out.EndpointList = make([]string, 0, 4) + } else { + out.EndpointList = []string{} + } + } else { + out.EndpointList = (out.EndpointList)[:0] + } + for !in.IsDelim(']') { + var v101 string + v101 = string(in.String()) + out.EndpointList = append(out.EndpointList, v101) + in.WantComma() + } + in.Delim(']') + } + case "allowUnqualifiedDNSQuery": + out.AllowUnqualifiedDNSQuery = bool(in.Bool()) + case "DNSSearchList": + if in.IsNull() { + in.Skip() + out.DNSSearchList = nil + } else { + in.Delim('[') + if out.DNSSearchList == nil { + if !in.IsDelim(']') { + out.DNSSearchList = make([]string, 0, 4) + } else { + out.DNSSearchList = []string{} + } + } else { + out.DNSSearchList = (out.DNSSearchList)[:0] + } + for !in.IsDelim(']') { + var v102 string + v102 = string(in.String()) + out.DNSSearchList = append(out.DNSSearchList, v102) + in.WantComma() + } + in.Delim(']') + } + case "networkSharedContainerName": + out.NetworkSharedContainerName = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo16(out *jwriter.Writer, in specs_go.WindowsNetwork) { + out.RawByte('{') + first := true + _ = first + if len(in.EndpointList) != 0 { + const prefix string = ",\"endpointList\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v103, v104 := range in.EndpointList { + if v103 > 0 { + out.RawByte(',') + } + out.String(string(v104)) + } + out.RawByte(']') + } + } + if in.AllowUnqualifiedDNSQuery { + const prefix string = ",\"allowUnqualifiedDNSQuery\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.AllowUnqualifiedDNSQuery)) + } + if len(in.DNSSearchList) != 0 { + const prefix string = ",\"DNSSearchList\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v105, v106 := range in.DNSSearchList { + if v105 > 0 { + out.RawByte(',') + } + out.String(string(v106)) + } + out.RawByte(']') + } + } + if in.NetworkSharedContainerName != "" { + const prefix string = ",\"networkSharedContainerName\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.NetworkSharedContainerName)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(in *jlexer.Lexer, out *specs_go.WindowsHyperV) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "utilityVMPath": + out.UtilityVMPath = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo15(out *jwriter.Writer, in specs_go.WindowsHyperV) { + out.RawByte('{') + first := true + _ = first + if in.UtilityVMPath != "" { + const prefix string = ",\"utilityVMPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.UtilityVMPath)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(in *jlexer.Lexer, out *specs_go.WindowsResources) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "memory": + if in.IsNull() { + in.Skip() + out.Memory = nil + } else { + if out.Memory == nil { + out.Memory = new(specs_go.WindowsMemoryResources) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(in, &*out.Memory) + } + case "cpu": + if in.IsNull() { + in.Skip() + out.CPU = nil + } else { + if out.CPU == nil { + out.CPU = new(specs_go.WindowsCPUResources) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(in, &*out.CPU) + } + case "storage": + if in.IsNull() { + in.Skip() + out.Storage = nil + } else { + if out.Storage == nil { + out.Storage = new(specs_go.WindowsStorageResources) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(in, &*out.Storage) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo14(out *jwriter.Writer, in specs_go.WindowsResources) { + out.RawByte('{') + first := true + _ = first + if in.Memory != nil { + const prefix string = ",\"memory\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(out, *in.Memory) + } + if in.CPU != nil { + const prefix string = ",\"cpu\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(out, *in.CPU) + } + if in.Storage != nil { + const prefix string = ",\"storage\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(out, *in.Storage) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(in *jlexer.Lexer, out *specs_go.WindowsStorageResources) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "iops": + if in.IsNull() { + in.Skip() + out.Iops = nil + } else { + if out.Iops == nil { + out.Iops = new(uint64) + } + *out.Iops = uint64(in.Uint64()) + } + case "bps": + if in.IsNull() { + in.Skip() + out.Bps = nil + } else { + if out.Bps == nil { + out.Bps = new(uint64) + } + *out.Bps = uint64(in.Uint64()) + } + case "sandboxSize": + if in.IsNull() { + in.Skip() + out.SandboxSize = nil + } else { + if out.SandboxSize == nil { + out.SandboxSize = new(uint64) + } + *out.SandboxSize = uint64(in.Uint64()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo19(out *jwriter.Writer, in specs_go.WindowsStorageResources) { + out.RawByte('{') + first := true + _ = first + if in.Iops != nil { + const prefix string = ",\"iops\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Iops)) + } + if in.Bps != nil { + const prefix string = ",\"bps\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Bps)) + } + if in.SandboxSize != nil { + const prefix string = ",\"sandboxSize\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.SandboxSize)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(in *jlexer.Lexer, out *specs_go.WindowsCPUResources) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "count": + if in.IsNull() { + in.Skip() + out.Count = nil + } else { + if out.Count == nil { + out.Count = new(uint64) + } + *out.Count = uint64(in.Uint64()) + } + case "shares": + if in.IsNull() { + in.Skip() + out.Shares = nil + } else { + if out.Shares == nil { + out.Shares = new(uint16) + } + *out.Shares = uint16(in.Uint16()) + } + case "maximum": + if in.IsNull() { + in.Skip() + out.Maximum = nil + } else { + if out.Maximum == nil { + out.Maximum = new(uint16) + } + *out.Maximum = uint16(in.Uint16()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo18(out *jwriter.Writer, in specs_go.WindowsCPUResources) { + out.RawByte('{') + first := true + _ = first + if in.Count != nil { + const prefix string = ",\"count\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Count)) + } + if in.Shares != nil { + const prefix string = ",\"shares\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.Shares)) + } + if in.Maximum != nil { + const prefix string = ",\"maximum\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.Maximum)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(in *jlexer.Lexer, out *specs_go.WindowsMemoryResources) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "limit": + if in.IsNull() { + in.Skip() + out.Limit = nil + } else { + if out.Limit == nil { + out.Limit = new(uint64) + } + *out.Limit = uint64(in.Uint64()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo17(out *jwriter.Writer, in specs_go.WindowsMemoryResources) { + out.RawByte('{') + first := true + _ = first + if in.Limit != nil { + const prefix string = ",\"limit\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Limit)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(in *jlexer.Lexer, out *specs_go.WindowsDevice) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "id": + out.ID = string(in.String()) + case "idType": + out.IDType = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo13(out *jwriter.Writer, in specs_go.WindowsDevice) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ID)) + } + { + const prefix string = ",\"idType\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.IDType)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(in *jlexer.Lexer, out *specs_go.Solaris) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "milestone": + out.Milestone = string(in.String()) + case "limitpriv": + out.LimitPriv = string(in.String()) + case "maxShmMemory": + out.MaxShmMemory = string(in.String()) + case "anet": + if in.IsNull() { + in.Skip() + out.Anet = nil + } else { + in.Delim('[') + if out.Anet == nil { + if !in.IsDelim(']') { + out.Anet = make([]specs_go.SolarisAnet, 0, 1) + } else { + out.Anet = []specs_go.SolarisAnet{} + } + } else { + out.Anet = (out.Anet)[:0] + } + for !in.IsDelim(']') { + var v107 specs_go.SolarisAnet + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(in, &v107) + out.Anet = append(out.Anet, v107) + in.WantComma() + } + in.Delim(']') + } + case "cappedCPU": + if in.IsNull() { + in.Skip() + out.CappedCPU = nil + } else { + if out.CappedCPU == nil { + out.CappedCPU = new(specs_go.SolarisCappedCPU) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(in, &*out.CappedCPU) + } + case "cappedMemory": + if in.IsNull() { + in.Skip() + out.CappedMemory = nil + } else { + if out.CappedMemory == nil { + out.CappedMemory = new(specs_go.SolarisCappedMemory) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(in, &*out.CappedMemory) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo7(out *jwriter.Writer, in specs_go.Solaris) { + out.RawByte('{') + first := true + _ = first + if in.Milestone != "" { + const prefix string = ",\"milestone\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Milestone)) + } + if in.LimitPriv != "" { + const prefix string = ",\"limitpriv\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.LimitPriv)) + } + if in.MaxShmMemory != "" { + const prefix string = ",\"maxShmMemory\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.MaxShmMemory)) + } + if len(in.Anet) != 0 { + const prefix string = ",\"anet\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v108, v109 := range in.Anet { + if v108 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(out, v109) + } + out.RawByte(']') + } + } + if in.CappedCPU != nil { + const prefix string = ",\"cappedCPU\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(out, *in.CappedCPU) + } + if in.CappedMemory != nil { + const prefix string = ",\"cappedMemory\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(out, *in.CappedMemory) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(in *jlexer.Lexer, out *specs_go.SolarisCappedMemory) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "physical": + out.Physical = string(in.String()) + case "swap": + out.Swap = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo22(out *jwriter.Writer, in specs_go.SolarisCappedMemory) { + out.RawByte('{') + first := true + _ = first + if in.Physical != "" { + const prefix string = ",\"physical\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Physical)) + } + if in.Swap != "" { + const prefix string = ",\"swap\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Swap)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(in *jlexer.Lexer, out *specs_go.SolarisCappedCPU) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "ncpus": + out.Ncpus = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo21(out *jwriter.Writer, in specs_go.SolarisCappedCPU) { + out.RawByte('{') + first := true + _ = first + if in.Ncpus != "" { + const prefix string = ",\"ncpus\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Ncpus)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(in *jlexer.Lexer, out *specs_go.SolarisAnet) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "linkname": + out.Linkname = string(in.String()) + case "lowerLink": + out.Lowerlink = string(in.String()) + case "allowedAddress": + out.Allowedaddr = string(in.String()) + case "configureAllowedAddress": + out.Configallowedaddr = string(in.String()) + case "defrouter": + out.Defrouter = string(in.String()) + case "linkProtection": + out.Linkprotection = string(in.String()) + case "macAddress": + out.Macaddress = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo20(out *jwriter.Writer, in specs_go.SolarisAnet) { + out.RawByte('{') + first := true + _ = first + if in.Linkname != "" { + const prefix string = ",\"linkname\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Linkname)) + } + if in.Lowerlink != "" { + const prefix string = ",\"lowerLink\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Lowerlink)) + } + if in.Allowedaddr != "" { + const prefix string = ",\"allowedAddress\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Allowedaddr)) + } + if in.Configallowedaddr != "" { + const prefix string = ",\"configureAllowedAddress\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Configallowedaddr)) + } + if in.Defrouter != "" { + const prefix string = ",\"defrouter\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Defrouter)) + } + if in.Linkprotection != "" { + const prefix string = ",\"linkProtection\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Linkprotection)) + } + if in.Macaddress != "" { + const prefix string = ",\"macAddress\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Macaddress)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(in *jlexer.Lexer, out *specs_go.Linux) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "uidMappings": + if in.IsNull() { + in.Skip() + out.UIDMappings = nil + } else { + in.Delim('[') + if out.UIDMappings == nil { + if !in.IsDelim(']') { + out.UIDMappings = make([]specs_go.LinuxIDMapping, 0, 5) + } else { + out.UIDMappings = []specs_go.LinuxIDMapping{} + } + } else { + out.UIDMappings = (out.UIDMappings)[:0] + } + for !in.IsDelim(']') { + var v110 specs_go.LinuxIDMapping + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in, &v110) + out.UIDMappings = append(out.UIDMappings, v110) + in.WantComma() + } + in.Delim(']') + } + case "gidMappings": + if in.IsNull() { + in.Skip() + out.GIDMappings = nil + } else { + in.Delim('[') + if out.GIDMappings == nil { + if !in.IsDelim(']') { + out.GIDMappings = make([]specs_go.LinuxIDMapping, 0, 5) + } else { + out.GIDMappings = []specs_go.LinuxIDMapping{} + } + } else { + out.GIDMappings = (out.GIDMappings)[:0] + } + for !in.IsDelim(']') { + var v111 specs_go.LinuxIDMapping + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in, &v111) + out.GIDMappings = append(out.GIDMappings, v111) + in.WantComma() + } + in.Delim(']') + } + case "sysctl": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.Sysctl = make(map[string]string) + } else { + out.Sysctl = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v112 string + v112 = string(in.String()) + (out.Sysctl)[key] = v112 + in.WantComma() + } + in.Delim('}') + } + case "resources": + if in.IsNull() { + in.Skip() + out.Resources = nil + } else { + if out.Resources == nil { + out.Resources = new(specs_go.LinuxResources) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(in, &*out.Resources) + } + case "cgroupsPath": + out.CgroupsPath = string(in.String()) + case "namespaces": + if in.IsNull() { + in.Skip() + out.Namespaces = nil + } else { + in.Delim('[') + if out.Namespaces == nil { + if !in.IsDelim(']') { + out.Namespaces = make([]specs_go.LinuxNamespace, 0, 2) + } else { + out.Namespaces = []specs_go.LinuxNamespace{} + } + } else { + out.Namespaces = (out.Namespaces)[:0] + } + for !in.IsDelim(']') { + var v113 specs_go.LinuxNamespace + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(in, &v113) + out.Namespaces = append(out.Namespaces, v113) + in.WantComma() + } + in.Delim(']') + } + case "devices": + if in.IsNull() { + in.Skip() + out.Devices = nil + } else { + in.Delim('[') + if out.Devices == nil { + if !in.IsDelim(']') { + out.Devices = make([]specs_go.LinuxDevice, 0, 1) + } else { + out.Devices = []specs_go.LinuxDevice{} + } + } else { + out.Devices = (out.Devices)[:0] + } + for !in.IsDelim(']') { + var v114 specs_go.LinuxDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(in, &v114) + out.Devices = append(out.Devices, v114) + in.WantComma() + } + in.Delim(']') + } + case "seccomp": + if in.IsNull() { + in.Skip() + out.Seccomp = nil + } else { + if out.Seccomp == nil { + out.Seccomp = new(specs_go.LinuxSeccomp) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(in, &*out.Seccomp) + } + case "rootfsPropagation": + out.RootfsPropagation = string(in.String()) + case "maskedPaths": + if in.IsNull() { + in.Skip() + out.MaskedPaths = nil + } else { + in.Delim('[') + if out.MaskedPaths == nil { + if !in.IsDelim(']') { + out.MaskedPaths = make([]string, 0, 4) + } else { + out.MaskedPaths = []string{} + } + } else { + out.MaskedPaths = (out.MaskedPaths)[:0] + } + for !in.IsDelim(']') { + var v115 string + v115 = string(in.String()) + out.MaskedPaths = append(out.MaskedPaths, v115) + in.WantComma() + } + in.Delim(']') + } + case "readonlyPaths": + if in.IsNull() { + in.Skip() + out.ReadonlyPaths = nil + } else { + in.Delim('[') + if out.ReadonlyPaths == nil { + if !in.IsDelim(']') { + out.ReadonlyPaths = make([]string, 0, 4) + } else { + out.ReadonlyPaths = []string{} + } + } else { + out.ReadonlyPaths = (out.ReadonlyPaths)[:0] + } + for !in.IsDelim(']') { + var v116 string + v116 = string(in.String()) + out.ReadonlyPaths = append(out.ReadonlyPaths, v116) + in.WantComma() + } + in.Delim(']') + } + case "mountLabel": + out.MountLabel = string(in.String()) + case "intelRdt": + if in.IsNull() { + in.Skip() + out.IntelRdt = nil + } else { + if out.IntelRdt == nil { + out.IntelRdt = new(specs_go.LinuxIntelRdt) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(in, &*out.IntelRdt) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo6(out *jwriter.Writer, in specs_go.Linux) { + out.RawByte('{') + first := true + _ = first + if len(in.UIDMappings) != 0 { + const prefix string = ",\"uidMappings\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v117, v118 := range in.UIDMappings { + if v117 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out, v118) + } + out.RawByte(']') + } + } + if len(in.GIDMappings) != 0 { + const prefix string = ",\"gidMappings\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v119, v120 := range in.GIDMappings { + if v119 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out, v120) + } + out.RawByte(']') + } + } + if len(in.Sysctl) != 0 { + const prefix string = ",\"sysctl\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v121First := true + for v121Name, v121Value := range in.Sysctl { + if v121First { + v121First = false + } else { + out.RawByte(',') + } + out.String(string(v121Name)) + out.RawByte(':') + out.String(string(v121Value)) + } + out.RawByte('}') + } + } + if in.Resources != nil { + const prefix string = ",\"resources\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(out, *in.Resources) + } + if in.CgroupsPath != "" { + const prefix string = ",\"cgroupsPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupsPath)) + } + if len(in.Namespaces) != 0 { + const prefix string = ",\"namespaces\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v122, v123 := range in.Namespaces { + if v122 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(out, v123) + } + out.RawByte(']') + } + } + if len(in.Devices) != 0 { + const prefix string = ",\"devices\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v124, v125 := range in.Devices { + if v124 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(out, v125) + } + out.RawByte(']') + } + } + if in.Seccomp != nil { + const prefix string = ",\"seccomp\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(out, *in.Seccomp) + } + if in.RootfsPropagation != "" { + const prefix string = ",\"rootfsPropagation\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.RootfsPropagation)) + } + if len(in.MaskedPaths) != 0 { + const prefix string = ",\"maskedPaths\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v126, v127 := range in.MaskedPaths { + if v126 > 0 { + out.RawByte(',') + } + out.String(string(v127)) + } + out.RawByte(']') + } + } + if len(in.ReadonlyPaths) != 0 { + const prefix string = ",\"readonlyPaths\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v128, v129 := range in.ReadonlyPaths { + if v128 > 0 { + out.RawByte(',') + } + out.String(string(v129)) + } + out.RawByte(']') + } + } + if in.MountLabel != "" { + const prefix string = ",\"mountLabel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.MountLabel)) + } + if in.IntelRdt != nil { + const prefix string = ",\"intelRdt\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(out, *in.IntelRdt) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(in *jlexer.Lexer, out *specs_go.LinuxIntelRdt) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "l3CacheSchema": + out.L3CacheSchema = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo28(out *jwriter.Writer, in specs_go.LinuxIntelRdt) { + out.RawByte('{') + first := true + _ = first + if in.L3CacheSchema != "" { + const prefix string = ",\"l3CacheSchema\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.L3CacheSchema)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(in *jlexer.Lexer, out *specs_go.LinuxSeccomp) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "defaultAction": + out.DefaultAction = specs_go.LinuxSeccompAction(in.String()) + case "architectures": + if in.IsNull() { + in.Skip() + out.Architectures = nil + } else { + in.Delim('[') + if out.Architectures == nil { + if !in.IsDelim(']') { + out.Architectures = make([]specs_go.Arch, 0, 4) + } else { + out.Architectures = []specs_go.Arch{} + } + } else { + out.Architectures = (out.Architectures)[:0] + } + for !in.IsDelim(']') { + var v130 specs_go.Arch + v130 = specs_go.Arch(in.String()) + out.Architectures = append(out.Architectures, v130) + in.WantComma() + } + in.Delim(']') + } + case "syscalls": + if in.IsNull() { + in.Skip() + out.Syscalls = nil + } else { + in.Delim('[') + if out.Syscalls == nil { + if !in.IsDelim(']') { + out.Syscalls = make([]specs_go.LinuxSyscall, 0, 1) + } else { + out.Syscalls = []specs_go.LinuxSyscall{} + } + } else { + out.Syscalls = (out.Syscalls)[:0] + } + for !in.IsDelim(']') { + var v131 specs_go.LinuxSyscall + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(in, &v131) + out.Syscalls = append(out.Syscalls, v131) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo27(out *jwriter.Writer, in specs_go.LinuxSeccomp) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"defaultAction\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.DefaultAction)) + } + if len(in.Architectures) != 0 { + const prefix string = ",\"architectures\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v132, v133 := range in.Architectures { + if v132 > 0 { + out.RawByte(',') + } + out.String(string(v133)) + } + out.RawByte(']') + } + } + if len(in.Syscalls) != 0 { + const prefix string = ",\"syscalls\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v134, v135 := range in.Syscalls { + if v134 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(out, v135) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(in *jlexer.Lexer, out *specs_go.LinuxSyscall) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "names": + if in.IsNull() { + in.Skip() + out.Names = nil + } else { + in.Delim('[') + if out.Names == nil { + if !in.IsDelim(']') { + out.Names = make([]string, 0, 4) + } else { + out.Names = []string{} + } + } else { + out.Names = (out.Names)[:0] + } + for !in.IsDelim(']') { + var v136 string + v136 = string(in.String()) + out.Names = append(out.Names, v136) + in.WantComma() + } + in.Delim(']') + } + case "action": + out.Action = specs_go.LinuxSeccompAction(in.String()) + case "args": + if in.IsNull() { + in.Skip() + out.Args = nil + } else { + in.Delim('[') + if out.Args == nil { + if !in.IsDelim(']') { + out.Args = make([]specs_go.LinuxSeccompArg, 0, 1) + } else { + out.Args = []specs_go.LinuxSeccompArg{} + } + } else { + out.Args = (out.Args)[:0] + } + for !in.IsDelim(']') { + var v137 specs_go.LinuxSeccompArg + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(in, &v137) + out.Args = append(out.Args, v137) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo29(out *jwriter.Writer, in specs_go.LinuxSyscall) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"names\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Names == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v138, v139 := range in.Names { + if v138 > 0 { + out.RawByte(',') + } + out.String(string(v139)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"action\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Action)) + } + if len(in.Args) != 0 { + const prefix string = ",\"args\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v140, v141 := range in.Args { + if v140 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(out, v141) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(in *jlexer.Lexer, out *specs_go.LinuxSeccompArg) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "index": + out.Index = uint(in.Uint()) + case "value": + out.Value = uint64(in.Uint64()) + case "valueTwo": + out.ValueTwo = uint64(in.Uint64()) + case "op": + out.Op = specs_go.LinuxSeccompOperator(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo30(out *jwriter.Writer, in specs_go.LinuxSeccompArg) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"index\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint(uint(in.Index)) + } + { + const prefix string = ",\"value\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.Value)) + } + if in.ValueTwo != 0 { + const prefix string = ",\"valueTwo\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.ValueTwo)) + } + { + const prefix string = ",\"op\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Op)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(in *jlexer.Lexer, out *specs_go.LinuxDevice) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "type": + out.Type = string(in.String()) + case "major": + out.Major = int64(in.Int64()) + case "minor": + out.Minor = int64(in.Int64()) + case "fileMode": + if in.IsNull() { + in.Skip() + out.FileMode = nil + } else { + if out.FileMode == nil { + out.FileMode = new(os.FileMode) + } + *out.FileMode = os.FileMode(in.Uint32()) + } + case "uid": + if in.IsNull() { + in.Skip() + out.UID = nil + } else { + if out.UID == nil { + out.UID = new(uint32) + } + *out.UID = uint32(in.Uint32()) + } + case "gid": + if in.IsNull() { + in.Skip() + out.GID = nil + } else { + if out.GID == nil { + out.GID = new(uint32) + } + *out.GID = uint32(in.Uint32()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo26(out *jwriter.Writer, in specs_go.LinuxDevice) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + { + const prefix string = ",\"type\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Type)) + } + { + const prefix string = ",\"major\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Major)) + } + { + const prefix string = ",\"minor\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Minor)) + } + if in.FileMode != nil { + const prefix string = ",\"fileMode\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.FileMode)) + } + if in.UID != nil { + const prefix string = ",\"uid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.UID)) + } + if in.GID != nil { + const prefix string = ",\"gid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.GID)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(in *jlexer.Lexer, out *specs_go.LinuxNamespace) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "type": + out.Type = specs_go.LinuxNamespaceType(in.String()) + case "path": + out.Path = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo25(out *jwriter.Writer, in specs_go.LinuxNamespace) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"type\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Type)) + } + if in.Path != "" { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(in *jlexer.Lexer, out *specs_go.LinuxResources) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "devices": + if in.IsNull() { + in.Skip() + out.Devices = nil + } else { + in.Delim('[') + if out.Devices == nil { + if !in.IsDelim(']') { + out.Devices = make([]specs_go.LinuxDeviceCgroup, 0, 1) + } else { + out.Devices = []specs_go.LinuxDeviceCgroup{} + } + } else { + out.Devices = (out.Devices)[:0] + } + for !in.IsDelim(']') { + var v142 specs_go.LinuxDeviceCgroup + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(in, &v142) + out.Devices = append(out.Devices, v142) + in.WantComma() + } + in.Delim(']') + } + case "memory": + if in.IsNull() { + in.Skip() + out.Memory = nil + } else { + if out.Memory == nil { + out.Memory = new(specs_go.LinuxMemory) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(in, &*out.Memory) + } + case "cpu": + if in.IsNull() { + in.Skip() + out.CPU = nil + } else { + if out.CPU == nil { + out.CPU = new(specs_go.LinuxCPU) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(in, &*out.CPU) + } + case "pids": + if in.IsNull() { + in.Skip() + out.Pids = nil + } else { + if out.Pids == nil { + out.Pids = new(specs_go.LinuxPids) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(in, &*out.Pids) + } + case "blockIO": + if in.IsNull() { + in.Skip() + out.BlockIO = nil + } else { + if out.BlockIO == nil { + out.BlockIO = new(specs_go.LinuxBlockIO) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(in, &*out.BlockIO) + } + case "hugepageLimits": + if in.IsNull() { + in.Skip() + out.HugepageLimits = nil + } else { + in.Delim('[') + if out.HugepageLimits == nil { + if !in.IsDelim(']') { + out.HugepageLimits = make([]specs_go.LinuxHugepageLimit, 0, 2) + } else { + out.HugepageLimits = []specs_go.LinuxHugepageLimit{} + } + } else { + out.HugepageLimits = (out.HugepageLimits)[:0] + } + for !in.IsDelim(']') { + var v143 specs_go.LinuxHugepageLimit + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(in, &v143) + out.HugepageLimits = append(out.HugepageLimits, v143) + in.WantComma() + } + in.Delim(']') + } + case "network": + if in.IsNull() { + in.Skip() + out.Network = nil + } else { + if out.Network == nil { + out.Network = new(specs_go.LinuxNetwork) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(in, &*out.Network) + } + case "rdma": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.Rdma = make(map[string]specs_go.LinuxRdma) + } else { + out.Rdma = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v144 specs_go.LinuxRdma + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(in, &v144) + (out.Rdma)[key] = v144 + in.WantComma() + } + in.Delim('}') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo24(out *jwriter.Writer, in specs_go.LinuxResources) { + out.RawByte('{') + first := true + _ = first + if len(in.Devices) != 0 { + const prefix string = ",\"devices\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v145, v146 := range in.Devices { + if v145 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(out, v146) + } + out.RawByte(']') + } + } + if in.Memory != nil { + const prefix string = ",\"memory\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(out, *in.Memory) + } + if in.CPU != nil { + const prefix string = ",\"cpu\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(out, *in.CPU) + } + if in.Pids != nil { + const prefix string = ",\"pids\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(out, *in.Pids) + } + if in.BlockIO != nil { + const prefix string = ",\"blockIO\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(out, *in.BlockIO) + } + if len(in.HugepageLimits) != 0 { + const prefix string = ",\"hugepageLimits\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v147, v148 := range in.HugepageLimits { + if v147 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(out, v148) + } + out.RawByte(']') + } + } + if in.Network != nil { + const prefix string = ",\"network\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(out, *in.Network) + } + if len(in.Rdma) != 0 { + const prefix string = ",\"rdma\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('{') + v149First := true + for v149Name, v149Value := range in.Rdma { + if v149First { + v149First = false + } else { + out.RawByte(',') + } + out.String(string(v149Name)) + out.RawByte(':') + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(out, v149Value) + } + out.RawByte('}') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(in *jlexer.Lexer, out *specs_go.LinuxRdma) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "hcaHandles": + if in.IsNull() { + in.Skip() + out.HcaHandles = nil + } else { + if out.HcaHandles == nil { + out.HcaHandles = new(uint32) + } + *out.HcaHandles = uint32(in.Uint32()) + } + case "hcaObjects": + if in.IsNull() { + in.Skip() + out.HcaObjects = nil + } else { + if out.HcaObjects == nil { + out.HcaObjects = new(uint32) + } + *out.HcaObjects = uint32(in.Uint32()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo38(out *jwriter.Writer, in specs_go.LinuxRdma) { + out.RawByte('{') + first := true + _ = first + if in.HcaHandles != nil { + const prefix string = ",\"hcaHandles\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.HcaHandles)) + } + if in.HcaObjects != nil { + const prefix string = ",\"hcaObjects\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.HcaObjects)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(in *jlexer.Lexer, out *specs_go.LinuxNetwork) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "classID": + if in.IsNull() { + in.Skip() + out.ClassID = nil + } else { + if out.ClassID == nil { + out.ClassID = new(uint32) + } + *out.ClassID = uint32(in.Uint32()) + } + case "priorities": + if in.IsNull() { + in.Skip() + out.Priorities = nil + } else { + in.Delim('[') + if out.Priorities == nil { + if !in.IsDelim(']') { + out.Priorities = make([]specs_go.LinuxInterfacePriority, 0, 2) + } else { + out.Priorities = []specs_go.LinuxInterfacePriority{} + } + } else { + out.Priorities = (out.Priorities)[:0] + } + for !in.IsDelim(']') { + var v150 specs_go.LinuxInterfacePriority + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(in, &v150) + out.Priorities = append(out.Priorities, v150) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo37(out *jwriter.Writer, in specs_go.LinuxNetwork) { + out.RawByte('{') + first := true + _ = first + if in.ClassID != nil { + const prefix string = ",\"classID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(*in.ClassID)) + } + if len(in.Priorities) != 0 { + const prefix string = ",\"priorities\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v151, v152 := range in.Priorities { + if v151 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(out, v152) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(in *jlexer.Lexer, out *specs_go.LinuxInterfacePriority) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "name": + out.Name = string(in.String()) + case "priority": + out.Priority = uint32(in.Uint32()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo39(out *jwriter.Writer, in specs_go.LinuxInterfacePriority) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"name\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Name)) + } + { + const prefix string = ",\"priority\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.Priority)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(in *jlexer.Lexer, out *specs_go.LinuxHugepageLimit) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "pageSize": + out.Pagesize = string(in.String()) + case "limit": + out.Limit = uint64(in.Uint64()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo36(out *jwriter.Writer, in specs_go.LinuxHugepageLimit) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"pageSize\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Pagesize)) + } + { + const prefix string = ",\"limit\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.Limit)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(in *jlexer.Lexer, out *specs_go.LinuxBlockIO) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "weight": + if in.IsNull() { + in.Skip() + out.Weight = nil + } else { + if out.Weight == nil { + out.Weight = new(uint16) + } + *out.Weight = uint16(in.Uint16()) + } + case "leafWeight": + if in.IsNull() { + in.Skip() + out.LeafWeight = nil + } else { + if out.LeafWeight == nil { + out.LeafWeight = new(uint16) + } + *out.LeafWeight = uint16(in.Uint16()) + } + case "weightDevice": + if in.IsNull() { + in.Skip() + out.WeightDevice = nil + } else { + in.Delim('[') + if out.WeightDevice == nil { + if !in.IsDelim(']') { + out.WeightDevice = make([]specs_go.LinuxWeightDevice, 0, 2) + } else { + out.WeightDevice = []specs_go.LinuxWeightDevice{} + } + } else { + out.WeightDevice = (out.WeightDevice)[:0] + } + for !in.IsDelim(']') { + var v153 specs_go.LinuxWeightDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(in, &v153) + out.WeightDevice = append(out.WeightDevice, v153) + in.WantComma() + } + in.Delim(']') + } + case "throttleReadBpsDevice": + if in.IsNull() { + in.Skip() + out.ThrottleReadBpsDevice = nil + } else { + in.Delim('[') + if out.ThrottleReadBpsDevice == nil { + if !in.IsDelim(']') { + out.ThrottleReadBpsDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) + } else { + out.ThrottleReadBpsDevice = []specs_go.LinuxThrottleDevice{} + } + } else { + out.ThrottleReadBpsDevice = (out.ThrottleReadBpsDevice)[:0] + } + for !in.IsDelim(']') { + var v154 specs_go.LinuxThrottleDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v154) + out.ThrottleReadBpsDevice = append(out.ThrottleReadBpsDevice, v154) + in.WantComma() + } + in.Delim(']') + } + case "throttleWriteBpsDevice": + if in.IsNull() { + in.Skip() + out.ThrottleWriteBpsDevice = nil + } else { + in.Delim('[') + if out.ThrottleWriteBpsDevice == nil { + if !in.IsDelim(']') { + out.ThrottleWriteBpsDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) + } else { + out.ThrottleWriteBpsDevice = []specs_go.LinuxThrottleDevice{} + } + } else { + out.ThrottleWriteBpsDevice = (out.ThrottleWriteBpsDevice)[:0] + } + for !in.IsDelim(']') { + var v155 specs_go.LinuxThrottleDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v155) + out.ThrottleWriteBpsDevice = append(out.ThrottleWriteBpsDevice, v155) + in.WantComma() + } + in.Delim(']') + } + case "throttleReadIOPSDevice": + if in.IsNull() { + in.Skip() + out.ThrottleReadIOPSDevice = nil + } else { + in.Delim('[') + if out.ThrottleReadIOPSDevice == nil { + if !in.IsDelim(']') { + out.ThrottleReadIOPSDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) + } else { + out.ThrottleReadIOPSDevice = []specs_go.LinuxThrottleDevice{} + } + } else { + out.ThrottleReadIOPSDevice = (out.ThrottleReadIOPSDevice)[:0] + } + for !in.IsDelim(']') { + var v156 specs_go.LinuxThrottleDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v156) + out.ThrottleReadIOPSDevice = append(out.ThrottleReadIOPSDevice, v156) + in.WantComma() + } + in.Delim(']') + } + case "throttleWriteIOPSDevice": + if in.IsNull() { + in.Skip() + out.ThrottleWriteIOPSDevice = nil + } else { + in.Delim('[') + if out.ThrottleWriteIOPSDevice == nil { + if !in.IsDelim(']') { + out.ThrottleWriteIOPSDevice = make([]specs_go.LinuxThrottleDevice, 0, 2) + } else { + out.ThrottleWriteIOPSDevice = []specs_go.LinuxThrottleDevice{} + } + } else { + out.ThrottleWriteIOPSDevice = (out.ThrottleWriteIOPSDevice)[:0] + } + for !in.IsDelim(']') { + var v157 specs_go.LinuxThrottleDevice + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in, &v157) + out.ThrottleWriteIOPSDevice = append(out.ThrottleWriteIOPSDevice, v157) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo35(out *jwriter.Writer, in specs_go.LinuxBlockIO) { + out.RawByte('{') + first := true + _ = first + if in.Weight != nil { + const prefix string = ",\"weight\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.Weight)) + } + if in.LeafWeight != nil { + const prefix string = ",\"leafWeight\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.LeafWeight)) + } + if len(in.WeightDevice) != 0 { + const prefix string = ",\"weightDevice\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v158, v159 := range in.WeightDevice { + if v158 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(out, v159) + } + out.RawByte(']') + } + } + if len(in.ThrottleReadBpsDevice) != 0 { + const prefix string = ",\"throttleReadBpsDevice\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v160, v161 := range in.ThrottleReadBpsDevice { + if v160 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v161) + } + out.RawByte(']') + } + } + if len(in.ThrottleWriteBpsDevice) != 0 { + const prefix string = ",\"throttleWriteBpsDevice\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v162, v163 := range in.ThrottleWriteBpsDevice { + if v162 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v163) + } + out.RawByte(']') + } + } + if len(in.ThrottleReadIOPSDevice) != 0 { + const prefix string = ",\"throttleReadIOPSDevice\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v164, v165 := range in.ThrottleReadIOPSDevice { + if v164 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v165) + } + out.RawByte(']') + } + } + if len(in.ThrottleWriteIOPSDevice) != 0 { + const prefix string = ",\"throttleWriteIOPSDevice\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v166, v167 := range in.ThrottleWriteIOPSDevice { + if v166 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out, v167) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(in *jlexer.Lexer, out *specs_go.LinuxThrottleDevice) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "rate": + out.Rate = uint64(in.Uint64()) + case "major": + out.Major = int64(in.Int64()) + case "minor": + out.Minor = int64(in.Int64()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo41(out *jwriter.Writer, in specs_go.LinuxThrottleDevice) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"rate\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.Rate)) + } + { + const prefix string = ",\"major\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Major)) + } + { + const prefix string = ",\"minor\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Minor)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(in *jlexer.Lexer, out *specs_go.LinuxWeightDevice) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "weight": + if in.IsNull() { + in.Skip() + out.Weight = nil + } else { + if out.Weight == nil { + out.Weight = new(uint16) + } + *out.Weight = uint16(in.Uint16()) + } + case "leafWeight": + if in.IsNull() { + in.Skip() + out.LeafWeight = nil + } else { + if out.LeafWeight == nil { + out.LeafWeight = new(uint16) + } + *out.LeafWeight = uint16(in.Uint16()) + } + case "major": + out.Major = int64(in.Int64()) + case "minor": + out.Minor = int64(in.Int64()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo40(out *jwriter.Writer, in specs_go.LinuxWeightDevice) { + out.RawByte('{') + first := true + _ = first + if in.Weight != nil { + const prefix string = ",\"weight\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.Weight)) + } + if in.LeafWeight != nil { + const prefix string = ",\"leafWeight\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint16(uint16(*in.LeafWeight)) + } + { + const prefix string = ",\"major\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Major)) + } + { + const prefix string = ",\"minor\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Minor)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(in *jlexer.Lexer, out *specs_go.LinuxPids) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "limit": + out.Limit = int64(in.Int64()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo34(out *jwriter.Writer, in specs_go.LinuxPids) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"limit\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(in.Limit)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(in *jlexer.Lexer, out *specs_go.LinuxCPU) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "shares": + if in.IsNull() { + in.Skip() + out.Shares = nil + } else { + if out.Shares == nil { + out.Shares = new(uint64) + } + *out.Shares = uint64(in.Uint64()) + } + case "quota": + if in.IsNull() { + in.Skip() + out.Quota = nil + } else { + if out.Quota == nil { + out.Quota = new(int64) + } + *out.Quota = int64(in.Int64()) + } + case "period": + if in.IsNull() { + in.Skip() + out.Period = nil + } else { + if out.Period == nil { + out.Period = new(uint64) + } + *out.Period = uint64(in.Uint64()) + } + case "realtimeRuntime": + if in.IsNull() { + in.Skip() + out.RealtimeRuntime = nil + } else { + if out.RealtimeRuntime == nil { + out.RealtimeRuntime = new(int64) + } + *out.RealtimeRuntime = int64(in.Int64()) + } + case "realtimePeriod": + if in.IsNull() { + in.Skip() + out.RealtimePeriod = nil + } else { + if out.RealtimePeriod == nil { + out.RealtimePeriod = new(uint64) + } + *out.RealtimePeriod = uint64(in.Uint64()) + } + case "cpus": + out.Cpus = string(in.String()) + case "mems": + out.Mems = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo33(out *jwriter.Writer, in specs_go.LinuxCPU) { + out.RawByte('{') + first := true + _ = first + if in.Shares != nil { + const prefix string = ",\"shares\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Shares)) + } + if in.Quota != nil { + const prefix string = ",\"quota\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Quota)) + } + if in.Period != nil { + const prefix string = ",\"period\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Period)) + } + if in.RealtimeRuntime != nil { + const prefix string = ",\"realtimeRuntime\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.RealtimeRuntime)) + } + if in.RealtimePeriod != nil { + const prefix string = ",\"realtimePeriod\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.RealtimePeriod)) + } + if in.Cpus != "" { + const prefix string = ",\"cpus\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Cpus)) + } + if in.Mems != "" { + const prefix string = ",\"mems\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Mems)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(in *jlexer.Lexer, out *specs_go.LinuxMemory) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "limit": + if in.IsNull() { + in.Skip() + out.Limit = nil + } else { + if out.Limit == nil { + out.Limit = new(int64) + } + *out.Limit = int64(in.Int64()) + } + case "reservation": + if in.IsNull() { + in.Skip() + out.Reservation = nil + } else { + if out.Reservation == nil { + out.Reservation = new(int64) + } + *out.Reservation = int64(in.Int64()) + } + case "swap": + if in.IsNull() { + in.Skip() + out.Swap = nil + } else { + if out.Swap == nil { + out.Swap = new(int64) + } + *out.Swap = int64(in.Int64()) + } + case "kernel": + if in.IsNull() { + in.Skip() + out.Kernel = nil + } else { + if out.Kernel == nil { + out.Kernel = new(int64) + } + *out.Kernel = int64(in.Int64()) + } + case "kernelTCP": + if in.IsNull() { + in.Skip() + out.KernelTCP = nil + } else { + if out.KernelTCP == nil { + out.KernelTCP = new(int64) + } + *out.KernelTCP = int64(in.Int64()) + } + case "swappiness": + if in.IsNull() { + in.Skip() + out.Swappiness = nil + } else { + if out.Swappiness == nil { + out.Swappiness = new(uint64) + } + *out.Swappiness = uint64(in.Uint64()) + } + case "disableOOMKiller": + if in.IsNull() { + in.Skip() + out.DisableOOMKiller = nil + } else { + if out.DisableOOMKiller == nil { + out.DisableOOMKiller = new(bool) + } + *out.DisableOOMKiller = bool(in.Bool()) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo32(out *jwriter.Writer, in specs_go.LinuxMemory) { + out.RawByte('{') + first := true + _ = first + if in.Limit != nil { + const prefix string = ",\"limit\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Limit)) + } + if in.Reservation != nil { + const prefix string = ",\"reservation\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Reservation)) + } + if in.Swap != nil { + const prefix string = ",\"swap\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Swap)) + } + if in.Kernel != nil { + const prefix string = ",\"kernel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Kernel)) + } + if in.KernelTCP != nil { + const prefix string = ",\"kernelTCP\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.KernelTCP)) + } + if in.Swappiness != nil { + const prefix string = ",\"swappiness\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(*in.Swappiness)) + } + if in.DisableOOMKiller != nil { + const prefix string = ",\"disableOOMKiller\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(*in.DisableOOMKiller)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(in *jlexer.Lexer, out *specs_go.LinuxDeviceCgroup) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "allow": + out.Allow = bool(in.Bool()) + case "type": + out.Type = string(in.String()) + case "major": + if in.IsNull() { + in.Skip() + out.Major = nil + } else { + if out.Major == nil { + out.Major = new(int64) + } + *out.Major = int64(in.Int64()) + } + case "minor": + if in.IsNull() { + in.Skip() + out.Minor = nil + } else { + if out.Minor == nil { + out.Minor = new(int64) + } + *out.Minor = int64(in.Int64()) + } + case "access": + out.Access = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo31(out *jwriter.Writer, in specs_go.LinuxDeviceCgroup) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"allow\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Allow)) + } + if in.Type != "" { + const prefix string = ",\"type\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Type)) + } + if in.Major != nil { + const prefix string = ",\"major\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Major)) + } + if in.Minor != nil { + const prefix string = ",\"minor\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int64(int64(*in.Minor)) + } + if in.Access != "" { + const prefix string = ",\"access\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Access)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(in *jlexer.Lexer, out *specs_go.LinuxIDMapping) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "containerID": + out.ContainerID = uint32(in.Uint32()) + case "hostID": + out.HostID = uint32(in.Uint32()) + case "size": + out.Size = uint32(in.Uint32()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo23(out *jwriter.Writer, in specs_go.LinuxIDMapping) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"containerID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.ContainerID)) + } + { + const prefix string = ",\"hostID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.HostID)) + } + { + const prefix string = ",\"size\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.Size)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(in *jlexer.Lexer, out *specs_go.Hooks) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "prestart": + if in.IsNull() { + in.Skip() + out.Prestart = nil + } else { + in.Delim('[') + if out.Prestart == nil { + if !in.IsDelim(']') { + out.Prestart = make([]specs_go.Hook, 0, 1) + } else { + out.Prestart = []specs_go.Hook{} + } + } else { + out.Prestart = (out.Prestart)[:0] + } + for !in.IsDelim(']') { + var v168 specs_go.Hook + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v168) + out.Prestart = append(out.Prestart, v168) + in.WantComma() + } + in.Delim(']') + } + case "poststart": + if in.IsNull() { + in.Skip() + out.Poststart = nil + } else { + in.Delim('[') + if out.Poststart == nil { + if !in.IsDelim(']') { + out.Poststart = make([]specs_go.Hook, 0, 1) + } else { + out.Poststart = []specs_go.Hook{} + } + } else { + out.Poststart = (out.Poststart)[:0] + } + for !in.IsDelim(']') { + var v169 specs_go.Hook + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v169) + out.Poststart = append(out.Poststart, v169) + in.WantComma() + } + in.Delim(']') + } + case "poststop": + if in.IsNull() { + in.Skip() + out.Poststop = nil + } else { + in.Delim('[') + if out.Poststop == nil { + if !in.IsDelim(']') { + out.Poststop = make([]specs_go.Hook, 0, 1) + } else { + out.Poststop = []specs_go.Hook{} + } + } else { + out.Poststop = (out.Poststop)[:0] + } + for !in.IsDelim(']') { + var v170 specs_go.Hook + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(in, &v170) + out.Poststop = append(out.Poststop, v170) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo5(out *jwriter.Writer, in specs_go.Hooks) { + out.RawByte('{') + first := true + _ = first + if len(in.Prestart) != 0 { + const prefix string = ",\"prestart\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v171, v172 := range in.Prestart { + if v171 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v172) + } + out.RawByte(']') + } + } + if len(in.Poststart) != 0 { + const prefix string = ",\"poststart\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v173, v174 := range in.Poststart { + if v173 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v174) + } + out.RawByte(']') + } + } + if len(in.Poststop) != 0 { + const prefix string = ",\"poststop\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v175, v176 := range in.Poststop { + if v175 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo(out, v176) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(in *jlexer.Lexer, out *specs_go.Mount) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "destination": + out.Destination = string(in.String()) + case "type": + out.Type = string(in.String()) + case "source": + out.Source = string(in.String()) + case "options": + if in.IsNull() { + in.Skip() + out.Options = nil + } else { + in.Delim('[') + if out.Options == nil { + if !in.IsDelim(']') { + out.Options = make([]string, 0, 4) + } else { + out.Options = []string{} + } + } else { + out.Options = (out.Options)[:0] + } + for !in.IsDelim(']') { + var v177 string + v177 = string(in.String()) + out.Options = append(out.Options, v177) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo4(out *jwriter.Writer, in specs_go.Mount) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"destination\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Destination)) + } + if in.Type != "" { + const prefix string = ",\"type\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Type)) + } + if in.Source != "" { + const prefix string = ",\"source\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Source)) + } + if len(in.Options) != 0 { + const prefix string = ",\"options\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v178, v179 := range in.Options { + if v178 > 0 { + out.RawByte(',') + } + out.String(string(v179)) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(in *jlexer.Lexer, out *specs_go.Root) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "path": + out.Path = string(in.String()) + case "readonly": + out.Readonly = bool(in.Bool()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo3(out *jwriter.Writer, in specs_go.Root) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"path\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Path)) + } + if in.Readonly { + const prefix string = ",\"readonly\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Readonly)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(in *jlexer.Lexer, out *specs_go.Process) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "terminal": + out.Terminal = bool(in.Bool()) + case "consoleSize": + if in.IsNull() { + in.Skip() + out.ConsoleSize = nil + } else { + if out.ConsoleSize == nil { + out.ConsoleSize = new(specs_go.Box) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(in, &*out.ConsoleSize) + } + case "user": + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(in, &out.User) + case "args": + if in.IsNull() { + in.Skip() + out.Args = nil + } else { + in.Delim('[') + if out.Args == nil { + if !in.IsDelim(']') { + out.Args = make([]string, 0, 4) + } else { + out.Args = []string{} + } + } else { + out.Args = (out.Args)[:0] + } + for !in.IsDelim(']') { + var v180 string + v180 = string(in.String()) + out.Args = append(out.Args, v180) + in.WantComma() + } + in.Delim(']') + } + case "env": + if in.IsNull() { + in.Skip() + out.Env = nil + } else { + in.Delim('[') + if out.Env == nil { + if !in.IsDelim(']') { + out.Env = make([]string, 0, 4) + } else { + out.Env = []string{} + } + } else { + out.Env = (out.Env)[:0] + } + for !in.IsDelim(']') { + var v181 string + v181 = string(in.String()) + out.Env = append(out.Env, v181) + in.WantComma() + } + in.Delim(']') + } + case "cwd": + out.Cwd = string(in.String()) + case "capabilities": + if in.IsNull() { + in.Skip() + out.Capabilities = nil + } else { + if out.Capabilities == nil { + out.Capabilities = new(specs_go.LinuxCapabilities) + } + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(in, &*out.Capabilities) + } + case "rlimits": + if in.IsNull() { + in.Skip() + out.Rlimits = nil + } else { + in.Delim('[') + if out.Rlimits == nil { + if !in.IsDelim(']') { + out.Rlimits = make([]specs_go.POSIXRlimit, 0, 2) + } else { + out.Rlimits = []specs_go.POSIXRlimit{} + } + } else { + out.Rlimits = (out.Rlimits)[:0] + } + for !in.IsDelim(']') { + var v182 specs_go.POSIXRlimit + easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(in, &v182) + out.Rlimits = append(out.Rlimits, v182) + in.WantComma() + } + in.Delim(']') + } + case "noNewPrivileges": + out.NoNewPrivileges = bool(in.Bool()) + case "apparmorProfile": + out.ApparmorProfile = string(in.String()) + case "oomScoreAdj": + if in.IsNull() { + in.Skip() + out.OOMScoreAdj = nil + } else { + if out.OOMScoreAdj == nil { + out.OOMScoreAdj = new(int) + } + *out.OOMScoreAdj = int(in.Int()) + } + case "selinuxLabel": + out.SelinuxLabel = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo2(out *jwriter.Writer, in specs_go.Process) { + out.RawByte('{') + first := true + _ = first + if in.Terminal { + const prefix string = ",\"terminal\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Terminal)) + } + if in.ConsoleSize != nil { + const prefix string = ",\"consoleSize\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(out, *in.ConsoleSize) + } + { + const prefix string = ",\"user\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(out, in.User) + } + { + const prefix string = ",\"args\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Args == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v183, v184 := range in.Args { + if v183 > 0 { + out.RawByte(',') + } + out.String(string(v184)) + } + out.RawByte(']') + } + } + if len(in.Env) != 0 { + const prefix string = ",\"env\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v185, v186 := range in.Env { + if v185 > 0 { + out.RawByte(',') + } + out.String(string(v186)) + } + out.RawByte(']') + } + } + { + const prefix string = ",\"cwd\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Cwd)) + } + if in.Capabilities != nil { + const prefix string = ",\"capabilities\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(out, *in.Capabilities) + } + if len(in.Rlimits) != 0 { + const prefix string = ",\"rlimits\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v187, v188 := range in.Rlimits { + if v187 > 0 { + out.RawByte(',') + } + easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(out, v188) + } + out.RawByte(']') + } + } + if in.NoNewPrivileges { + const prefix string = ",\"noNewPrivileges\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.NoNewPrivileges)) + } + if in.ApparmorProfile != "" { + const prefix string = ",\"apparmorProfile\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ApparmorProfile)) + } + if in.OOMScoreAdj != nil { + const prefix string = ",\"oomScoreAdj\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(*in.OOMScoreAdj)) + } + if in.SelinuxLabel != "" { + const prefix string = ",\"selinuxLabel\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.SelinuxLabel)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(in *jlexer.Lexer, out *specs_go.POSIXRlimit) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "type": + out.Type = string(in.String()) + case "hard": + out.Hard = uint64(in.Uint64()) + case "soft": + out.Soft = uint64(in.Uint64()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo45(out *jwriter.Writer, in specs_go.POSIXRlimit) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"type\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Type)) + } + { + const prefix string = ",\"hard\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.Hard)) + } + { + const prefix string = ",\"soft\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint64(uint64(in.Soft)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(in *jlexer.Lexer, out *specs_go.LinuxCapabilities) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "bounding": + if in.IsNull() { + in.Skip() + out.Bounding = nil + } else { + in.Delim('[') + if out.Bounding == nil { + if !in.IsDelim(']') { + out.Bounding = make([]string, 0, 4) + } else { + out.Bounding = []string{} + } + } else { + out.Bounding = (out.Bounding)[:0] + } + for !in.IsDelim(']') { + var v189 string + v189 = string(in.String()) + out.Bounding = append(out.Bounding, v189) + in.WantComma() + } + in.Delim(']') + } + case "effective": + if in.IsNull() { + in.Skip() + out.Effective = nil + } else { + in.Delim('[') + if out.Effective == nil { + if !in.IsDelim(']') { + out.Effective = make([]string, 0, 4) + } else { + out.Effective = []string{} + } + } else { + out.Effective = (out.Effective)[:0] + } + for !in.IsDelim(']') { + var v190 string + v190 = string(in.String()) + out.Effective = append(out.Effective, v190) + in.WantComma() + } + in.Delim(']') + } + case "inheritable": + if in.IsNull() { + in.Skip() + out.Inheritable = nil + } else { + in.Delim('[') + if out.Inheritable == nil { + if !in.IsDelim(']') { + out.Inheritable = make([]string, 0, 4) + } else { + out.Inheritable = []string{} + } + } else { + out.Inheritable = (out.Inheritable)[:0] + } + for !in.IsDelim(']') { + var v191 string + v191 = string(in.String()) + out.Inheritable = append(out.Inheritable, v191) + in.WantComma() + } + in.Delim(']') + } + case "permitted": + if in.IsNull() { + in.Skip() + out.Permitted = nil + } else { + in.Delim('[') + if out.Permitted == nil { + if !in.IsDelim(']') { + out.Permitted = make([]string, 0, 4) + } else { + out.Permitted = []string{} + } + } else { + out.Permitted = (out.Permitted)[:0] + } + for !in.IsDelim(']') { + var v192 string + v192 = string(in.String()) + out.Permitted = append(out.Permitted, v192) + in.WantComma() + } + in.Delim(']') + } + case "ambient": + if in.IsNull() { + in.Skip() + out.Ambient = nil + } else { + in.Delim('[') + if out.Ambient == nil { + if !in.IsDelim(']') { + out.Ambient = make([]string, 0, 4) + } else { + out.Ambient = []string{} + } + } else { + out.Ambient = (out.Ambient)[:0] + } + for !in.IsDelim(']') { + var v193 string + v193 = string(in.String()) + out.Ambient = append(out.Ambient, v193) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo44(out *jwriter.Writer, in specs_go.LinuxCapabilities) { + out.RawByte('{') + first := true + _ = first + if len(in.Bounding) != 0 { + const prefix string = ",\"bounding\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v194, v195 := range in.Bounding { + if v194 > 0 { + out.RawByte(',') + } + out.String(string(v195)) + } + out.RawByte(']') + } + } + if len(in.Effective) != 0 { + const prefix string = ",\"effective\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v196, v197 := range in.Effective { + if v196 > 0 { + out.RawByte(',') + } + out.String(string(v197)) + } + out.RawByte(']') + } + } + if len(in.Inheritable) != 0 { + const prefix string = ",\"inheritable\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v198, v199 := range in.Inheritable { + if v198 > 0 { + out.RawByte(',') + } + out.String(string(v199)) + } + out.RawByte(']') + } + } + if len(in.Permitted) != 0 { + const prefix string = ",\"permitted\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v200, v201 := range in.Permitted { + if v200 > 0 { + out.RawByte(',') + } + out.String(string(v201)) + } + out.RawByte(']') + } + } + if len(in.Ambient) != 0 { + const prefix string = ",\"ambient\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v202, v203 := range in.Ambient { + if v202 > 0 { + out.RawByte(',') + } + out.String(string(v203)) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(in *jlexer.Lexer, out *specs_go.User) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "uid": + out.UID = uint32(in.Uint32()) + case "gid": + out.GID = uint32(in.Uint32()) + case "additionalGids": + if in.IsNull() { + in.Skip() + out.AdditionalGids = nil + } else { + in.Delim('[') + if out.AdditionalGids == nil { + if !in.IsDelim(']') { + out.AdditionalGids = make([]uint32, 0, 16) + } else { + out.AdditionalGids = []uint32{} + } + } else { + out.AdditionalGids = (out.AdditionalGids)[:0] + } + for !in.IsDelim(']') { + var v204 uint32 + v204 = uint32(in.Uint32()) + out.AdditionalGids = append(out.AdditionalGids, v204) + in.WantComma() + } + in.Delim(']') + } + case "username": + out.Username = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo43(out *jwriter.Writer, in specs_go.User) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"uid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.UID)) + } + { + const prefix string = ",\"gid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint32(uint32(in.GID)) + } + if len(in.AdditionalGids) != 0 { + const prefix string = ",\"additionalGids\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v205, v206 := range in.AdditionalGids { + if v205 > 0 { + out.RawByte(',') + } + out.Uint32(uint32(v206)) + } + out.RawByte(']') + } + } + if in.Username != "" { + const prefix string = ",\"username\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Username)) + } + out.RawByte('}') +} +func easyjson1dbef17bDecodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(in *jlexer.Lexer, out *specs_go.Box) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "height": + out.Height = uint(in.Uint()) + case "width": + out.Width = uint(in.Uint()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson1dbef17bEncodeGithubComContainersLibpodVendorGithubComOpencontainersRuntimeSpecSpecsGo42(out *jwriter.Writer, in specs_go.Box) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"height\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint(uint(in.Height)) + } + { + const prefix string = ",\"width\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Uint(uint(in.Width)) + } + out.RawByte('}') +} diff --git a/libpod/pod_easyjson.go b/libpod/pod_easyjson.go new file mode 100644 index 000000000..6c1c939f3 --- /dev/null +++ b/libpod/pod_easyjson.go @@ -0,0 +1,749 @@ +// +build seccomp ostree selinux varlink exclude_graphdriver_devicemapper + +// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT. + +package libpod + +import ( + json "encoding/json" + easyjson "github.com/mailru/easyjson" + jlexer "github.com/mailru/easyjson/jlexer" + jwriter "github.com/mailru/easyjson/jwriter" +) + +// suppress unused package warning +var ( + _ *json.RawMessage + _ *jlexer.Lexer + _ *jwriter.Writer + _ easyjson.Marshaler +) + +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod(in *jlexer.Lexer, out *podState) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "cgroupPath": + out.CgroupPath = string(in.String()) + case "InfraContainerID": + out.InfraContainerID = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod(out *jwriter.Writer, in podState) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"cgroupPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupPath)) + } + { + const prefix string = ",\"InfraContainerID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.InfraContainerID)) + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v podState) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjsonBe091417EncodeGithubComContainersLibpodLibpod(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v podState) MarshalEasyJSON(w *jwriter.Writer) { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *podState) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjsonBe091417DecodeGithubComContainersLibpodLibpod(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *podState) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjsonBe091417DecodeGithubComContainersLibpodLibpod(l, v) +} +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(in *jlexer.Lexer, out *PodInspectState) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "cgroupPath": + out.CgroupPath = string(in.String()) + case "infraContainerID": + out.InfraContainerID = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(out *jwriter.Writer, in PodInspectState) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"cgroupPath\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupPath)) + } + { + const prefix string = ",\"infraContainerID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.InfraContainerID)) + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v PodInspectState) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v PodInspectState) MarshalEasyJSON(w *jwriter.Writer) { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod1(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *PodInspectState) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *PodInspectState) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjsonBe091417DecodeGithubComContainersLibpodLibpod1(l, v) +} +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(in *jlexer.Lexer, out *PodInspect) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "Config": + if in.IsNull() { + in.Skip() + out.Config = nil + } else { + if out.Config == nil { + out.Config = new(PodConfig) + } + if data := in.Raw(); in.Ok() { + in.AddError((*out.Config).UnmarshalJSON(data)) + } + } + case "State": + if in.IsNull() { + in.Skip() + out.State = nil + } else { + if out.State == nil { + out.State = new(PodInspectState) + } + if data := in.Raw(); in.Ok() { + in.AddError((*out.State).UnmarshalJSON(data)) + } + } + case "Containers": + if in.IsNull() { + in.Skip() + out.Containers = nil + } else { + in.Delim('[') + if out.Containers == nil { + if !in.IsDelim(']') { + out.Containers = make([]PodContainerInfo, 0, 2) + } else { + out.Containers = []PodContainerInfo{} + } + } else { + out.Containers = (out.Containers)[:0] + } + for !in.IsDelim(']') { + var v1 PodContainerInfo + if data := in.Raw(); in.Ok() { + in.AddError((v1).UnmarshalJSON(data)) + } + out.Containers = append(out.Containers, v1) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(out *jwriter.Writer, in PodInspect) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"Config\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Config == nil { + out.RawString("null") + } else { + out.Raw((*in.Config).MarshalJSON()) + } + } + { + const prefix string = ",\"State\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.State == nil { + out.RawString("null") + } else { + out.Raw((*in.State).MarshalJSON()) + } + } + { + const prefix string = ",\"Containers\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Containers == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v2, v3 := range in.Containers { + if v2 > 0 { + out.RawByte(',') + } + out.Raw((v3).MarshalJSON()) + } + out.RawByte(']') + } + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v PodInspect) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v PodInspect) MarshalEasyJSON(w *jwriter.Writer) { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod2(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *PodInspect) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *PodInspect) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjsonBe091417DecodeGithubComContainersLibpodLibpod2(l, v) +} +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(in *jlexer.Lexer, out *PodContainerInfo) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "id": + out.ID = string(in.String()) + case "state": + out.State = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(out *jwriter.Writer, in PodContainerInfo) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ID)) + } + { + const prefix string = ",\"state\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.State)) + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v PodContainerInfo) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v PodContainerInfo) MarshalEasyJSON(w *jwriter.Writer) { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod3(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *PodContainerInfo) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *PodContainerInfo) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjsonBe091417DecodeGithubComContainersLibpodLibpod3(l, v) +} +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(in *jlexer.Lexer, out *PodConfig) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "id": + out.ID = string(in.String()) + case "name": + out.Name = string(in.String()) + case "namespace": + out.Namespace = string(in.String()) + case "labels": + if in.IsNull() { + in.Skip() + } else { + in.Delim('{') + if !in.IsDelim('}') { + out.Labels = make(map[string]string) + } else { + out.Labels = nil + } + for !in.IsDelim('}') { + key := string(in.String()) + in.WantColon() + var v4 string + v4 = string(in.String()) + (out.Labels)[key] = v4 + in.WantComma() + } + in.Delim('}') + } + case "cgroupParent": + out.CgroupParent = string(in.String()) + case "sharesCgroup": + out.UsePodCgroup = bool(in.Bool()) + case "sharesPid": + out.UsePodPID = bool(in.Bool()) + case "sharesIpc": + out.UsePodIPC = bool(in.Bool()) + case "sharesNet": + out.UsePodNet = bool(in.Bool()) + case "sharesMnt": + out.UsePodMount = bool(in.Bool()) + case "sharesUser": + out.UsePodUser = bool(in.Bool()) + case "sharesUts": + out.UsePodUTS = bool(in.Bool()) + case "infraConfig": + if in.IsNull() { + in.Skip() + out.InfraContainer = nil + } else { + if out.InfraContainer == nil { + out.InfraContainer = new(InfraContainerConfig) + } + easyjsonBe091417DecodeGithubComContainersLibpodLibpod5(in, &*out.InfraContainer) + } + case "created": + if data := in.Raw(); in.Ok() { + in.AddError((out.CreatedTime).UnmarshalJSON(data)) + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(out *jwriter.Writer, in PodConfig) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"id\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.ID)) + } + { + const prefix string = ",\"name\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Name)) + } + if in.Namespace != "" { + const prefix string = ",\"namespace\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Namespace)) + } + { + const prefix string = ",\"labels\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.Labels == nil && (out.Flags&jwriter.NilMapAsEmpty) == 0 { + out.RawString(`null`) + } else { + out.RawByte('{') + v5First := true + for v5Name, v5Value := range in.Labels { + if v5First { + v5First = false + } else { + out.RawByte(',') + } + out.String(string(v5Name)) + out.RawByte(':') + out.String(string(v5Value)) + } + out.RawByte('}') + } + } + { + const prefix string = ",\"cgroupParent\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CgroupParent)) + } + if in.UsePodCgroup { + const prefix string = ",\"sharesCgroup\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodCgroup)) + } + if in.UsePodPID { + const prefix string = ",\"sharesPid\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodPID)) + } + if in.UsePodIPC { + const prefix string = ",\"sharesIpc\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodIPC)) + } + if in.UsePodNet { + const prefix string = ",\"sharesNet\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodNet)) + } + if in.UsePodMount { + const prefix string = ",\"sharesMnt\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodMount)) + } + if in.UsePodUser { + const prefix string = ",\"sharesUser\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodUser)) + } + if in.UsePodUTS { + const prefix string = ",\"sharesUts\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.UsePodUTS)) + } + { + const prefix string = ",\"infraConfig\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + if in.InfraContainer == nil { + out.RawString("null") + } else { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod5(out, *in.InfraContainer) + } + } + { + const prefix string = ",\"created\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Raw((in.CreatedTime).MarshalJSON()) + } + out.RawByte('}') +} + +// MarshalJSON supports json.Marshaler interface +func (v PodConfig) MarshalJSON() ([]byte, error) { + w := jwriter.Writer{} + easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(&w, v) + return w.Buffer.BuildBytes(), w.Error +} + +// MarshalEasyJSON supports easyjson.Marshaler interface +func (v PodConfig) MarshalEasyJSON(w *jwriter.Writer) { + easyjsonBe091417EncodeGithubComContainersLibpodLibpod4(w, v) +} + +// UnmarshalJSON supports json.Unmarshaler interface +func (v *PodConfig) UnmarshalJSON(data []byte) error { + r := jlexer.Lexer{Data: data} + easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(&r, v) + return r.Error() +} + +// UnmarshalEasyJSON supports easyjson.Unmarshaler interface +func (v *PodConfig) UnmarshalEasyJSON(l *jlexer.Lexer) { + easyjsonBe091417DecodeGithubComContainersLibpodLibpod4(l, v) +} +func easyjsonBe091417DecodeGithubComContainersLibpodLibpod5(in *jlexer.Lexer, out *InfraContainerConfig) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeString() + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "makeInfraContainer": + out.HasInfraContainer = bool(in.Bool()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjsonBe091417EncodeGithubComContainersLibpodLibpod5(out *jwriter.Writer, in InfraContainerConfig) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"makeInfraContainer\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.HasInfraContainer)) + } + out.RawByte('}') +} diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index 887ef8e95..e9a5dc9dc 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -2,6 +2,7 @@ package createconfig import ( "encoding/json" + "net" "os" "strconv" "strings" @@ -311,9 +312,6 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib var pod *libpod.Pod var err error - // Uncomment after talking to mheon about unimplemented funcs - // options = append(options, libpod.WithLabels(c.labels)) - if c.Interactive { options = append(options, libpod.WithStdin()) } @@ -442,6 +440,15 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib if logPath != "" { options = append(options, libpod.WithLogPath(logPath)) } + if c.IPAddress != "" { + ip := net.ParseIP(c.IPAddress) + if ip == nil { + return nil, errors.Wrapf(libpod.ErrInvalidArg, "cannot parse %s as IP address", c.IPAddress) + } else if ip.To4() == nil { + return nil, errors.Wrapf(libpod.ErrInvalidArg, "%s is not an IPv4 address", c.IPAddress) + } + options = append(options, libpod.WithStaticIP(ip)) + } options = append(options, libpod.WithPrivileged(c.Privileged)) -- cgit v1.2.3-54-g00ecf From 112e1402c9e2ee29a387cd84a973471c1888e4b9 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Wed, 10 Oct 2018 15:06:08 -0400 Subject: Fix gofmt Signed-off-by: Matthew Heon --- libpod/options.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libpod') diff --git a/libpod/options.go b/libpod/options.go index 6a8529b8b..9f966cead 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -835,7 +835,7 @@ func WithNetNS(portMappings []ocicni.PortMapping, postConfigureNetNS bool, netwo // specified. func WithStaticIP(ip net.IP) CtrCreateOption { return func(ctr *Container) error { - if ctr.valid { + if ctr.valid { return ErrCtrFinalized } -- cgit v1.2.3-54-g00ecf