summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/kubernetes/pkg/kubelet
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/k8s.io/kubernetes/pkg/kubelet')
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go (renamed from vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.pb.go)3770
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto (renamed from vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.proto)208
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/constants.go55
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/container/container_gc.go5
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/container/container_reference_manager.go4
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/container/helpers.go24
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/container/ref.go8
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/container/runtime.go36
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/events/event.go104
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go33
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/types/doc.go (renamed from vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/constants.go)15
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/types/labels.go41
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/types/pod_update.go175
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go100
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/util/format/pod.go4
-rw-r--r--vendor/k8s.io/kubernetes/pkg/kubelet/util/format/resources.go2
16 files changed, 3724 insertions, 860 deletions
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.pb.go b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go
index 8377cd33b..653c72603 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.pb.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go
@@ -1,5 +1,5 @@
/*
-Copyright 2017 The Kubernetes Authors.
+Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ limitations under the License.
// DO NOT EDIT!
/*
- Package runtime is a generated protocol buffer package.
+ Package v1alpha2 is a generated protocol buffer package.
It is generated from these files:
api.proto
@@ -60,6 +60,8 @@ limitations under the License.
Capability
LinuxContainerSecurityContext
LinuxContainerConfig
+ WindowsContainerConfig
+ WindowsContainerResources
ContainerMetadata
Device
ContainerConfig
@@ -79,6 +81,8 @@ limitations under the License.
ContainerStatusRequest
ContainerStatus
ContainerStatusResponse
+ UpdateContainerResourcesRequest
+ UpdateContainerResourcesResponse
ExecSyncRequest
ExecSyncResponse
ExecRequest
@@ -108,7 +112,7 @@ limitations under the License.
StatusResponse
ImageFsInfoRequest
UInt64Value
- StorageIdentifier
+ FilesystemIdentifier
FilesystemUsage
ImageFsInfoResponse
ContainerStatsRequest
@@ -120,8 +124,10 @@ limitations under the License.
ContainerStats
CpuUsage
MemoryUsage
+ ReopenContainerLogRequest
+ ReopenContainerLogResponse
*/
-package runtime
+package v1alpha2
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
@@ -171,6 +177,70 @@ func (x Protocol) String() string {
}
func (Protocol) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{0} }
+type MountPropagation int32
+
+const (
+ // No mount propagation ("private" in Linux terminology).
+ MountPropagation_PROPAGATION_PRIVATE MountPropagation = 0
+ // Mounts get propagated from the host to the container ("rslave" in Linux).
+ MountPropagation_PROPAGATION_HOST_TO_CONTAINER MountPropagation = 1
+ // Mounts get propagated from the host to the container and from the
+ // container to the host ("rshared" in Linux).
+ MountPropagation_PROPAGATION_BIDIRECTIONAL MountPropagation = 2
+)
+
+var MountPropagation_name = map[int32]string{
+ 0: "PROPAGATION_PRIVATE",
+ 1: "PROPAGATION_HOST_TO_CONTAINER",
+ 2: "PROPAGATION_BIDIRECTIONAL",
+}
+var MountPropagation_value = map[string]int32{
+ "PROPAGATION_PRIVATE": 0,
+ "PROPAGATION_HOST_TO_CONTAINER": 1,
+ "PROPAGATION_BIDIRECTIONAL": 2,
+}
+
+func (x MountPropagation) String() string {
+ return proto.EnumName(MountPropagation_name, int32(x))
+}
+func (MountPropagation) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{1} }
+
+// A NamespaceMode describes the intended namespace configuration for each
+// of the namespaces (Network, PID, IPC) in NamespaceOption. Runtimes should
+// map these modes as appropriate for the technology underlying the runtime.
+type NamespaceMode int32
+
+const (
+ // A POD namespace is common to all containers in a pod.
+ // For example, a container with a PID namespace of POD expects to view
+ // all of the processes in all of the containers in the pod.
+ NamespaceMode_POD NamespaceMode = 0
+ // A CONTAINER namespace is restricted to a single container.
+ // For example, a container with a PID namespace of CONTAINER expects to
+ // view only the processes in that container.
+ NamespaceMode_CONTAINER NamespaceMode = 1
+ // A NODE namespace is the namespace of the Kubernetes node.
+ // For example, a container with a PID namespace of NODE expects to view
+ // all of the processes on the host running the kubelet.
+ NamespaceMode_NODE NamespaceMode = 2
+)
+
+var NamespaceMode_name = map[int32]string{
+ 0: "POD",
+ 1: "CONTAINER",
+ 2: "NODE",
+}
+var NamespaceMode_value = map[string]int32{
+ "POD": 0,
+ "CONTAINER": 1,
+ "NODE": 2,
+}
+
+func (x NamespaceMode) String() string {
+ return proto.EnumName(NamespaceMode_name, int32(x))
+}
+func (NamespaceMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{2} }
+
type PodSandboxState int32
const (
@@ -190,7 +260,7 @@ var PodSandboxState_value = map[string]int32{
func (x PodSandboxState) String() string {
return proto.EnumName(PodSandboxState_name, int32(x))
}
-func (PodSandboxState) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{1} }
+func (PodSandboxState) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{3} }
type ContainerState int32
@@ -217,7 +287,7 @@ var ContainerState_value = map[string]int32{
func (x ContainerState) String() string {
return proto.EnumName(ContainerState_name, int32(x))
}
-func (ContainerState) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{2} }
+func (ContainerState) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{4} }
type VersionRequest struct {
// Version of the kubelet runtime API.
@@ -319,7 +389,7 @@ func (m *DNSConfig) GetOptions() []string {
// PortMapping specifies the port mapping configurations of a sandbox.
type PortMapping struct {
// Protocol of the port mapping.
- Protocol Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=runtime.Protocol" json:"protocol,omitempty"`
+ Protocol Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=runtime.v1alpha2.Protocol" json:"protocol,omitempty"`
// Port number within the container. Default: 0 (not specified).
ContainerPort int32 `protobuf:"varint,2,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"`
// Port number on the host. Default: 0 (not specified).
@@ -370,6 +440,8 @@ type Mount struct {
Readonly bool `protobuf:"varint,3,opt,name=readonly,proto3" json:"readonly,omitempty"`
// If set, the mount needs SELinux relabeling.
SelinuxRelabel bool `protobuf:"varint,4,opt,name=selinux_relabel,json=selinuxRelabel,proto3" json:"selinux_relabel,omitempty"`
+ // Requested propagation mode.
+ Propagation MountPropagation `protobuf:"varint,5,opt,name=propagation,proto3,enum=runtime.v1alpha2.MountPropagation" json:"propagation,omitempty"`
}
func (m *Mount) Reset() { *m = Mount{} }
@@ -404,39 +476,53 @@ func (m *Mount) GetSelinuxRelabel() bool {
return false
}
+func (m *Mount) GetPropagation() MountPropagation {
+ if m != nil {
+ return m.Propagation
+ }
+ return MountPropagation_PROPAGATION_PRIVATE
+}
+
// NamespaceOption provides options for Linux namespaces.
type NamespaceOption struct {
- // If set, use the host's network namespace.
- HostNetwork bool `protobuf:"varint,1,opt,name=host_network,json=hostNetwork,proto3" json:"host_network,omitempty"`
- // If set, use the host's PID namespace.
- HostPid bool `protobuf:"varint,2,opt,name=host_pid,json=hostPid,proto3" json:"host_pid,omitempty"`
- // If set, use the host's IPC namespace.
- HostIpc bool `protobuf:"varint,3,opt,name=host_ipc,json=hostIpc,proto3" json:"host_ipc,omitempty"`
+ // Network namespace for this container/sandbox.
+ // Note: There is currently no way to set CONTAINER scoped network in the Kubernetes API.
+ // Namespaces currently set by the kubelet: POD, NODE
+ Network NamespaceMode `protobuf:"varint,1,opt,name=network,proto3,enum=runtime.v1alpha2.NamespaceMode" json:"network,omitempty"`
+ // PID namespace for this container/sandbox.
+ // Note: The CRI default is POD, but the v1.PodSpec default is CONTAINER.
+ // The kubelet's runtime manager will set this to CONTAINER explicitly for v1 pods.
+ // Namespaces currently set by the kubelet: POD, CONTAINER, NODE
+ Pid NamespaceMode `protobuf:"varint,2,opt,name=pid,proto3,enum=runtime.v1alpha2.NamespaceMode" json:"pid,omitempty"`
+ // IPC namespace for this container/sandbox.
+ // Note: There is currently no way to set CONTAINER scoped IPC in the Kubernetes API.
+ // Namespaces currently set by the kubelet: POD, NODE
+ Ipc NamespaceMode `protobuf:"varint,3,opt,name=ipc,proto3,enum=runtime.v1alpha2.NamespaceMode" json:"ipc,omitempty"`
}
func (m *NamespaceOption) Reset() { *m = NamespaceOption{} }
func (*NamespaceOption) ProtoMessage() {}
func (*NamespaceOption) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{5} }
-func (m *NamespaceOption) GetHostNetwork() bool {
+func (m *NamespaceOption) GetNetwork() NamespaceMode {
if m != nil {
- return m.HostNetwork
+ return m.Network
}
- return false
+ return NamespaceMode_POD
}
-func (m *NamespaceOption) GetHostPid() bool {
+func (m *NamespaceOption) GetPid() NamespaceMode {
if m != nil {
- return m.HostPid
+ return m.Pid
}
- return false
+ return NamespaceMode_POD
}
-func (m *NamespaceOption) GetHostIpc() bool {
+func (m *NamespaceOption) GetIpc() NamespaceMode {
if m != nil {
- return m.HostIpc
+ return m.Ipc
}
- return false
+ return NamespaceMode_POD
}
// Int64Value is the wrapper of int64.
@@ -480,6 +566,13 @@ type LinuxSandboxSecurityContext struct {
// This allows a sandbox to take additional security precautions if no
// privileged containers are expected to be run.
Privileged bool `protobuf:"varint,6,opt,name=privileged,proto3" json:"privileged,omitempty"`
+ // Seccomp profile for the sandbox, candidate values are:
+ // * docker/default: the default profile for the docker container runtime
+ // * unconfined: unconfined profile, ie, no seccomp sandboxing
+ // * localhost/<full-path-to-profile>: the profile installed on the node.
+ // <full-path-to-profile> is the full path of the profile.
+ // Default: "", which is identical with unconfined.
+ SeccompProfilePath string `protobuf:"bytes,7,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"`
}
func (m *LinuxSandboxSecurityContext) Reset() { *m = LinuxSandboxSecurityContext{} }
@@ -528,6 +621,13 @@ func (m *LinuxSandboxSecurityContext) GetPrivileged() bool {
return false
}
+func (m *LinuxSandboxSecurityContext) GetSeccompProfilePath() string {
+ if m != nil {
+ return m.SeccompProfilePath
+ }
+ return ""
+}
+
// LinuxPodSandboxConfig holds platform-specific configurations for Linux
// host platforms and Linux-based containers.
type LinuxPodSandboxConfig struct {
@@ -655,32 +755,12 @@ type PodSandboxConfig struct {
//
// In general, in order to preserve a well-defined interface between the
// kubelet and the container runtime, annotations SHOULD NOT influence
- // runtime behaviour. For legacy reasons, there are some annotations which
- // currently explicitly break this rule, listed below; in future versions
- // of the interface these will be promoted to typed features.
+ // runtime behaviour.
//
// Annotations can also be useful for runtime authors to experiment with
// new features that are opaque to the Kubernetes APIs (both user-facing
// and the CRI). Whenever possible, however, runtime authors SHOULD
// consider proposing new typed fields for any new features instead.
- //
- // 1. Seccomp
- //
- // key: security.alpha.kubernetes.io/seccomp/pod
- // description: the seccomp profile for the containers of an entire pod.
- // value: see below.
- //
- // key: security.alpha.kubernetes.io/seccomp/container/<container name>
- // description: the seccomp profile for the container (overrides pod).
- // value: see below
- //
- // The value of seccomp is runtime agnostic:
- // * runtime/default: the default profile for the container runtime
- // * unconfined: unconfined profile, ie, no seccomp sandboxing
- // * localhost/<profile-name>: the profile installed to the node's
- // local seccomp profile root. Note that profile root is set in
- // kubelet, and it is not passed in CRI yet, see https://issues.k8s.io/36997.
- //
Annotations map[string]string `protobuf:"bytes,7,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Optional configurations specific to Linux hosts.
Linux *LinuxPodSandboxConfig `protobuf:"bytes,8,opt,name=linux" json:"linux,omitempty"`
@@ -827,6 +907,8 @@ func (*RemovePodSandboxResponse) Descriptor() ([]byte, []int) { return fileDescr
type PodSandboxStatusRequest struct {
// ID of the PodSandbox for which to retrieve status.
PodSandboxId string `protobuf:"bytes,1,opt,name=pod_sandbox_id,json=podSandboxId,proto3" json:"pod_sandbox_id,omitempty"`
+ // Verbose indicates whether to return extra information about the pod sandbox.
+ Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
}
func (m *PodSandboxStatusRequest) Reset() { *m = PodSandboxStatusRequest{} }
@@ -840,6 +922,13 @@ func (m *PodSandboxStatusRequest) GetPodSandboxId() string {
return ""
}
+func (m *PodSandboxStatusRequest) GetVerbose() bool {
+ if m != nil {
+ return m.Verbose
+ }
+ return false
+}
+
// PodSandboxNetworkStatus is the status of the network for a PodSandbox.
type PodSandboxNetworkStatus struct {
// IP address of the PodSandbox.
@@ -898,7 +987,7 @@ type PodSandboxStatus struct {
// Metadata of the sandbox.
Metadata *PodSandboxMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
// State of the sandbox.
- State PodSandboxState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.PodSandboxState" json:"state,omitempty"`
+ State PodSandboxState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.v1alpha2.PodSandboxState" json:"state,omitempty"`
// Creation timestamp of the sandbox in nanoseconds. Must be > 0.
CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// Network contains network status if network is handled by the runtime.
@@ -977,6 +1066,11 @@ func (m *PodSandboxStatus) GetAnnotations() map[string]string {
type PodSandboxStatusResponse struct {
// Status of the PodSandbox.
Status *PodSandboxStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
+ // Info is extra information of the PodSandbox. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. network namespace for linux container based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ Info map[string]string `protobuf:"bytes,2,rep,name=info" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (m *PodSandboxStatusResponse) Reset() { *m = PodSandboxStatusResponse{} }
@@ -990,10 +1084,17 @@ func (m *PodSandboxStatusResponse) GetStatus() *PodSandboxStatus {
return nil
}
+func (m *PodSandboxStatusResponse) GetInfo() map[string]string {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
// PodSandboxStateValue is the wrapper of PodSandboxState.
type PodSandboxStateValue struct {
// State of the sandbox.
- State PodSandboxState `protobuf:"varint,1,opt,name=state,proto3,enum=runtime.PodSandboxState" json:"state,omitempty"`
+ State PodSandboxState `protobuf:"varint,1,opt,name=state,proto3,enum=runtime.v1alpha2.PodSandboxState" json:"state,omitempty"`
}
func (m *PodSandboxStateValue) Reset() { *m = PodSandboxStateValue{} }
@@ -1068,7 +1169,7 @@ type PodSandbox struct {
// Metadata of the PodSandbox.
Metadata *PodSandboxMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
// State of the PodSandbox.
- State PodSandboxState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.PodSandboxState" json:"state,omitempty"`
+ State PodSandboxState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.v1alpha2.PodSandboxState" json:"state,omitempty"`
// Creation timestamps of the PodSandbox in nanoseconds. Must be > 0.
CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// Labels of the PodSandbox.
@@ -1198,6 +1299,10 @@ type LinuxContainerResources struct {
MemoryLimitInBytes int64 `protobuf:"varint,4,opt,name=memory_limit_in_bytes,json=memoryLimitInBytes,proto3" json:"memory_limit_in_bytes,omitempty"`
// OOMScoreAdj adjusts the oom-killer score. Default: 0 (not specified).
OomScoreAdj int64 `protobuf:"varint,5,opt,name=oom_score_adj,json=oomScoreAdj,proto3" json:"oom_score_adj,omitempty"`
+ // CpusetCpus constrains the allowed set of logical CPUs. Default: "" (not specified).
+ CpusetCpus string `protobuf:"bytes,6,opt,name=cpuset_cpus,json=cpusetCpus,proto3" json:"cpuset_cpus,omitempty"`
+ // CpusetMems constrains the allowed set of memory nodes. Default: "" (not specified).
+ CpusetMems string `protobuf:"bytes,7,opt,name=cpuset_mems,json=cpusetMems,proto3" json:"cpuset_mems,omitempty"`
}
func (m *LinuxContainerResources) Reset() { *m = LinuxContainerResources{} }
@@ -1239,6 +1344,20 @@ func (m *LinuxContainerResources) GetOomScoreAdj() int64 {
return 0
}
+func (m *LinuxContainerResources) GetCpusetCpus() string {
+ if m != nil {
+ return m.CpusetCpus
+ }
+ return ""
+}
+
+func (m *LinuxContainerResources) GetCpusetMems() string {
+ if m != nil {
+ return m.CpusetMems
+ }
+ return ""
+}
+
// SELinuxOption are the labels to be applied to the container.
type SELinuxOption struct {
User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
@@ -1346,10 +1465,21 @@ type LinuxContainerSecurityContext struct {
SupplementalGroups []int64 `protobuf:"varint,8,rep,packed,name=supplemental_groups,json=supplementalGroups" json:"supplemental_groups,omitempty"`
// AppArmor profile for the container, candidate values are:
// * runtime/default: equivalent to not specifying a profile.
+ // * unconfined: no profiles are loaded
// * localhost/<profile_name>: profile loaded on the node
// (localhost) by name. The possible profile names are detailed at
// http://wiki.apparmor.net/index.php/AppArmor_Core_Policy_Reference
ApparmorProfile string `protobuf:"bytes,9,opt,name=apparmor_profile,json=apparmorProfile,proto3" json:"apparmor_profile,omitempty"`
+ // Seccomp profile for the container, candidate values are:
+ // * docker/default: the default profile for the docker container runtime
+ // * unconfined: unconfined profile, ie, no seccomp sandboxing
+ // * localhost/<full-path-to-profile>: the profile installed on the node.
+ // <full-path-to-profile> is the full path of the profile.
+ // Default: "", which is identical with unconfined.
+ SeccompProfilePath string `protobuf:"bytes,10,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"`
+ // no_new_privs defines if the flag for no_new_privs should be set on the
+ // container.
+ NoNewPrivs bool `protobuf:"varint,11,opt,name=no_new_privs,json=noNewPrivs,proto3" json:"no_new_privs,omitempty"`
}
func (m *LinuxContainerSecurityContext) Reset() { *m = LinuxContainerSecurityContext{} }
@@ -1421,6 +1551,20 @@ func (m *LinuxContainerSecurityContext) GetApparmorProfile() string {
return ""
}
+func (m *LinuxContainerSecurityContext) GetSeccompProfilePath() string {
+ if m != nil {
+ return m.SeccompProfilePath
+ }
+ return ""
+}
+
+func (m *LinuxContainerSecurityContext) GetNoNewPrivs() bool {
+ if m != nil {
+ return m.NoNewPrivs
+ }
+ return false
+}
+
// LinuxContainerConfig contains platform-specific configuration for
// Linux-based containers.
type LinuxContainerConfig struct {
@@ -1448,6 +1592,69 @@ func (m *LinuxContainerConfig) GetSecurityContext() *LinuxContainerSecurityConte
return nil
}
+// WindowsContainerConfig contains platform-specific configuration for
+// Windows-based containers.
+type WindowsContainerConfig struct {
+ // Resources specification for the container.
+ Resources *WindowsContainerResources `protobuf:"bytes,1,opt,name=resources" json:"resources,omitempty"`
+}
+
+func (m *WindowsContainerConfig) Reset() { *m = WindowsContainerConfig{} }
+func (*WindowsContainerConfig) ProtoMessage() {}
+func (*WindowsContainerConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{35} }
+
+func (m *WindowsContainerConfig) GetResources() *WindowsContainerResources {
+ if m != nil {
+ return m.Resources
+ }
+ return nil
+}
+
+// WindowsContainerResources specifies Windows specific configuration for
+// resources.
+type WindowsContainerResources struct {
+ // CPU shares (relative weight vs. other containers). Default: 0 (not specified).
+ CpuShares int64 `protobuf:"varint,1,opt,name=cpu_shares,json=cpuShares,proto3" json:"cpu_shares,omitempty"`
+ // Number of CPUs available to the container. Default: 0 (not specified).
+ CpuCount int64 `protobuf:"varint,2,opt,name=cpu_count,json=cpuCount,proto3" json:"cpu_count,omitempty"`
+ // Specifies the portion of processor cycles that this container can use as a percentage times 100.
+ CpuMaximum int64 `protobuf:"varint,3,opt,name=cpu_maximum,json=cpuMaximum,proto3" json:"cpu_maximum,omitempty"`
+ // Memory limit in bytes. Default: 0 (not specified).
+ MemoryLimitInBytes int64 `protobuf:"varint,4,opt,name=memory_limit_in_bytes,json=memoryLimitInBytes,proto3" json:"memory_limit_in_bytes,omitempty"`
+}
+
+func (m *WindowsContainerResources) Reset() { *m = WindowsContainerResources{} }
+func (*WindowsContainerResources) ProtoMessage() {}
+func (*WindowsContainerResources) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{36} }
+
+func (m *WindowsContainerResources) GetCpuShares() int64 {
+ if m != nil {
+ return m.CpuShares
+ }
+ return 0
+}
+
+func (m *WindowsContainerResources) GetCpuCount() int64 {
+ if m != nil {
+ return m.CpuCount
+ }
+ return 0
+}
+
+func (m *WindowsContainerResources) GetCpuMaximum() int64 {
+ if m != nil {
+ return m.CpuMaximum
+ }
+ return 0
+}
+
+func (m *WindowsContainerResources) GetMemoryLimitInBytes() int64 {
+ if m != nil {
+ return m.MemoryLimitInBytes
+ }
+ return 0
+}
+
// ContainerMetadata holds all necessary information for building the container
// name. The container runtime is encouraged to expose the metadata in its user
// interface for better user experience. E.g., runtime can construct a unique
@@ -1462,7 +1669,7 @@ type ContainerMetadata struct {
func (m *ContainerMetadata) Reset() { *m = ContainerMetadata{} }
func (*ContainerMetadata) ProtoMessage() {}
-func (*ContainerMetadata) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{35} }
+func (*ContainerMetadata) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{37} }
func (m *ContainerMetadata) GetName() string {
if m != nil {
@@ -1493,7 +1700,7 @@ type Device struct {
func (m *Device) Reset() { *m = Device{} }
func (*Device) ProtoMessage() {}
-func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{36} }
+func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{38} }
func (m *Device) GetContainerPath() string {
if m != nil {
@@ -1576,11 +1783,13 @@ type ContainerConfig struct {
Tty bool `protobuf:"varint,14,opt,name=tty,proto3" json:"tty,omitempty"`
// Configuration specific to Linux containers.
Linux *LinuxContainerConfig `protobuf:"bytes,15,opt,name=linux" json:"linux,omitempty"`
+ // Configuration specific to Windows containers.
+ Windows *WindowsContainerConfig `protobuf:"bytes,16,opt,name=windows" json:"windows,omitempty"`
}
func (m *ContainerConfig) Reset() { *m = ContainerConfig{} }
func (*ContainerConfig) ProtoMessage() {}
-func (*ContainerConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{37} }
+func (*ContainerConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{39} }
func (m *ContainerConfig) GetMetadata() *ContainerMetadata {
if m != nil {
@@ -1687,6 +1896,13 @@ func (m *ContainerConfig) GetLinux() *LinuxContainerConfig {
return nil
}
+func (m *ContainerConfig) GetWindows() *WindowsContainerConfig {
+ if m != nil {
+ return m.Windows
+ }
+ return nil
+}
+
type CreateContainerRequest struct {
// ID of the PodSandbox in which the container should be created.
PodSandboxId string `protobuf:"bytes,1,opt,name=pod_sandbox_id,json=podSandboxId,proto3" json:"pod_sandbox_id,omitempty"`
@@ -1701,7 +1917,7 @@ type CreateContainerRequest struct {
func (m *CreateContainerRequest) Reset() { *m = CreateContainerRequest{} }
func (*CreateContainerRequest) ProtoMessage() {}
-func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{38} }
+func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{40} }
func (m *CreateContainerRequest) GetPodSandboxId() string {
if m != nil {
@@ -1731,7 +1947,7 @@ type CreateContainerResponse struct {
func (m *CreateContainerResponse) Reset() { *m = CreateContainerResponse{} }
func (*CreateContainerResponse) ProtoMessage() {}
-func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{39} }
+func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{41} }
func (m *CreateContainerResponse) GetContainerId() string {
if m != nil {
@@ -1747,7 +1963,7 @@ type StartContainerRequest struct {
func (m *StartContainerRequest) Reset() { *m = StartContainerRequest{} }
func (*StartContainerRequest) ProtoMessage() {}
-func (*StartContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{40} }
+func (*StartContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{42} }
func (m *StartContainerRequest) GetContainerId() string {
if m != nil {
@@ -1761,7 +1977,7 @@ type StartContainerResponse struct {
func (m *StartContainerResponse) Reset() { *m = StartContainerResponse{} }
func (*StartContainerResponse) ProtoMessage() {}
-func (*StartContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{41} }
+func (*StartContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{43} }
type StopContainerRequest struct {
// ID of the container to stop.
@@ -1773,7 +1989,7 @@ type StopContainerRequest struct {
func (m *StopContainerRequest) Reset() { *m = StopContainerRequest{} }
func (*StopContainerRequest) ProtoMessage() {}
-func (*StopContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{42} }
+func (*StopContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{44} }
func (m *StopContainerRequest) GetContainerId() string {
if m != nil {
@@ -1794,7 +2010,7 @@ type StopContainerResponse struct {
func (m *StopContainerResponse) Reset() { *m = StopContainerResponse{} }
func (*StopContainerResponse) ProtoMessage() {}
-func (*StopContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{43} }
+func (*StopContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{45} }
type RemoveContainerRequest struct {
// ID of the container to remove.
@@ -1803,7 +2019,7 @@ type RemoveContainerRequest struct {
func (m *RemoveContainerRequest) Reset() { *m = RemoveContainerRequest{} }
func (*RemoveContainerRequest) ProtoMessage() {}
-func (*RemoveContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{44} }
+func (*RemoveContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{46} }
func (m *RemoveContainerRequest) GetContainerId() string {
if m != nil {
@@ -1817,17 +2033,17 @@ type RemoveContainerResponse struct {
func (m *RemoveContainerResponse) Reset() { *m = RemoveContainerResponse{} }
func (*RemoveContainerResponse) ProtoMessage() {}
-func (*RemoveContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{45} }
+func (*RemoveContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{47} }
// ContainerStateValue is the wrapper of ContainerState.
type ContainerStateValue struct {
// State of the container.
- State ContainerState `protobuf:"varint,1,opt,name=state,proto3,enum=runtime.ContainerState" json:"state,omitempty"`
+ State ContainerState `protobuf:"varint,1,opt,name=state,proto3,enum=runtime.v1alpha2.ContainerState" json:"state,omitempty"`
}
func (m *ContainerStateValue) Reset() { *m = ContainerStateValue{} }
func (*ContainerStateValue) ProtoMessage() {}
-func (*ContainerStateValue) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{46} }
+func (*ContainerStateValue) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{48} }
func (m *ContainerStateValue) GetState() ContainerState {
if m != nil {
@@ -1853,7 +2069,7 @@ type ContainerFilter struct {
func (m *ContainerFilter) Reset() { *m = ContainerFilter{} }
func (*ContainerFilter) ProtoMessage() {}
-func (*ContainerFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{47} }
+func (*ContainerFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{49} }
func (m *ContainerFilter) GetId() string {
if m != nil {
@@ -1889,7 +2105,7 @@ type ListContainersRequest struct {
func (m *ListContainersRequest) Reset() { *m = ListContainersRequest{} }
func (*ListContainersRequest) ProtoMessage() {}
-func (*ListContainersRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{48} }
+func (*ListContainersRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{50} }
func (m *ListContainersRequest) GetFilter() *ContainerFilter {
if m != nil {
@@ -1914,7 +2130,7 @@ type Container struct {
// image ID.
ImageRef string `protobuf:"bytes,5,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"`
// State of the container.
- State ContainerState `protobuf:"varint,6,opt,name=state,proto3,enum=runtime.ContainerState" json:"state,omitempty"`
+ State ContainerState `protobuf:"varint,6,opt,name=state,proto3,enum=runtime.v1alpha2.ContainerState" json:"state,omitempty"`
// Creation time of the container in nanoseconds.
CreatedAt int64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// Key-value pairs that may be used to scope and select individual resources.
@@ -1928,7 +2144,7 @@ type Container struct {
func (m *Container) Reset() { *m = Container{} }
func (*Container) ProtoMessage() {}
-func (*Container) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{49} }
+func (*Container) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{51} }
func (m *Container) GetId() string {
if m != nil {
@@ -2000,7 +2216,7 @@ type ListContainersResponse struct {
func (m *ListContainersResponse) Reset() { *m = ListContainersResponse{} }
func (*ListContainersResponse) ProtoMessage() {}
-func (*ListContainersResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{50} }
+func (*ListContainersResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{52} }
func (m *ListContainersResponse) GetContainers() []*Container {
if m != nil {
@@ -2012,11 +2228,13 @@ func (m *ListContainersResponse) GetContainers() []*Container {
type ContainerStatusRequest struct {
// ID of the container for which to retrieve status.
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
+ // Verbose indicates whether to return extra information about the container.
+ Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
}
func (m *ContainerStatusRequest) Reset() { *m = ContainerStatusRequest{} }
func (*ContainerStatusRequest) ProtoMessage() {}
-func (*ContainerStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{51} }
+func (*ContainerStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{53} }
func (m *ContainerStatusRequest) GetContainerId() string {
if m != nil {
@@ -2025,6 +2243,13 @@ func (m *ContainerStatusRequest) GetContainerId() string {
return ""
}
+func (m *ContainerStatusRequest) GetVerbose() bool {
+ if m != nil {
+ return m.Verbose
+ }
+ return false
+}
+
// ContainerStatus represents the status of a container.
type ContainerStatus struct {
// ID of the container.
@@ -2032,7 +2257,7 @@ type ContainerStatus struct {
// Metadata of the container.
Metadata *ContainerMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
// Status of the container.
- State ContainerState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.ContainerState" json:"state,omitempty"`
+ State ContainerState `protobuf:"varint,3,opt,name=state,proto3,enum=runtime.v1alpha2.ContainerState" json:"state,omitempty"`
// Creation time of the container in nanoseconds.
CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// Start time of the container in nanoseconds. Default: 0 (not specified).
@@ -2066,7 +2291,7 @@ type ContainerStatus struct {
func (m *ContainerStatus) Reset() { *m = ContainerStatus{} }
func (*ContainerStatus) ProtoMessage() {}
-func (*ContainerStatus) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{52} }
+func (*ContainerStatus) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{54} }
func (m *ContainerStatus) GetId() string {
if m != nil {
@@ -2176,11 +2401,16 @@ func (m *ContainerStatus) GetLogPath() string {
type ContainerStatusResponse struct {
// Status of the container.
Status *ContainerStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
+ // Info is extra information of the Container. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. pid for linux container based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ Info map[string]string `protobuf:"bytes,2,rep,name=info" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (m *ContainerStatusResponse) Reset() { *m = ContainerStatusResponse{} }
func (*ContainerStatusResponse) ProtoMessage() {}
-func (*ContainerStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{53} }
+func (*ContainerStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{55} }
func (m *ContainerStatusResponse) GetStatus() *ContainerStatus {
if m != nil {
@@ -2189,6 +2419,49 @@ func (m *ContainerStatusResponse) GetStatus() *ContainerStatus {
return nil
}
+func (m *ContainerStatusResponse) GetInfo() map[string]string {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
+type UpdateContainerResourcesRequest struct {
+ // ID of the container to update.
+ ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
+ // Resource configuration specific to Linux containers.
+ Linux *LinuxContainerResources `protobuf:"bytes,2,opt,name=linux" json:"linux,omitempty"`
+}
+
+func (m *UpdateContainerResourcesRequest) Reset() { *m = UpdateContainerResourcesRequest{} }
+func (*UpdateContainerResourcesRequest) ProtoMessage() {}
+func (*UpdateContainerResourcesRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptorApi, []int{56}
+}
+
+func (m *UpdateContainerResourcesRequest) GetContainerId() string {
+ if m != nil {
+ return m.ContainerId
+ }
+ return ""
+}
+
+func (m *UpdateContainerResourcesRequest) GetLinux() *LinuxContainerResources {
+ if m != nil {
+ return m.Linux
+ }
+ return nil
+}
+
+type UpdateContainerResourcesResponse struct {
+}
+
+func (m *UpdateContainerResourcesResponse) Reset() { *m = UpdateContainerResourcesResponse{} }
+func (*UpdateContainerResourcesResponse) ProtoMessage() {}
+func (*UpdateContainerResourcesResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptorApi, []int{57}
+}
+
type ExecSyncRequest struct {
// ID of the container.
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
@@ -2200,7 +2473,7 @@ type ExecSyncRequest struct {
func (m *ExecSyncRequest) Reset() { *m = ExecSyncRequest{} }
func (*ExecSyncRequest) ProtoMessage() {}
-func (*ExecSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{54} }
+func (*ExecSyncRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{58} }
func (m *ExecSyncRequest) GetContainerId() string {
if m != nil {
@@ -2234,7 +2507,7 @@ type ExecSyncResponse struct {
func (m *ExecSyncResponse) Reset() { *m = ExecSyncResponse{} }
func (*ExecSyncResponse) ProtoMessage() {}
-func (*ExecSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{55} }
+func (*ExecSyncResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{59} }
func (m *ExecSyncResponse) GetStdout() []byte {
if m != nil {
@@ -2265,12 +2538,22 @@ type ExecRequest struct {
// Whether to exec the command in a TTY.
Tty bool `protobuf:"varint,3,opt,name=tty,proto3" json:"tty,omitempty"`
// Whether to stream stdin.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
Stdin bool `protobuf:"varint,4,opt,name=stdin,proto3" json:"stdin,omitempty"`
+ // Whether to stream stdout.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ Stdout bool `protobuf:"varint,5,opt,name=stdout,proto3" json:"stdout,omitempty"`
+ // Whether to stream stderr.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ // If `tty` is true, `stderr` MUST be false. Multiplexing is not supported
+ // in this case. The output of stdout and stderr will be combined to a
+ // single stream.
+ Stderr bool `protobuf:"varint,6,opt,name=stderr,proto3" json:"stderr,omitempty"`
}
func (m *ExecRequest) Reset() { *m = ExecRequest{} }
func (*ExecRequest) ProtoMessage() {}
-func (*ExecRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{56} }
+func (*ExecRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{60} }
func (m *ExecRequest) GetContainerId() string {
if m != nil {
@@ -2300,6 +2583,20 @@ func (m *ExecRequest) GetStdin() bool {
return false
}
+func (m *ExecRequest) GetStdout() bool {
+ if m != nil {
+ return m.Stdout
+ }
+ return false
+}
+
+func (m *ExecRequest) GetStderr() bool {
+ if m != nil {
+ return m.Stderr
+ }
+ return false
+}
+
type ExecResponse struct {
// Fully qualified URL of the exec streaming server.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
@@ -2307,7 +2604,7 @@ type ExecResponse struct {
func (m *ExecResponse) Reset() { *m = ExecResponse{} }
func (*ExecResponse) ProtoMessage() {}
-func (*ExecResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{57} }
+func (*ExecResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{61} }
func (m *ExecResponse) GetUrl() string {
if m != nil {
@@ -2320,15 +2617,25 @@ type AttachRequest struct {
// ID of the container to which to attach.
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
// Whether to stream stdin.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
Stdin bool `protobuf:"varint,2,opt,name=stdin,proto3" json:"stdin,omitempty"`
// Whether the process being attached is running in a TTY.
// This must match the TTY setting in the ContainerConfig.
Tty bool `protobuf:"varint,3,opt,name=tty,proto3" json:"tty,omitempty"`
+ // Whether to stream stdout.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ Stdout bool `protobuf:"varint,4,opt,name=stdout,proto3" json:"stdout,omitempty"`
+ // Whether to stream stderr.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ // If `tty` is true, `stderr` MUST be false. Multiplexing is not supported
+ // in this case. The output of stdout and stderr will be combined to a
+ // single stream.
+ Stderr bool `protobuf:"varint,5,opt,name=stderr,proto3" json:"stderr,omitempty"`
}
func (m *AttachRequest) Reset() { *m = AttachRequest{} }
func (*AttachRequest) ProtoMessage() {}
-func (*AttachRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{58} }
+func (*AttachRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{62} }
func (m *AttachRequest) GetContainerId() string {
if m != nil {
@@ -2351,6 +2658,20 @@ func (m *AttachRequest) GetTty() bool {
return false
}
+func (m *AttachRequest) GetStdout() bool {
+ if m != nil {
+ return m.Stdout
+ }
+ return false
+}
+
+func (m *AttachRequest) GetStderr() bool {
+ if m != nil {
+ return m.Stderr
+ }
+ return false
+}
+
type AttachResponse struct {
// Fully qualified URL of the attach streaming server.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
@@ -2358,7 +2679,7 @@ type AttachResponse struct {
func (m *AttachResponse) Reset() { *m = AttachResponse{} }
func (*AttachResponse) ProtoMessage() {}
-func (*AttachResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{59} }
+func (*AttachResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{63} }
func (m *AttachResponse) GetUrl() string {
if m != nil {
@@ -2376,7 +2697,7 @@ type PortForwardRequest struct {
func (m *PortForwardRequest) Reset() { *m = PortForwardRequest{} }
func (*PortForwardRequest) ProtoMessage() {}
-func (*PortForwardRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{60} }
+func (*PortForwardRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{64} }
func (m *PortForwardRequest) GetPodSandboxId() string {
if m != nil {
@@ -2399,7 +2720,7 @@ type PortForwardResponse struct {
func (m *PortForwardResponse) Reset() { *m = PortForwardResponse{} }
func (*PortForwardResponse) ProtoMessage() {}
-func (*PortForwardResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{61} }
+func (*PortForwardResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{65} }
func (m *PortForwardResponse) GetUrl() string {
if m != nil {
@@ -2415,7 +2736,7 @@ type ImageFilter struct {
func (m *ImageFilter) Reset() { *m = ImageFilter{} }
func (*ImageFilter) ProtoMessage() {}
-func (*ImageFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{62} }
+func (*ImageFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{66} }
func (m *ImageFilter) GetImage() *ImageSpec {
if m != nil {
@@ -2431,7 +2752,7 @@ type ListImagesRequest struct {
func (m *ListImagesRequest) Reset() { *m = ListImagesRequest{} }
func (*ListImagesRequest) ProtoMessage() {}
-func (*ListImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{63} }
+func (*ListImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{67} }
func (m *ListImagesRequest) GetFilter() *ImageFilter {
if m != nil {
@@ -2461,7 +2782,7 @@ type Image struct {
func (m *Image) Reset() { *m = Image{} }
func (*Image) ProtoMessage() {}
-func (*Image) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{64} }
+func (*Image) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{68} }
func (m *Image) GetId() string {
if m != nil {
@@ -2512,7 +2833,7 @@ type ListImagesResponse struct {
func (m *ListImagesResponse) Reset() { *m = ListImagesResponse{} }
func (*ListImagesResponse) ProtoMessage() {}
-func (*ListImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{65} }
+func (*ListImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{69} }
func (m *ListImagesResponse) GetImages() []*Image {
if m != nil {
@@ -2524,11 +2845,13 @@ func (m *ListImagesResponse) GetImages() []*Image {
type ImageStatusRequest struct {
// Spec of the image.
Image *ImageSpec `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
+ // Verbose indicates whether to return extra information about the image.
+ Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
}
func (m *ImageStatusRequest) Reset() { *m = ImageStatusRequest{} }
func (*ImageStatusRequest) ProtoMessage() {}
-func (*ImageStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{66} }
+func (*ImageStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{70} }
func (m *ImageStatusRequest) GetImage() *ImageSpec {
if m != nil {
@@ -2537,14 +2860,26 @@ func (m *ImageStatusRequest) GetImage() *ImageSpec {
return nil
}
+func (m *ImageStatusRequest) GetVerbose() bool {
+ if m != nil {
+ return m.Verbose
+ }
+ return false
+}
+
type ImageStatusResponse struct {
// Status of the image.
Image *Image `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
+ // Info is extra information of the Image. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful
+ // for debug, e.g. image config for oci image based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ Info map[string]string `protobuf:"bytes,2,rep,name=info" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (m *ImageStatusResponse) Reset() { *m = ImageStatusResponse{} }
func (*ImageStatusResponse) ProtoMessage() {}
-func (*ImageStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{67} }
+func (*ImageStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{71} }
func (m *ImageStatusResponse) GetImage() *Image {
if m != nil {
@@ -2553,6 +2888,13 @@ func (m *ImageStatusResponse) GetImage() *Image {
return nil
}
+func (m *ImageStatusResponse) GetInfo() map[string]string {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
// AuthConfig contains authorization information for connecting to a registry.
type AuthConfig struct {
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
@@ -2568,7 +2910,7 @@ type AuthConfig struct {
func (m *AuthConfig) Reset() { *m = AuthConfig{} }
func (*AuthConfig) ProtoMessage() {}
-func (*AuthConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{68} }
+func (*AuthConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{72} }
func (m *AuthConfig) GetUsername() string {
if m != nil {
@@ -2623,7 +2965,7 @@ type PullImageRequest struct {
func (m *PullImageRequest) Reset() { *m = PullImageRequest{} }
func (*PullImageRequest) ProtoMessage() {}
-func (*PullImageRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{69} }
+func (*PullImageRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{73} }
func (m *PullImageRequest) GetImage() *ImageSpec {
if m != nil {
@@ -2654,7 +2996,7 @@ type PullImageResponse struct {
func (m *PullImageResponse) Reset() { *m = PullImageResponse{} }
func (*PullImageResponse) ProtoMessage() {}
-func (*PullImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{70} }
+func (*PullImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{74} }
func (m *PullImageResponse) GetImageRef() string {
if m != nil {
@@ -2670,7 +3012,7 @@ type RemoveImageRequest struct {
func (m *RemoveImageRequest) Reset() { *m = RemoveImageRequest{} }
func (*RemoveImageRequest) ProtoMessage() {}
-func (*RemoveImageRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{71} }
+func (*RemoveImageRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{75} }
func (m *RemoveImageRequest) GetImage() *ImageSpec {
if m != nil {
@@ -2684,7 +3026,7 @@ type RemoveImageResponse struct {
func (m *RemoveImageResponse) Reset() { *m = RemoveImageResponse{} }
func (*RemoveImageResponse) ProtoMessage() {}
-func (*RemoveImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{72} }
+func (*RemoveImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{76} }
type NetworkConfig struct {
// CIDR to use for pod IP addresses.
@@ -2693,7 +3035,7 @@ type NetworkConfig struct {
func (m *NetworkConfig) Reset() { *m = NetworkConfig{} }
func (*NetworkConfig) ProtoMessage() {}
-func (*NetworkConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{73} }
+func (*NetworkConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{77} }
func (m *NetworkConfig) GetPodCidr() string {
if m != nil {
@@ -2708,7 +3050,7 @@ type RuntimeConfig struct {
func (m *RuntimeConfig) Reset() { *m = RuntimeConfig{} }
func (*RuntimeConfig) ProtoMessage() {}
-func (*RuntimeConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{74} }
+func (*RuntimeConfig) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{78} }
func (m *RuntimeConfig) GetNetworkConfig() *NetworkConfig {
if m != nil {
@@ -2723,7 +3065,7 @@ type UpdateRuntimeConfigRequest struct {
func (m *UpdateRuntimeConfigRequest) Reset() { *m = UpdateRuntimeConfigRequest{} }
func (*UpdateRuntimeConfigRequest) ProtoMessage() {}
-func (*UpdateRuntimeConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{75} }
+func (*UpdateRuntimeConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{79} }
func (m *UpdateRuntimeConfigRequest) GetRuntimeConfig() *RuntimeConfig {
if m != nil {
@@ -2737,7 +3079,7 @@ type UpdateRuntimeConfigResponse struct {
func (m *UpdateRuntimeConfigResponse) Reset() { *m = UpdateRuntimeConfigResponse{} }
func (*UpdateRuntimeConfigResponse) ProtoMessage() {}
-func (*UpdateRuntimeConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{76} }
+func (*UpdateRuntimeConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{80} }
// RuntimeCondition contains condition information for the runtime.
// There are 2 kinds of runtime conditions:
@@ -2765,7 +3107,7 @@ type RuntimeCondition struct {
func (m *RuntimeCondition) Reset() { *m = RuntimeCondition{} }
func (*RuntimeCondition) ProtoMessage() {}
-func (*RuntimeCondition) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{77} }
+func (*RuntimeCondition) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{81} }
func (m *RuntimeCondition) GetType() string {
if m != nil {
@@ -2803,7 +3145,7 @@ type RuntimeStatus struct {
func (m *RuntimeStatus) Reset() { *m = RuntimeStatus{} }
func (*RuntimeStatus) ProtoMessage() {}
-func (*RuntimeStatus) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{78} }
+func (*RuntimeStatus) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{82} }
func (m *RuntimeStatus) GetConditions() []*RuntimeCondition {
if m != nil {
@@ -2813,20 +3155,34 @@ func (m *RuntimeStatus) GetConditions() []*RuntimeCondition {
}
type StatusRequest struct {
+ // Verbose indicates whether to return extra information about the runtime.
+ Verbose bool `protobuf:"varint,1,opt,name=verbose,proto3" json:"verbose,omitempty"`
}
func (m *StatusRequest) Reset() { *m = StatusRequest{} }
func (*StatusRequest) ProtoMessage() {}
-func (*StatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{79} }
+func (*StatusRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{83} }
+
+func (m *StatusRequest) GetVerbose() bool {
+ if m != nil {
+ return m.Verbose
+ }
+ return false
+}
type StatusResponse struct {
// Status of the Runtime.
Status *RuntimeStatus `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"`
+ // Info is extra information of the Runtime. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. plugins used by the container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ Info map[string]string `protobuf:"bytes,2,rep,name=info" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (m *StatusResponse) Reset() { *m = StatusResponse{} }
func (*StatusResponse) ProtoMessage() {}
-func (*StatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{80} }
+func (*StatusResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{84} }
func (m *StatusResponse) GetStatus() *RuntimeStatus {
if m != nil {
@@ -2835,12 +3191,19 @@ func (m *StatusResponse) GetStatus() *RuntimeStatus {
return nil
}
+func (m *StatusResponse) GetInfo() map[string]string {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
type ImageFsInfoRequest struct {
}
func (m *ImageFsInfoRequest) Reset() { *m = ImageFsInfoRequest{} }
func (*ImageFsInfoRequest) ProtoMessage() {}
-func (*ImageFsInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{81} }
+func (*ImageFsInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{85} }
// UInt64Value is the wrapper of uint64.
type UInt64Value struct {
@@ -2850,7 +3213,7 @@ type UInt64Value struct {
func (m *UInt64Value) Reset() { *m = UInt64Value{} }
func (*UInt64Value) ProtoMessage() {}
-func (*UInt64Value) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{82} }
+func (*UInt64Value) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{86} }
func (m *UInt64Value) GetValue() uint64 {
if m != nil {
@@ -2859,19 +3222,19 @@ func (m *UInt64Value) GetValue() uint64 {
return 0
}
-// StorageIdentifier uniquely identify the storage..
-type StorageIdentifier struct {
- // UUID of the device.
- Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
+// FilesystemIdentifier uniquely identify the filesystem.
+type FilesystemIdentifier struct {
+ // Mountpoint of a filesystem.
+ Mountpoint string `protobuf:"bytes,1,opt,name=mountpoint,proto3" json:"mountpoint,omitempty"`
}
-func (m *StorageIdentifier) Reset() { *m = StorageIdentifier{} }
-func (*StorageIdentifier) ProtoMessage() {}
-func (*StorageIdentifier) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{83} }
+func (m *FilesystemIdentifier) Reset() { *m = FilesystemIdentifier{} }
+func (*FilesystemIdentifier) ProtoMessage() {}
+func (*FilesystemIdentifier) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{87} }
-func (m *StorageIdentifier) GetUuid() string {
+func (m *FilesystemIdentifier) GetMountpoint() string {
if m != nil {
- return m.Uuid
+ return m.Mountpoint
}
return ""
}
@@ -2880,8 +3243,8 @@ func (m *StorageIdentifier) GetUuid() string {
type FilesystemUsage struct {
// Timestamp in nanoseconds at which the information were collected. Must be > 0.
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
- // The underlying storage of the filesystem.
- StorageId *StorageIdentifier `protobuf:"bytes,2,opt,name=storage_id,json=storageId" json:"storage_id,omitempty"`
+ // The unique identifier of the filesystem.
+ FsId *FilesystemIdentifier `protobuf:"bytes,2,opt,name=fs_id,json=fsId" json:"fs_id,omitempty"`
// UsedBytes represents the bytes used for images on the filesystem.
// This may differ from the total bytes used on the filesystem and may not
// equal CapacityBytes - AvailableBytes.
@@ -2894,7 +3257,7 @@ type FilesystemUsage struct {
func (m *FilesystemUsage) Reset() { *m = FilesystemUsage{} }
func (*FilesystemUsage) ProtoMessage() {}
-func (*FilesystemUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{84} }
+func (*FilesystemUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{88} }
func (m *FilesystemUsage) GetTimestamp() int64 {
if m != nil {
@@ -2903,9 +3266,9 @@ func (m *FilesystemUsage) GetTimestamp() int64 {
return 0
}
-func (m *FilesystemUsage) GetStorageId() *StorageIdentifier {
+func (m *FilesystemUsage) GetFsId() *FilesystemIdentifier {
if m != nil {
- return m.StorageId
+ return m.FsId
}
return nil
}
@@ -2931,7 +3294,7 @@ type ImageFsInfoResponse struct {
func (m *ImageFsInfoResponse) Reset() { *m = ImageFsInfoResponse{} }
func (*ImageFsInfoResponse) ProtoMessage() {}
-func (*ImageFsInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{85} }
+func (*ImageFsInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{89} }
func (m *ImageFsInfoResponse) GetImageFilesystems() []*FilesystemUsage {
if m != nil {
@@ -2947,7 +3310,7 @@ type ContainerStatsRequest struct {
func (m *ContainerStatsRequest) Reset() { *m = ContainerStatsRequest{} }
func (*ContainerStatsRequest) ProtoMessage() {}
-func (*ContainerStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{86} }
+func (*ContainerStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{90} }
func (m *ContainerStatsRequest) GetContainerId() string {
if m != nil {
@@ -2963,7 +3326,7 @@ type ContainerStatsResponse struct {
func (m *ContainerStatsResponse) Reset() { *m = ContainerStatsResponse{} }
func (*ContainerStatsResponse) ProtoMessage() {}
-func (*ContainerStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{87} }
+func (*ContainerStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{91} }
func (m *ContainerStatsResponse) GetStats() *ContainerStats {
if m != nil {
@@ -2979,7 +3342,7 @@ type ListContainerStatsRequest struct {
func (m *ListContainerStatsRequest) Reset() { *m = ListContainerStatsRequest{} }
func (*ListContainerStatsRequest) ProtoMessage() {}
-func (*ListContainerStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{88} }
+func (*ListContainerStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{92} }
func (m *ListContainerStatsRequest) GetFilter() *ContainerStatsFilter {
if m != nil {
@@ -3003,7 +3366,7 @@ type ContainerStatsFilter struct {
func (m *ContainerStatsFilter) Reset() { *m = ContainerStatsFilter{} }
func (*ContainerStatsFilter) ProtoMessage() {}
-func (*ContainerStatsFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{89} }
+func (*ContainerStatsFilter) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{93} }
func (m *ContainerStatsFilter) GetId() string {
if m != nil {
@@ -3033,7 +3396,7 @@ type ListContainerStatsResponse struct {
func (m *ListContainerStatsResponse) Reset() { *m = ListContainerStatsResponse{} }
func (*ListContainerStatsResponse) ProtoMessage() {}
-func (*ListContainerStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{90} }
+func (*ListContainerStatsResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{94} }
func (m *ListContainerStatsResponse) GetStats() []*ContainerStats {
if m != nil {
@@ -3059,7 +3422,7 @@ type ContainerAttributes struct {
func (m *ContainerAttributes) Reset() { *m = ContainerAttributes{} }
func (*ContainerAttributes) ProtoMessage() {}
-func (*ContainerAttributes) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{91} }
+func (*ContainerAttributes) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{95} }
func (m *ContainerAttributes) GetId() string {
if m != nil {
@@ -3103,7 +3466,7 @@ type ContainerStats struct {
func (m *ContainerStats) Reset() { *m = ContainerStats{} }
func (*ContainerStats) ProtoMessage() {}
-func (*ContainerStats) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{92} }
+func (*ContainerStats) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{96} }
func (m *ContainerStats) GetAttributes() *ContainerAttributes {
if m != nil {
@@ -3143,7 +3506,7 @@ type CpuUsage struct {
func (m *CpuUsage) Reset() { *m = CpuUsage{} }
func (*CpuUsage) ProtoMessage() {}
-func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{93} }
+func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{97} }
func (m *CpuUsage) GetTimestamp() int64 {
if m != nil {
@@ -3169,7 +3532,7 @@ type MemoryUsage struct {
func (m *MemoryUsage) Reset() { *m = MemoryUsage{} }
func (*MemoryUsage) ProtoMessage() {}
-func (*MemoryUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{94} }
+func (*MemoryUsage) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{98} }
func (m *MemoryUsage) GetTimestamp() int64 {
if m != nil {
@@ -3185,105 +3548,136 @@ func (m *MemoryUsage) GetWorkingSetBytes() *UInt64Value {
return nil
}
+type ReopenContainerLogRequest struct {
+ // ID of the container for which to reopen the log.
+ ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
+}
+
+func (m *ReopenContainerLogRequest) Reset() { *m = ReopenContainerLogRequest{} }
+func (*ReopenContainerLogRequest) ProtoMessage() {}
+func (*ReopenContainerLogRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{99} }
+
+func (m *ReopenContainerLogRequest) GetContainerId() string {
+ if m != nil {
+ return m.ContainerId
+ }
+ return ""
+}
+
+type ReopenContainerLogResponse struct {
+}
+
+func (m *ReopenContainerLogResponse) Reset() { *m = ReopenContainerLogResponse{} }
+func (*ReopenContainerLogResponse) ProtoMessage() {}
+func (*ReopenContainerLogResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{100} }
+
func init() {
- proto.RegisterType((*VersionRequest)(nil), "runtime.VersionRequest")
- proto.RegisterType((*VersionResponse)(nil), "runtime.VersionResponse")
- proto.RegisterType((*DNSConfig)(nil), "runtime.DNSConfig")
- proto.RegisterType((*PortMapping)(nil), "runtime.PortMapping")
- proto.RegisterType((*Mount)(nil), "runtime.Mount")
- proto.RegisterType((*NamespaceOption)(nil), "runtime.NamespaceOption")
- proto.RegisterType((*Int64Value)(nil), "runtime.Int64Value")
- proto.RegisterType((*LinuxSandboxSecurityContext)(nil), "runtime.LinuxSandboxSecurityContext")
- proto.RegisterType((*LinuxPodSandboxConfig)(nil), "runtime.LinuxPodSandboxConfig")
- proto.RegisterType((*PodSandboxMetadata)(nil), "runtime.PodSandboxMetadata")
- proto.RegisterType((*PodSandboxConfig)(nil), "runtime.PodSandboxConfig")
- proto.RegisterType((*RunPodSandboxRequest)(nil), "runtime.RunPodSandboxRequest")
- proto.RegisterType((*RunPodSandboxResponse)(nil), "runtime.RunPodSandboxResponse")
- proto.RegisterType((*StopPodSandboxRequest)(nil), "runtime.StopPodSandboxRequest")
- proto.RegisterType((*StopPodSandboxResponse)(nil), "runtime.StopPodSandboxResponse")
- proto.RegisterType((*RemovePodSandboxRequest)(nil), "runtime.RemovePodSandboxRequest")
- proto.RegisterType((*RemovePodSandboxResponse)(nil), "runtime.RemovePodSandboxResponse")
- proto.RegisterType((*PodSandboxStatusRequest)(nil), "runtime.PodSandboxStatusRequest")
- proto.RegisterType((*PodSandboxNetworkStatus)(nil), "runtime.PodSandboxNetworkStatus")
- proto.RegisterType((*Namespace)(nil), "runtime.Namespace")
- proto.RegisterType((*LinuxPodSandboxStatus)(nil), "runtime.LinuxPodSandboxStatus")
- proto.RegisterType((*PodSandboxStatus)(nil), "runtime.PodSandboxStatus")
- proto.RegisterType((*PodSandboxStatusResponse)(nil), "runtime.PodSandboxStatusResponse")
- proto.RegisterType((*PodSandboxStateValue)(nil), "runtime.PodSandboxStateValue")
- proto.RegisterType((*PodSandboxFilter)(nil), "runtime.PodSandboxFilter")
- proto.RegisterType((*ListPodSandboxRequest)(nil), "runtime.ListPodSandboxRequest")
- proto.RegisterType((*PodSandbox)(nil), "runtime.PodSandbox")
- proto.RegisterType((*ListPodSandboxResponse)(nil), "runtime.ListPodSandboxResponse")
- proto.RegisterType((*ImageSpec)(nil), "runtime.ImageSpec")
- proto.RegisterType((*KeyValue)(nil), "runtime.KeyValue")
- proto.RegisterType((*LinuxContainerResources)(nil), "runtime.LinuxContainerResources")
- proto.RegisterType((*SELinuxOption)(nil), "runtime.SELinuxOption")
- proto.RegisterType((*Capability)(nil), "runtime.Capability")
- proto.RegisterType((*LinuxContainerSecurityContext)(nil), "runtime.LinuxContainerSecurityContext")
- proto.RegisterType((*LinuxContainerConfig)(nil), "runtime.LinuxContainerConfig")
- proto.RegisterType((*ContainerMetadata)(nil), "runtime.ContainerMetadata")
- proto.RegisterType((*Device)(nil), "runtime.Device")
- proto.RegisterType((*ContainerConfig)(nil), "runtime.ContainerConfig")
- proto.RegisterType((*CreateContainerRequest)(nil), "runtime.CreateContainerRequest")
- proto.RegisterType((*CreateContainerResponse)(nil), "runtime.CreateContainerResponse")
- proto.RegisterType((*StartContainerRequest)(nil), "runtime.StartContainerRequest")
- proto.RegisterType((*StartContainerResponse)(nil), "runtime.StartContainerResponse")
- proto.RegisterType((*StopContainerRequest)(nil), "runtime.StopContainerRequest")
- proto.RegisterType((*StopContainerResponse)(nil), "runtime.StopContainerResponse")
- proto.RegisterType((*RemoveContainerRequest)(nil), "runtime.RemoveContainerRequest")
- proto.RegisterType((*RemoveContainerResponse)(nil), "runtime.RemoveContainerResponse")
- proto.RegisterType((*ContainerStateValue)(nil), "runtime.ContainerStateValue")
- proto.RegisterType((*ContainerFilter)(nil), "runtime.ContainerFilter")
- proto.RegisterType((*ListContainersRequest)(nil), "runtime.ListContainersRequest")
- proto.RegisterType((*Container)(nil), "runtime.Container")
- proto.RegisterType((*ListContainersResponse)(nil), "runtime.ListContainersResponse")
- proto.RegisterType((*ContainerStatusRequest)(nil), "runtime.ContainerStatusRequest")
- proto.RegisterType((*ContainerStatus)(nil), "runtime.ContainerStatus")
- proto.RegisterType((*ContainerStatusResponse)(nil), "runtime.ContainerStatusResponse")
- proto.RegisterType((*ExecSyncRequest)(nil), "runtime.ExecSyncRequest")
- proto.RegisterType((*ExecSyncResponse)(nil), "runtime.ExecSyncResponse")
- proto.RegisterType((*ExecRequest)(nil), "runtime.ExecRequest")
- proto.RegisterType((*ExecResponse)(nil), "runtime.ExecResponse")
- proto.RegisterType((*AttachRequest)(nil), "runtime.AttachRequest")
- proto.RegisterType((*AttachResponse)(nil), "runtime.AttachResponse")
- proto.RegisterType((*PortForwardRequest)(nil), "runtime.PortForwardRequest")
- proto.RegisterType((*PortForwardResponse)(nil), "runtime.PortForwardResponse")
- proto.RegisterType((*ImageFilter)(nil), "runtime.ImageFilter")
- proto.RegisterType((*ListImagesRequest)(nil), "runtime.ListImagesRequest")
- proto.RegisterType((*Image)(nil), "runtime.Image")
- proto.RegisterType((*ListImagesResponse)(nil), "runtime.ListImagesResponse")
- proto.RegisterType((*ImageStatusRequest)(nil), "runtime.ImageStatusRequest")
- proto.RegisterType((*ImageStatusResponse)(nil), "runtime.ImageStatusResponse")
- proto.RegisterType((*AuthConfig)(nil), "runtime.AuthConfig")
- proto.RegisterType((*PullImageRequest)(nil), "runtime.PullImageRequest")
- proto.RegisterType((*PullImageResponse)(nil), "runtime.PullImageResponse")
- proto.RegisterType((*RemoveImageRequest)(nil), "runtime.RemoveImageRequest")
- proto.RegisterType((*RemoveImageResponse)(nil), "runtime.RemoveImageResponse")
- proto.RegisterType((*NetworkConfig)(nil), "runtime.NetworkConfig")
- proto.RegisterType((*RuntimeConfig)(nil), "runtime.RuntimeConfig")
- proto.RegisterType((*UpdateRuntimeConfigRequest)(nil), "runtime.UpdateRuntimeConfigRequest")
- proto.RegisterType((*UpdateRuntimeConfigResponse)(nil), "runtime.UpdateRuntimeConfigResponse")
- proto.RegisterType((*RuntimeCondition)(nil), "runtime.RuntimeCondition")
- proto.RegisterType((*RuntimeStatus)(nil), "runtime.RuntimeStatus")
- proto.RegisterType((*StatusRequest)(nil), "runtime.StatusRequest")
- proto.RegisterType((*StatusResponse)(nil), "runtime.StatusResponse")
- proto.RegisterType((*ImageFsInfoRequest)(nil), "runtime.ImageFsInfoRequest")
- proto.RegisterType((*UInt64Value)(nil), "runtime.UInt64Value")
- proto.RegisterType((*StorageIdentifier)(nil), "runtime.StorageIdentifier")
- proto.RegisterType((*FilesystemUsage)(nil), "runtime.FilesystemUsage")
- proto.RegisterType((*ImageFsInfoResponse)(nil), "runtime.ImageFsInfoResponse")
- proto.RegisterType((*ContainerStatsRequest)(nil), "runtime.ContainerStatsRequest")
- proto.RegisterType((*ContainerStatsResponse)(nil), "runtime.ContainerStatsResponse")
- proto.RegisterType((*ListContainerStatsRequest)(nil), "runtime.ListContainerStatsRequest")
- proto.RegisterType((*ContainerStatsFilter)(nil), "runtime.ContainerStatsFilter")
- proto.RegisterType((*ListContainerStatsResponse)(nil), "runtime.ListContainerStatsResponse")
- proto.RegisterType((*ContainerAttributes)(nil), "runtime.ContainerAttributes")
- proto.RegisterType((*ContainerStats)(nil), "runtime.ContainerStats")
- proto.RegisterType((*CpuUsage)(nil), "runtime.CpuUsage")
- proto.RegisterType((*MemoryUsage)(nil), "runtime.MemoryUsage")
- proto.RegisterEnum("runtime.Protocol", Protocol_name, Protocol_value)
- proto.RegisterEnum("runtime.PodSandboxState", PodSandboxState_name, PodSandboxState_value)
- proto.RegisterEnum("runtime.ContainerState", ContainerState_name, ContainerState_value)
+ proto.RegisterType((*VersionRequest)(nil), "runtime.v1alpha2.VersionRequest")
+ proto.RegisterType((*VersionResponse)(nil), "runtime.v1alpha2.VersionResponse")
+ proto.RegisterType((*DNSConfig)(nil), "runtime.v1alpha2.DNSConfig")
+ proto.RegisterType((*PortMapping)(nil), "runtime.v1alpha2.PortMapping")
+ proto.RegisterType((*Mount)(nil), "runtime.v1alpha2.Mount")
+ proto.RegisterType((*NamespaceOption)(nil), "runtime.v1alpha2.NamespaceOption")
+ proto.RegisterType((*Int64Value)(nil), "runtime.v1alpha2.Int64Value")
+ proto.RegisterType((*LinuxSandboxSecurityContext)(nil), "runtime.v1alpha2.LinuxSandboxSecurityContext")
+ proto.RegisterType((*LinuxPodSandboxConfig)(nil), "runtime.v1alpha2.LinuxPodSandboxConfig")
+ proto.RegisterType((*PodSandboxMetadata)(nil), "runtime.v1alpha2.PodSandboxMetadata")
+ proto.RegisterType((*PodSandboxConfig)(nil), "runtime.v1alpha2.PodSandboxConfig")
+ proto.RegisterType((*RunPodSandboxRequest)(nil), "runtime.v1alpha2.RunPodSandboxRequest")
+ proto.RegisterType((*RunPodSandboxResponse)(nil), "runtime.v1alpha2.RunPodSandboxResponse")
+ proto.RegisterType((*StopPodSandboxRequest)(nil), "runtime.v1alpha2.StopPodSandboxRequest")
+ proto.RegisterType((*StopPodSandboxResponse)(nil), "runtime.v1alpha2.StopPodSandboxResponse")
+ proto.RegisterType((*RemovePodSandboxRequest)(nil), "runtime.v1alpha2.RemovePodSandboxRequest")
+ proto.RegisterType((*RemovePodSandboxResponse)(nil), "runtime.v1alpha2.RemovePodSandboxResponse")
+ proto.RegisterType((*PodSandboxStatusRequest)(nil), "runtime.v1alpha2.PodSandboxStatusRequest")
+ proto.RegisterType((*PodSandboxNetworkStatus)(nil), "runtime.v1alpha2.PodSandboxNetworkStatus")
+ proto.RegisterType((*Namespace)(nil), "runtime.v1alpha2.Namespace")
+ proto.RegisterType((*LinuxPodSandboxStatus)(nil), "runtime.v1alpha2.LinuxPodSandboxStatus")
+ proto.RegisterType((*PodSandboxStatus)(nil), "runtime.v1alpha2.PodSandboxStatus")
+ proto.RegisterType((*PodSandboxStatusResponse)(nil), "runtime.v1alpha2.PodSandboxStatusResponse")
+ proto.RegisterType((*PodSandboxStateValue)(nil), "runtime.v1alpha2.PodSandboxStateValue")
+ proto.RegisterType((*PodSandboxFilter)(nil), "runtime.v1alpha2.PodSandboxFilter")
+ proto.RegisterType((*ListPodSandboxRequest)(nil), "runtime.v1alpha2.ListPodSandboxRequest")
+ proto.RegisterType((*PodSandbox)(nil), "runtime.v1alpha2.PodSandbox")
+ proto.RegisterType((*ListPodSandboxResponse)(nil), "runtime.v1alpha2.ListPodSandboxResponse")
+ proto.RegisterType((*ImageSpec)(nil), "runtime.v1alpha2.ImageSpec")
+ proto.RegisterType((*KeyValue)(nil), "runtime.v1alpha2.KeyValue")
+ proto.RegisterType((*LinuxContainerResources)(nil), "runtime.v1alpha2.LinuxContainerResources")
+ proto.RegisterType((*SELinuxOption)(nil), "runtime.v1alpha2.SELinuxOption")
+ proto.RegisterType((*Capability)(nil), "runtime.v1alpha2.Capability")
+ proto.RegisterType((*LinuxContainerSecurityContext)(nil), "runtime.v1alpha2.LinuxContainerSecurityContext")
+ proto.RegisterType((*LinuxContainerConfig)(nil), "runtime.v1alpha2.LinuxContainerConfig")
+ proto.RegisterType((*WindowsContainerConfig)(nil), "runtime.v1alpha2.WindowsContainerConfig")
+ proto.RegisterType((*WindowsContainerResources)(nil), "runtime.v1alpha2.WindowsContainerResources")
+ proto.RegisterType((*ContainerMetadata)(nil), "runtime.v1alpha2.ContainerMetadata")
+ proto.RegisterType((*Device)(nil), "runtime.v1alpha2.Device")
+ proto.RegisterType((*ContainerConfig)(nil), "runtime.v1alpha2.ContainerConfig")
+ proto.RegisterType((*CreateContainerRequest)(nil), "runtime.v1alpha2.CreateContainerRequest")
+ proto.RegisterType((*CreateContainerResponse)(nil), "runtime.v1alpha2.CreateContainerResponse")
+ proto.RegisterType((*StartContainerRequest)(nil), "runtime.v1alpha2.StartContainerRequest")
+ proto.RegisterType((*StartContainerResponse)(nil), "runtime.v1alpha2.StartContainerResponse")
+ proto.RegisterType((*StopContainerRequest)(nil), "runtime.v1alpha2.StopContainerRequest")
+ proto.RegisterType((*StopContainerResponse)(nil), "runtime.v1alpha2.StopContainerResponse")
+ proto.RegisterType((*RemoveContainerRequest)(nil), "runtime.v1alpha2.RemoveContainerRequest")
+ proto.RegisterType((*RemoveContainerResponse)(nil), "runtime.v1alpha2.RemoveContainerResponse")
+ proto.RegisterType((*ContainerStateValue)(nil), "runtime.v1alpha2.ContainerStateValue")
+ proto.RegisterType((*ContainerFilter)(nil), "runtime.v1alpha2.ContainerFilter")
+ proto.RegisterType((*ListContainersRequest)(nil), "runtime.v1alpha2.ListContainersRequest")
+ proto.RegisterType((*Container)(nil), "runtime.v1alpha2.Container")
+ proto.RegisterType((*ListContainersResponse)(nil), "runtime.v1alpha2.ListContainersResponse")
+ proto.RegisterType((*ContainerStatusRequest)(nil), "runtime.v1alpha2.ContainerStatusRequest")
+ proto.RegisterType((*ContainerStatus)(nil), "runtime.v1alpha2.ContainerStatus")
+ proto.RegisterType((*ContainerStatusResponse)(nil), "runtime.v1alpha2.ContainerStatusResponse")
+ proto.RegisterType((*UpdateContainerResourcesRequest)(nil), "runtime.v1alpha2.UpdateContainerResourcesRequest")
+ proto.RegisterType((*UpdateContainerResourcesResponse)(nil), "runtime.v1alpha2.UpdateContainerResourcesResponse")
+ proto.RegisterType((*ExecSyncRequest)(nil), "runtime.v1alpha2.ExecSyncRequest")
+ proto.RegisterType((*ExecSyncResponse)(nil), "runtime.v1alpha2.ExecSyncResponse")
+ proto.RegisterType((*ExecRequest)(nil), "runtime.v1alpha2.ExecRequest")
+ proto.RegisterType((*ExecResponse)(nil), "runtime.v1alpha2.ExecResponse")
+ proto.RegisterType((*AttachRequest)(nil), "runtime.v1alpha2.AttachRequest")
+ proto.RegisterType((*AttachResponse)(nil), "runtime.v1alpha2.AttachResponse")
+ proto.RegisterType((*PortForwardRequest)(nil), "runtime.v1alpha2.PortForwardRequest")
+ proto.RegisterType((*PortForwardResponse)(nil), "runtime.v1alpha2.PortForwardResponse")
+ proto.RegisterType((*ImageFilter)(nil), "runtime.v1alpha2.ImageFilter")
+ proto.RegisterType((*ListImagesRequest)(nil), "runtime.v1alpha2.ListImagesRequest")
+ proto.RegisterType((*Image)(nil), "runtime.v1alpha2.Image")
+ proto.RegisterType((*ListImagesResponse)(nil), "runtime.v1alpha2.ListImagesResponse")
+ proto.RegisterType((*ImageStatusRequest)(nil), "runtime.v1alpha2.ImageStatusRequest")
+ proto.RegisterType((*ImageStatusResponse)(nil), "runtime.v1alpha2.ImageStatusResponse")
+ proto.RegisterType((*AuthConfig)(nil), "runtime.v1alpha2.AuthConfig")
+ proto.RegisterType((*PullImageRequest)(nil), "runtime.v1alpha2.PullImageRequest")
+ proto.RegisterType((*PullImageResponse)(nil), "runtime.v1alpha2.PullImageResponse")
+ proto.RegisterType((*RemoveImageRequest)(nil), "runtime.v1alpha2.RemoveImageRequest")
+ proto.RegisterType((*RemoveImageResponse)(nil), "runtime.v1alpha2.RemoveImageResponse")
+ proto.RegisterType((*NetworkConfig)(nil), "runtime.v1alpha2.NetworkConfig")
+ proto.RegisterType((*RuntimeConfig)(nil), "runtime.v1alpha2.RuntimeConfig")
+ proto.RegisterType((*UpdateRuntimeConfigRequest)(nil), "runtime.v1alpha2.UpdateRuntimeConfigRequest")
+ proto.RegisterType((*UpdateRuntimeConfigResponse)(nil), "runtime.v1alpha2.UpdateRuntimeConfigResponse")
+ proto.RegisterType((*RuntimeCondition)(nil), "runtime.v1alpha2.RuntimeCondition")
+ proto.RegisterType((*RuntimeStatus)(nil), "runtime.v1alpha2.RuntimeStatus")
+ proto.RegisterType((*StatusRequest)(nil), "runtime.v1alpha2.StatusRequest")
+ proto.RegisterType((*StatusResponse)(nil), "runtime.v1alpha2.StatusResponse")
+ proto.RegisterType((*ImageFsInfoRequest)(nil), "runtime.v1alpha2.ImageFsInfoRequest")
+ proto.RegisterType((*UInt64Value)(nil), "runtime.v1alpha2.UInt64Value")
+ proto.RegisterType((*FilesystemIdentifier)(nil), "runtime.v1alpha2.FilesystemIdentifier")
+ proto.RegisterType((*FilesystemUsage)(nil), "runtime.v1alpha2.FilesystemUsage")
+ proto.RegisterType((*ImageFsInfoResponse)(nil), "runtime.v1alpha2.ImageFsInfoResponse")
+ proto.RegisterType((*ContainerStatsRequest)(nil), "runtime.v1alpha2.ContainerStatsRequest")
+ proto.RegisterType((*ContainerStatsResponse)(nil), "runtime.v1alpha2.ContainerStatsResponse")
+ proto.RegisterType((*ListContainerStatsRequest)(nil), "runtime.v1alpha2.ListContainerStatsRequest")
+ proto.RegisterType((*ContainerStatsFilter)(nil), "runtime.v1alpha2.ContainerStatsFilter")
+ proto.RegisterType((*ListContainerStatsResponse)(nil), "runtime.v1alpha2.ListContainerStatsResponse")
+ proto.RegisterType((*ContainerAttributes)(nil), "runtime.v1alpha2.ContainerAttributes")
+ proto.RegisterType((*ContainerStats)(nil), "runtime.v1alpha2.ContainerStats")
+ proto.RegisterType((*CpuUsage)(nil), "runtime.v1alpha2.CpuUsage")
+ proto.RegisterType((*MemoryUsage)(nil), "runtime.v1alpha2.MemoryUsage")
+ proto.RegisterType((*ReopenContainerLogRequest)(nil), "runtime.v1alpha2.ReopenContainerLogRequest")
+ proto.RegisterType((*ReopenContainerLogResponse)(nil), "runtime.v1alpha2.ReopenContainerLogResponse")
+ proto.RegisterEnum("runtime.v1alpha2.Protocol", Protocol_name, Protocol_value)
+ proto.RegisterEnum("runtime.v1alpha2.MountPropagation", MountPropagation_name, MountPropagation_value)
+ proto.RegisterEnum("runtime.v1alpha2.NamespaceMode", NamespaceMode_name, NamespaceMode_value)
+ proto.RegisterEnum("runtime.v1alpha2.PodSandboxState", PodSandboxState_name, PodSandboxState_value)
+ proto.RegisterEnum("runtime.v1alpha2.ContainerState", ContainerState_name, ContainerState_value)
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -3341,6 +3735,14 @@ type RuntimeServiceClient interface {
// ContainerStatus returns status of the container. If the container is not
// present, returns an error.
ContainerStatus(ctx context.Context, in *ContainerStatusRequest, opts ...grpc.CallOption) (*ContainerStatusResponse, error)
+ // UpdateContainerResources updates ContainerConfig of the container.
+ UpdateContainerResources(ctx context.Context, in *UpdateContainerResourcesRequest, opts ...grpc.CallOption) (*UpdateContainerResourcesResponse, error)
+ // ReopenContainerLog asks runtime to reopen the stdout/stderr log file
+ // for the container. This is often called after the log file has been
+ // rotated. If the container is not running, container runtime can choose
+ // to either create a new log file and return nil, or return an error.
+ // Once it returns error, new container log file MUST NOT be created.
+ ReopenContainerLog(ctx context.Context, in *ReopenContainerLogRequest, opts ...grpc.CallOption) (*ReopenContainerLogResponse, error)
// ExecSync runs a command in a container synchronously.
ExecSync(ctx context.Context, in *ExecSyncRequest, opts ...grpc.CallOption) (*ExecSyncResponse, error)
// Exec prepares a streaming endpoint to execute a command in the container.
@@ -3370,7 +3772,7 @@ func NewRuntimeServiceClient(cc *grpc.ClientConn) RuntimeServiceClient {
func (c *runtimeServiceClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) {
out := new(VersionResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/Version", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/Version", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3379,7 +3781,7 @@ func (c *runtimeServiceClient) Version(ctx context.Context, in *VersionRequest,
func (c *runtimeServiceClient) RunPodSandbox(ctx context.Context, in *RunPodSandboxRequest, opts ...grpc.CallOption) (*RunPodSandboxResponse, error) {
out := new(RunPodSandboxResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/RunPodSandbox", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/RunPodSandbox", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3388,7 +3790,7 @@ func (c *runtimeServiceClient) RunPodSandbox(ctx context.Context, in *RunPodSand
func (c *runtimeServiceClient) StopPodSandbox(ctx context.Context, in *StopPodSandboxRequest, opts ...grpc.CallOption) (*StopPodSandboxResponse, error) {
out := new(StopPodSandboxResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/StopPodSandbox", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/StopPodSandbox", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3397,7 +3799,7 @@ func (c *runtimeServiceClient) StopPodSandbox(ctx context.Context, in *StopPodSa
func (c *runtimeServiceClient) RemovePodSandbox(ctx context.Context, in *RemovePodSandboxRequest, opts ...grpc.CallOption) (*RemovePodSandboxResponse, error) {
out := new(RemovePodSandboxResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/RemovePodSandbox", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/RemovePodSandbox", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3406,7 +3808,7 @@ func (c *runtimeServiceClient) RemovePodSandbox(ctx context.Context, in *RemoveP
func (c *runtimeServiceClient) PodSandboxStatus(ctx context.Context, in *PodSandboxStatusRequest, opts ...grpc.CallOption) (*PodSandboxStatusResponse, error) {
out := new(PodSandboxStatusResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/PodSandboxStatus", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/PodSandboxStatus", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3415,7 +3817,7 @@ func (c *runtimeServiceClient) PodSandboxStatus(ctx context.Context, in *PodSand
func (c *runtimeServiceClient) ListPodSandbox(ctx context.Context, in *ListPodSandboxRequest, opts ...grpc.CallOption) (*ListPodSandboxResponse, error) {
out := new(ListPodSandboxResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ListPodSandbox", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ListPodSandbox", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3424,7 +3826,7 @@ func (c *runtimeServiceClient) ListPodSandbox(ctx context.Context, in *ListPodSa
func (c *runtimeServiceClient) CreateContainer(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) {
out := new(CreateContainerResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/CreateContainer", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/CreateContainer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3433,7 +3835,7 @@ func (c *runtimeServiceClient) CreateContainer(ctx context.Context, in *CreateCo
func (c *runtimeServiceClient) StartContainer(ctx context.Context, in *StartContainerRequest, opts ...grpc.CallOption) (*StartContainerResponse, error) {
out := new(StartContainerResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/StartContainer", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/StartContainer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3442,7 +3844,7 @@ func (c *runtimeServiceClient) StartContainer(ctx context.Context, in *StartCont
func (c *runtimeServiceClient) StopContainer(ctx context.Context, in *StopContainerRequest, opts ...grpc.CallOption) (*StopContainerResponse, error) {
out := new(StopContainerResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/StopContainer", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/StopContainer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3451,7 +3853,7 @@ func (c *runtimeServiceClient) StopContainer(ctx context.Context, in *StopContai
func (c *runtimeServiceClient) RemoveContainer(ctx context.Context, in *RemoveContainerRequest, opts ...grpc.CallOption) (*RemoveContainerResponse, error) {
out := new(RemoveContainerResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/RemoveContainer", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/RemoveContainer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3460,7 +3862,7 @@ func (c *runtimeServiceClient) RemoveContainer(ctx context.Context, in *RemoveCo
func (c *runtimeServiceClient) ListContainers(ctx context.Context, in *ListContainersRequest, opts ...grpc.CallOption) (*ListContainersResponse, error) {
out := new(ListContainersResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ListContainers", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ListContainers", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3469,7 +3871,25 @@ func (c *runtimeServiceClient) ListContainers(ctx context.Context, in *ListConta
func (c *runtimeServiceClient) ContainerStatus(ctx context.Context, in *ContainerStatusRequest, opts ...grpc.CallOption) (*ContainerStatusResponse, error) {
out := new(ContainerStatusResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ContainerStatus", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ContainerStatus", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *runtimeServiceClient) UpdateContainerResources(ctx context.Context, in *UpdateContainerResourcesRequest, opts ...grpc.CallOption) (*UpdateContainerResourcesResponse, error) {
+ out := new(UpdateContainerResourcesResponse)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/UpdateContainerResources", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *runtimeServiceClient) ReopenContainerLog(ctx context.Context, in *ReopenContainerLogRequest, opts ...grpc.CallOption) (*ReopenContainerLogResponse, error) {
+ out := new(ReopenContainerLogResponse)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ReopenContainerLog", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3478,7 +3898,7 @@ func (c *runtimeServiceClient) ContainerStatus(ctx context.Context, in *Containe
func (c *runtimeServiceClient) ExecSync(ctx context.Context, in *ExecSyncRequest, opts ...grpc.CallOption) (*ExecSyncResponse, error) {
out := new(ExecSyncResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ExecSync", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ExecSync", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3487,7 +3907,7 @@ func (c *runtimeServiceClient) ExecSync(ctx context.Context, in *ExecSyncRequest
func (c *runtimeServiceClient) Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error) {
out := new(ExecResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/Exec", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/Exec", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3496,7 +3916,7 @@ func (c *runtimeServiceClient) Exec(ctx context.Context, in *ExecRequest, opts .
func (c *runtimeServiceClient) Attach(ctx context.Context, in *AttachRequest, opts ...grpc.CallOption) (*AttachResponse, error) {
out := new(AttachResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/Attach", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/Attach", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3505,7 +3925,7 @@ func (c *runtimeServiceClient) Attach(ctx context.Context, in *AttachRequest, op
func (c *runtimeServiceClient) PortForward(ctx context.Context, in *PortForwardRequest, opts ...grpc.CallOption) (*PortForwardResponse, error) {
out := new(PortForwardResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/PortForward", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/PortForward", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3514,7 +3934,7 @@ func (c *runtimeServiceClient) PortForward(ctx context.Context, in *PortForwardR
func (c *runtimeServiceClient) ContainerStats(ctx context.Context, in *ContainerStatsRequest, opts ...grpc.CallOption) (*ContainerStatsResponse, error) {
out := new(ContainerStatsResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ContainerStats", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ContainerStats", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3523,7 +3943,7 @@ func (c *runtimeServiceClient) ContainerStats(ctx context.Context, in *Container
func (c *runtimeServiceClient) ListContainerStats(ctx context.Context, in *ListContainerStatsRequest, opts ...grpc.CallOption) (*ListContainerStatsResponse, error) {
out := new(ListContainerStatsResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/ListContainerStats", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/ListContainerStats", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3532,7 +3952,7 @@ func (c *runtimeServiceClient) ListContainerStats(ctx context.Context, in *ListC
func (c *runtimeServiceClient) UpdateRuntimeConfig(ctx context.Context, in *UpdateRuntimeConfigRequest, opts ...grpc.CallOption) (*UpdateRuntimeConfigResponse, error) {
out := new(UpdateRuntimeConfigResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/UpdateRuntimeConfig", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/UpdateRuntimeConfig", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3541,7 +3961,7 @@ func (c *runtimeServiceClient) UpdateRuntimeConfig(ctx context.Context, in *Upda
func (c *runtimeServiceClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) {
out := new(StatusResponse)
- err := grpc.Invoke(ctx, "/runtime.RuntimeService/Status", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.RuntimeService/Status", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -3595,6 +4015,14 @@ type RuntimeServiceServer interface {
// ContainerStatus returns status of the container. If the container is not
// present, returns an error.
ContainerStatus(context.Context, *ContainerStatusRequest) (*ContainerStatusResponse, error)
+ // UpdateContainerResources updates ContainerConfig of the container.
+ UpdateContainerResources(context.Context, *UpdateContainerResourcesRequest) (*UpdateContainerResourcesResponse, error)
+ // ReopenContainerLog asks runtime to reopen the stdout/stderr log file
+ // for the container. This is often called after the log file has been
+ // rotated. If the container is not running, container runtime can choose
+ // to either create a new log file and return nil, or return an error.
+ // Once it returns error, new container log file MUST NOT be created.
+ ReopenContainerLog(context.Context, *ReopenContainerLogRequest) (*ReopenContainerLogResponse, error)
// ExecSync runs a command in a container synchronously.
ExecSync(context.Context, *ExecSyncRequest) (*ExecSyncResponse, error)
// Exec prepares a streaming endpoint to execute a command in the container.
@@ -3628,7 +4056,7 @@ func _RuntimeService_Version_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/Version",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/Version",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).Version(ctx, req.(*VersionRequest))
@@ -3646,7 +4074,7 @@ func _RuntimeService_RunPodSandbox_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/RunPodSandbox",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/RunPodSandbox",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).RunPodSandbox(ctx, req.(*RunPodSandboxRequest))
@@ -3664,7 +4092,7 @@ func _RuntimeService_StopPodSandbox_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/StopPodSandbox",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/StopPodSandbox",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).StopPodSandbox(ctx, req.(*StopPodSandboxRequest))
@@ -3682,7 +4110,7 @@ func _RuntimeService_RemovePodSandbox_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/RemovePodSandbox",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/RemovePodSandbox",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).RemovePodSandbox(ctx, req.(*RemovePodSandboxRequest))
@@ -3700,7 +4128,7 @@ func _RuntimeService_PodSandboxStatus_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/PodSandboxStatus",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/PodSandboxStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).PodSandboxStatus(ctx, req.(*PodSandboxStatusRequest))
@@ -3718,7 +4146,7 @@ func _RuntimeService_ListPodSandbox_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ListPodSandbox",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ListPodSandbox",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ListPodSandbox(ctx, req.(*ListPodSandboxRequest))
@@ -3736,7 +4164,7 @@ func _RuntimeService_CreateContainer_Handler(srv interface{}, ctx context.Contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/CreateContainer",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/CreateContainer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).CreateContainer(ctx, req.(*CreateContainerRequest))
@@ -3754,7 +4182,7 @@ func _RuntimeService_StartContainer_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/StartContainer",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/StartContainer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).StartContainer(ctx, req.(*StartContainerRequest))
@@ -3772,7 +4200,7 @@ func _RuntimeService_StopContainer_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/StopContainer",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/StopContainer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).StopContainer(ctx, req.(*StopContainerRequest))
@@ -3790,7 +4218,7 @@ func _RuntimeService_RemoveContainer_Handler(srv interface{}, ctx context.Contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/RemoveContainer",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/RemoveContainer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).RemoveContainer(ctx, req.(*RemoveContainerRequest))
@@ -3808,7 +4236,7 @@ func _RuntimeService_ListContainers_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ListContainers",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ListContainers",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ListContainers(ctx, req.(*ListContainersRequest))
@@ -3826,7 +4254,7 @@ func _RuntimeService_ContainerStatus_Handler(srv interface{}, ctx context.Contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ContainerStatus",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ContainerStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ContainerStatus(ctx, req.(*ContainerStatusRequest))
@@ -3834,6 +4262,42 @@ func _RuntimeService_ContainerStatus_Handler(srv interface{}, ctx context.Contex
return interceptor(ctx, in, info, handler)
}
+func _RuntimeService_UpdateContainerResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateContainerResourcesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(RuntimeServiceServer).UpdateContainerResources(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/runtime.v1alpha2.RuntimeService/UpdateContainerResources",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(RuntimeServiceServer).UpdateContainerResources(ctx, req.(*UpdateContainerResourcesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _RuntimeService_ReopenContainerLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ReopenContainerLogRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(RuntimeServiceServer).ReopenContainerLog(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ReopenContainerLog",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(RuntimeServiceServer).ReopenContainerLog(ctx, req.(*ReopenContainerLogRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _RuntimeService_ExecSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExecSyncRequest)
if err := dec(in); err != nil {
@@ -3844,7 +4308,7 @@ func _RuntimeService_ExecSync_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ExecSync",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ExecSync",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ExecSync(ctx, req.(*ExecSyncRequest))
@@ -3862,7 +4326,7 @@ func _RuntimeService_Exec_Handler(srv interface{}, ctx context.Context, dec func
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/Exec",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/Exec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).Exec(ctx, req.(*ExecRequest))
@@ -3880,7 +4344,7 @@ func _RuntimeService_Attach_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/Attach",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/Attach",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).Attach(ctx, req.(*AttachRequest))
@@ -3898,7 +4362,7 @@ func _RuntimeService_PortForward_Handler(srv interface{}, ctx context.Context, d
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/PortForward",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/PortForward",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).PortForward(ctx, req.(*PortForwardRequest))
@@ -3916,7 +4380,7 @@ func _RuntimeService_ContainerStats_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ContainerStats",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ContainerStats",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ContainerStats(ctx, req.(*ContainerStatsRequest))
@@ -3934,7 +4398,7 @@ func _RuntimeService_ListContainerStats_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/ListContainerStats",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/ListContainerStats",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).ListContainerStats(ctx, req.(*ListContainerStatsRequest))
@@ -3952,7 +4416,7 @@ func _RuntimeService_UpdateRuntimeConfig_Handler(srv interface{}, ctx context.Co
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/UpdateRuntimeConfig",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/UpdateRuntimeConfig",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).UpdateRuntimeConfig(ctx, req.(*UpdateRuntimeConfigRequest))
@@ -3970,7 +4434,7 @@ func _RuntimeService_Status_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.RuntimeService/Status",
+ FullMethod: "/runtime.v1alpha2.RuntimeService/Status",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RuntimeServiceServer).Status(ctx, req.(*StatusRequest))
@@ -3979,7 +4443,7 @@ func _RuntimeService_Status_Handler(srv interface{}, ctx context.Context, dec fu
}
var _RuntimeService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "runtime.RuntimeService",
+ ServiceName: "runtime.v1alpha2.RuntimeService",
HandlerType: (*RuntimeServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
@@ -4031,6 +4495,14 @@ var _RuntimeService_serviceDesc = grpc.ServiceDesc{
Handler: _RuntimeService_ContainerStatus_Handler,
},
{
+ MethodName: "UpdateContainerResources",
+ Handler: _RuntimeService_UpdateContainerResources_Handler,
+ },
+ {
+ MethodName: "ReopenContainerLog",
+ Handler: _RuntimeService_ReopenContainerLog_Handler,
+ },
+ {
MethodName: "ExecSync",
Handler: _RuntimeService_ExecSync_Handler,
},
@@ -4096,7 +4568,7 @@ func NewImageServiceClient(cc *grpc.ClientConn) ImageServiceClient {
func (c *imageServiceClient) ListImages(ctx context.Context, in *ListImagesRequest, opts ...grpc.CallOption) (*ListImagesResponse, error) {
out := new(ListImagesResponse)
- err := grpc.Invoke(ctx, "/runtime.ImageService/ListImages", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.ImageService/ListImages", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -4105,7 +4577,7 @@ func (c *imageServiceClient) ListImages(ctx context.Context, in *ListImagesReque
func (c *imageServiceClient) ImageStatus(ctx context.Context, in *ImageStatusRequest, opts ...grpc.CallOption) (*ImageStatusResponse, error) {
out := new(ImageStatusResponse)
- err := grpc.Invoke(ctx, "/runtime.ImageService/ImageStatus", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.ImageService/ImageStatus", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -4114,7 +4586,7 @@ func (c *imageServiceClient) ImageStatus(ctx context.Context, in *ImageStatusReq
func (c *imageServiceClient) PullImage(ctx context.Context, in *PullImageRequest, opts ...grpc.CallOption) (*PullImageResponse, error) {
out := new(PullImageResponse)
- err := grpc.Invoke(ctx, "/runtime.ImageService/PullImage", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.ImageService/PullImage", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -4123,7 +4595,7 @@ func (c *imageServiceClient) PullImage(ctx context.Context, in *PullImageRequest
func (c *imageServiceClient) RemoveImage(ctx context.Context, in *RemoveImageRequest, opts ...grpc.CallOption) (*RemoveImageResponse, error) {
out := new(RemoveImageResponse)
- err := grpc.Invoke(ctx, "/runtime.ImageService/RemoveImage", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.ImageService/RemoveImage", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -4132,7 +4604,7 @@ func (c *imageServiceClient) RemoveImage(ctx context.Context, in *RemoveImageReq
func (c *imageServiceClient) ImageFsInfo(ctx context.Context, in *ImageFsInfoRequest, opts ...grpc.CallOption) (*ImageFsInfoResponse, error) {
out := new(ImageFsInfoResponse)
- err := grpc.Invoke(ctx, "/runtime.ImageService/ImageFsInfo", in, out, c.cc, opts...)
+ err := grpc.Invoke(ctx, "/runtime.v1alpha2.ImageService/ImageFsInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
@@ -4172,7 +4644,7 @@ func _ImageService_ListImages_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.ImageService/ListImages",
+ FullMethod: "/runtime.v1alpha2.ImageService/ListImages",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ImageServiceServer).ListImages(ctx, req.(*ListImagesRequest))
@@ -4190,7 +4662,7 @@ func _ImageService_ImageStatus_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.ImageService/ImageStatus",
+ FullMethod: "/runtime.v1alpha2.ImageService/ImageStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ImageServiceServer).ImageStatus(ctx, req.(*ImageStatusRequest))
@@ -4208,7 +4680,7 @@ func _ImageService_PullImage_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.ImageService/PullImage",
+ FullMethod: "/runtime.v1alpha2.ImageService/PullImage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ImageServiceServer).PullImage(ctx, req.(*PullImageRequest))
@@ -4226,7 +4698,7 @@ func _ImageService_RemoveImage_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.ImageService/RemoveImage",
+ FullMethod: "/runtime.v1alpha2.ImageService/RemoveImage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ImageServiceServer).RemoveImage(ctx, req.(*RemoveImageRequest))
@@ -4244,7 +4716,7 @@ func _ImageService_ImageFsInfo_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/runtime.ImageService/ImageFsInfo",
+ FullMethod: "/runtime.v1alpha2.ImageService/ImageFsInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ImageServiceServer).ImageFsInfo(ctx, req.(*ImageFsInfoRequest))
@@ -4253,7 +4725,7 @@ func _ImageService_ImageFsInfo_Handler(srv interface{}, ctx context.Context, dec
}
var _ImageService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "runtime.ImageService",
+ ServiceName: "runtime.v1alpha2.ImageService",
HandlerType: (*ImageServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
@@ -4496,6 +4968,11 @@ func (m *Mount) MarshalTo(dAtA []byte) (int, error) {
}
i++
}
+ if m.Propagation != 0 {
+ dAtA[i] = 0x28
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Propagation))
+ }
return i, nil
}
@@ -4514,35 +4991,20 @@ func (m *NamespaceOption) MarshalTo(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- if m.HostNetwork {
+ if m.Network != 0 {
dAtA[i] = 0x8
i++
- if m.HostNetwork {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Network))
}
- if m.HostPid {
+ if m.Pid != 0 {
dAtA[i] = 0x10
i++
- if m.HostPid {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Pid))
}
- if m.HostIpc {
+ if m.Ipc != 0 {
dAtA[i] = 0x18
i++
- if m.HostIpc {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
- i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Ipc))
}
return i, nil
}
@@ -4653,6 +5115,12 @@ func (m *LinuxSandboxSecurityContext) MarshalTo(dAtA []byte) (int, error) {
}
i++
}
+ if len(m.SeccompProfilePath) > 0 {
+ dAtA[i] = 0x3a
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.SeccompProfilePath)))
+ i += copy(dAtA[i:], m.SeccompProfilePath)
+ }
return i, nil
}
@@ -5011,6 +5479,16 @@ func (m *PodSandboxStatusRequest) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintApi(dAtA, i, uint64(len(m.PodSandboxId)))
i += copy(dAtA[i:], m.PodSandboxId)
}
+ if m.Verbose {
+ dAtA[i] = 0x10
+ i++
+ if m.Verbose {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -5217,6 +5695,23 @@ func (m *PodSandboxStatusResponse) MarshalTo(dAtA []byte) (int, error) {
}
i += n16
}
+ if len(m.Info) > 0 {
+ for k := range m.Info {
+ dAtA[i] = 0x12
+ i++
+ v := m.Info[k]
+ mapSize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ i = encodeVarintApi(dAtA, i, uint64(mapSize))
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(k)))
+ i += copy(dAtA[i:], k)
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(v)))
+ i += copy(dAtA[i:], v)
+ }
+ }
return i, nil
}
@@ -5524,6 +6019,18 @@ func (m *LinuxContainerResources) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintApi(dAtA, i, uint64(m.OomScoreAdj))
}
+ if len(m.CpusetCpus) > 0 {
+ dAtA[i] = 0x32
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.CpusetCpus)))
+ i += copy(dAtA[i:], m.CpusetCpus)
+ }
+ if len(m.CpusetMems) > 0 {
+ dAtA[i] = 0x3a
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.CpusetMems)))
+ i += copy(dAtA[i:], m.CpusetMems)
+ }
return i, nil
}
@@ -5722,6 +6229,22 @@ func (m *LinuxContainerSecurityContext) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintApi(dAtA, i, uint64(len(m.ApparmorProfile)))
i += copy(dAtA[i:], m.ApparmorProfile)
}
+ if len(m.SeccompProfilePath) > 0 {
+ dAtA[i] = 0x52
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.SeccompProfilePath)))
+ i += copy(dAtA[i:], m.SeccompProfilePath)
+ }
+ if m.NoNewPrivs {
+ dAtA[i] = 0x58
+ i++
+ if m.NoNewPrivs {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -5763,6 +6286,72 @@ func (m *LinuxContainerConfig) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
+func (m *WindowsContainerConfig) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *WindowsContainerConfig) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.Resources != nil {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Resources.Size()))
+ n28, err := m.Resources.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n28
+ }
+ return i, nil
+}
+
+func (m *WindowsContainerResources) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *WindowsContainerResources) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.CpuShares != 0 {
+ dAtA[i] = 0x8
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.CpuShares))
+ }
+ if m.CpuCount != 0 {
+ dAtA[i] = 0x10
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.CpuCount))
+ }
+ if m.CpuMaximum != 0 {
+ dAtA[i] = 0x18
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.CpuMaximum))
+ }
+ if m.MemoryLimitInBytes != 0 {
+ dAtA[i] = 0x20
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.MemoryLimitInBytes))
+ }
+ return i, nil
+}
+
func (m *ContainerMetadata) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -5847,21 +6436,21 @@ func (m *ContainerConfig) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Metadata.Size()))
- n28, err := m.Metadata.MarshalTo(dAtA[i:])
+ n29, err := m.Metadata.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n28
+ i += n29
}
if m.Image != nil {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n29, err := m.Image.MarshalTo(dAtA[i:])
+ n30, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n29
+ i += n30
}
if len(m.Command) > 0 {
for _, s := range m.Command {
@@ -6009,11 +6598,23 @@ func (m *ContainerConfig) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x7a
i++
i = encodeVarintApi(dAtA, i, uint64(m.Linux.Size()))
- n30, err := m.Linux.MarshalTo(dAtA[i:])
+ n31, err := m.Linux.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n30
+ i += n31
+ }
+ if m.Windows != nil {
+ dAtA[i] = 0x82
+ i++
+ dAtA[i] = 0x1
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Windows.Size()))
+ n32, err := m.Windows.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n32
}
return i, nil
}
@@ -6043,21 +6644,21 @@ func (m *CreateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Config.Size()))
- n31, err := m.Config.MarshalTo(dAtA[i:])
+ n33, err := m.Config.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n31
+ i += n33
}
if m.SandboxConfig != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintApi(dAtA, i, uint64(m.SandboxConfig.Size()))
- n32, err := m.SandboxConfig.MarshalTo(dAtA[i:])
+ n34, err := m.SandboxConfig.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n32
+ i += n34
}
return i, nil
}
@@ -6265,11 +6866,11 @@ func (m *ContainerFilter) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.State.Size()))
- n33, err := m.State.MarshalTo(dAtA[i:])
+ n35, err := m.State.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n33
+ i += n35
}
if len(m.PodSandboxId) > 0 {
dAtA[i] = 0x1a
@@ -6316,11 +6917,11 @@ func (m *ListContainersRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Filter.Size()))
- n34, err := m.Filter.MarshalTo(dAtA[i:])
+ n36, err := m.Filter.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n34
+ i += n36
}
return i, nil
}
@@ -6356,21 +6957,21 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a
i++
i = encodeVarintApi(dAtA, i, uint64(m.Metadata.Size()))
- n35, err := m.Metadata.MarshalTo(dAtA[i:])
+ n37, err := m.Metadata.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n35
+ i += n37
}
if m.Image != nil {
dAtA[i] = 0x22
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n36, err := m.Image.MarshalTo(dAtA[i:])
+ n38, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n36
+ i += n38
}
if len(m.ImageRef) > 0 {
dAtA[i] = 0x2a
@@ -6476,6 +7077,16 @@ func (m *ContainerStatusRequest) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintApi(dAtA, i, uint64(len(m.ContainerId)))
i += copy(dAtA[i:], m.ContainerId)
}
+ if m.Verbose {
+ dAtA[i] = 0x10
+ i++
+ if m.Verbose {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -6504,11 +7115,11 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Metadata.Size()))
- n37, err := m.Metadata.MarshalTo(dAtA[i:])
+ n39, err := m.Metadata.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n37
+ i += n39
}
if m.State != 0 {
dAtA[i] = 0x18
@@ -6539,11 +7150,11 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x42
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n38, err := m.Image.MarshalTo(dAtA[i:])
+ n40, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n38
+ i += n40
}
if len(m.ImageRef) > 0 {
dAtA[i] = 0x4a
@@ -6637,15 +7248,84 @@ func (m *ContainerStatusResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Status.Size()))
- n39, err := m.Status.MarshalTo(dAtA[i:])
+ n41, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n39
+ i += n41
+ }
+ if len(m.Info) > 0 {
+ for k := range m.Info {
+ dAtA[i] = 0x12
+ i++
+ v := m.Info[k]
+ mapSize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ i = encodeVarintApi(dAtA, i, uint64(mapSize))
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(k)))
+ i += copy(dAtA[i:], k)
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(v)))
+ i += copy(dAtA[i:], v)
+ }
+ }
+ return i, nil
+}
+
+func (m *UpdateContainerResourcesRequest) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *UpdateContainerResourcesRequest) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.ContainerId) > 0 {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.ContainerId)))
+ i += copy(dAtA[i:], m.ContainerId)
+ }
+ if m.Linux != nil {
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(m.Linux.Size()))
+ n42, err := m.Linux.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n42
}
return i, nil
}
+func (m *UpdateContainerResourcesResponse) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *UpdateContainerResourcesResponse) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ return i, nil
+}
+
func (m *ExecSyncRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -6781,6 +7461,26 @@ func (m *ExecRequest) MarshalTo(dAtA []byte) (int, error) {
}
i++
}
+ if m.Stdout {
+ dAtA[i] = 0x28
+ i++
+ if m.Stdout {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
+ if m.Stderr {
+ dAtA[i] = 0x30
+ i++
+ if m.Stderr {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -6849,6 +7549,26 @@ func (m *AttachRequest) MarshalTo(dAtA []byte) (int, error) {
}
i++
}
+ if m.Stdout {
+ dAtA[i] = 0x20
+ i++
+ if m.Stdout {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
+ if m.Stderr {
+ dAtA[i] = 0x28
+ i++
+ if m.Stderr {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -6898,22 +7618,22 @@ func (m *PortForwardRequest) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], m.PodSandboxId)
}
if len(m.Port) > 0 {
- dAtA41 := make([]byte, len(m.Port)*10)
- var j40 int
+ dAtA44 := make([]byte, len(m.Port)*10)
+ var j43 int
for _, num1 := range m.Port {
num := uint64(num1)
for num >= 1<<7 {
- dAtA41[j40] = uint8(uint64(num)&0x7f | 0x80)
+ dAtA44[j43] = uint8(uint64(num)&0x7f | 0x80)
num >>= 7
- j40++
+ j43++
}
- dAtA41[j40] = uint8(num)
- j40++
+ dAtA44[j43] = uint8(num)
+ j43++
}
dAtA[i] = 0x12
i++
- i = encodeVarintApi(dAtA, i, uint64(j40))
- i += copy(dAtA[i:], dAtA41[:j40])
+ i = encodeVarintApi(dAtA, i, uint64(j43))
+ i += copy(dAtA[i:], dAtA44[:j43])
}
return i, nil
}
@@ -6961,11 +7681,11 @@ func (m *ImageFilter) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n42, err := m.Image.MarshalTo(dAtA[i:])
+ n45, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n42
+ i += n45
}
return i, nil
}
@@ -6989,11 +7709,11 @@ func (m *ListImagesRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Filter.Size()))
- n43, err := m.Filter.MarshalTo(dAtA[i:])
+ n46, err := m.Filter.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n43
+ i += n46
}
return i, nil
}
@@ -7058,11 +7778,11 @@ func (m *Image) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x2a
i++
i = encodeVarintApi(dAtA, i, uint64(m.Uid.Size()))
- n44, err := m.Uid.MarshalTo(dAtA[i:])
+ n47, err := m.Uid.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n44
+ i += n47
}
if len(m.Username) > 0 {
dAtA[i] = 0x32
@@ -7122,11 +7842,21 @@ func (m *ImageStatusRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n45, err := m.Image.MarshalTo(dAtA[i:])
+ n48, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n45
+ i += n48
+ }
+ if m.Verbose {
+ dAtA[i] = 0x10
+ i++
+ if m.Verbose {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
}
return i, nil
}
@@ -7150,11 +7880,28 @@ func (m *ImageStatusResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n46, err := m.Image.MarshalTo(dAtA[i:])
+ n49, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n46
+ i += n49
+ }
+ if len(m.Info) > 0 {
+ for k := range m.Info {
+ dAtA[i] = 0x12
+ i++
+ v := m.Info[k]
+ mapSize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ i = encodeVarintApi(dAtA, i, uint64(mapSize))
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(k)))
+ i += copy(dAtA[i:], k)
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(v)))
+ i += copy(dAtA[i:], v)
+ }
}
return i, nil
}
@@ -7232,31 +7979,31 @@ func (m *PullImageRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n47, err := m.Image.MarshalTo(dAtA[i:])
+ n50, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n47
+ i += n50
}
if m.Auth != nil {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Auth.Size()))
- n48, err := m.Auth.MarshalTo(dAtA[i:])
+ n51, err := m.Auth.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n48
+ i += n51
}
if m.SandboxConfig != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintApi(dAtA, i, uint64(m.SandboxConfig.Size()))
- n49, err := m.SandboxConfig.MarshalTo(dAtA[i:])
+ n52, err := m.SandboxConfig.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n49
+ i += n52
}
return i, nil
}
@@ -7304,11 +8051,11 @@ func (m *RemoveImageRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Image.Size()))
- n50, err := m.Image.MarshalTo(dAtA[i:])
+ n53, err := m.Image.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n50
+ i += n53
}
return i, nil
}
@@ -7374,11 +8121,11 @@ func (m *RuntimeConfig) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.NetworkConfig.Size()))
- n51, err := m.NetworkConfig.MarshalTo(dAtA[i:])
+ n54, err := m.NetworkConfig.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n51
+ i += n54
}
return i, nil
}
@@ -7402,11 +8149,11 @@ func (m *UpdateRuntimeConfigRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.RuntimeConfig.Size()))
- n52, err := m.RuntimeConfig.MarshalTo(dAtA[i:])
+ n55, err := m.RuntimeConfig.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n52
+ i += n55
}
return i, nil
}
@@ -7520,6 +8267,16 @@ func (m *StatusRequest) MarshalTo(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.Verbose {
+ dAtA[i] = 0x8
+ i++
+ if m.Verbose {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
return i, nil
}
@@ -7542,11 +8299,28 @@ func (m *StatusResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Status.Size()))
- n53, err := m.Status.MarshalTo(dAtA[i:])
+ n56, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n53
+ i += n56
+ }
+ if len(m.Info) > 0 {
+ for k := range m.Info {
+ dAtA[i] = 0x12
+ i++
+ v := m.Info[k]
+ mapSize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ i = encodeVarintApi(dAtA, i, uint64(mapSize))
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(k)))
+ i += copy(dAtA[i:], k)
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(v)))
+ i += copy(dAtA[i:], v)
+ }
}
return i, nil
}
@@ -7592,7 +8366,7 @@ func (m *UInt64Value) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
-func (m *StorageIdentifier) Marshal() (dAtA []byte, err error) {
+func (m *FilesystemIdentifier) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
@@ -7602,16 +8376,16 @@ func (m *StorageIdentifier) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *StorageIdentifier) MarshalTo(dAtA []byte) (int, error) {
+func (m *FilesystemIdentifier) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
- if len(m.Uuid) > 0 {
+ if len(m.Mountpoint) > 0 {
dAtA[i] = 0xa
i++
- i = encodeVarintApi(dAtA, i, uint64(len(m.Uuid)))
- i += copy(dAtA[i:], m.Uuid)
+ i = encodeVarintApi(dAtA, i, uint64(len(m.Mountpoint)))
+ i += copy(dAtA[i:], m.Mountpoint)
}
return i, nil
}
@@ -7636,35 +8410,35 @@ func (m *FilesystemUsage) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintApi(dAtA, i, uint64(m.Timestamp))
}
- if m.StorageId != nil {
+ if m.FsId != nil {
dAtA[i] = 0x12
i++
- i = encodeVarintApi(dAtA, i, uint64(m.StorageId.Size()))
- n54, err := m.StorageId.MarshalTo(dAtA[i:])
+ i = encodeVarintApi(dAtA, i, uint64(m.FsId.Size()))
+ n57, err := m.FsId.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n54
+ i += n57
}
if m.UsedBytes != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintApi(dAtA, i, uint64(m.UsedBytes.Size()))
- n55, err := m.UsedBytes.MarshalTo(dAtA[i:])
+ n58, err := m.UsedBytes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n55
+ i += n58
}
if m.InodesUsed != nil {
dAtA[i] = 0x22
i++
i = encodeVarintApi(dAtA, i, uint64(m.InodesUsed.Size()))
- n56, err := m.InodesUsed.MarshalTo(dAtA[i:])
+ n59, err := m.InodesUsed.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n56
+ i += n59
}
return i, nil
}
@@ -7742,11 +8516,11 @@ func (m *ContainerStatsResponse) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Stats.Size()))
- n57, err := m.Stats.MarshalTo(dAtA[i:])
+ n60, err := m.Stats.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n57
+ i += n60
}
return i, nil
}
@@ -7770,11 +8544,11 @@ func (m *ListContainerStatsRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Filter.Size()))
- n58, err := m.Filter.MarshalTo(dAtA[i:])
+ n61, err := m.Filter.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n58
+ i += n61
}
return i, nil
}
@@ -7881,11 +8655,11 @@ func (m *ContainerAttributes) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Metadata.Size()))
- n59, err := m.Metadata.MarshalTo(dAtA[i:])
+ n62, err := m.Metadata.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n59
+ i += n62
}
if len(m.Labels) > 0 {
for k := range m.Labels {
@@ -7943,41 +8717,41 @@ func (m *ContainerStats) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintApi(dAtA, i, uint64(m.Attributes.Size()))
- n60, err := m.Attributes.MarshalTo(dAtA[i:])
+ n63, err := m.Attributes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n60
+ i += n63
}
if m.Cpu != nil {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.Cpu.Size()))
- n61, err := m.Cpu.MarshalTo(dAtA[i:])
+ n64, err := m.Cpu.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n61
+ i += n64
}
if m.Memory != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintApi(dAtA, i, uint64(m.Memory.Size()))
- n62, err := m.Memory.MarshalTo(dAtA[i:])
+ n65, err := m.Memory.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n62
+ i += n65
}
if m.WritableLayer != nil {
dAtA[i] = 0x22
i++
i = encodeVarintApi(dAtA, i, uint64(m.WritableLayer.Size()))
- n63, err := m.WritableLayer.MarshalTo(dAtA[i:])
+ n66, err := m.WritableLayer.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n63
+ i += n66
}
return i, nil
}
@@ -8006,11 +8780,11 @@ func (m *CpuUsage) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.UsageCoreNanoSeconds.Size()))
- n64, err := m.UsageCoreNanoSeconds.MarshalTo(dAtA[i:])
+ n67, err := m.UsageCoreNanoSeconds.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n64
+ i += n67
}
return i, nil
}
@@ -8039,15 +8813,57 @@ func (m *MemoryUsage) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintApi(dAtA, i, uint64(m.WorkingSetBytes.Size()))
- n65, err := m.WorkingSetBytes.MarshalTo(dAtA[i:])
+ n68, err := m.WorkingSetBytes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n65
+ i += n68
+ }
+ return i, nil
+}
+
+func (m *ReopenContainerLogRequest) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ReopenContainerLogRequest) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.ContainerId) > 0 {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintApi(dAtA, i, uint64(len(m.ContainerId)))
+ i += copy(dAtA[i:], m.ContainerId)
}
return i, nil
}
+func (m *ReopenContainerLogResponse) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ReopenContainerLogResponse) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ return i, nil
+}
+
func encodeFixed64Api(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
dAtA[offset+1] = uint8(v >> 8)
@@ -8167,20 +8983,23 @@ func (m *Mount) Size() (n int) {
if m.SelinuxRelabel {
n += 2
}
+ if m.Propagation != 0 {
+ n += 1 + sovApi(uint64(m.Propagation))
+ }
return n
}
func (m *NamespaceOption) Size() (n int) {
var l int
_ = l
- if m.HostNetwork {
- n += 2
+ if m.Network != 0 {
+ n += 1 + sovApi(uint64(m.Network))
}
- if m.HostPid {
- n += 2
+ if m.Pid != 0 {
+ n += 1 + sovApi(uint64(m.Pid))
}
- if m.HostIpc {
- n += 2
+ if m.Ipc != 0 {
+ n += 1 + sovApi(uint64(m.Ipc))
}
return n
}
@@ -8222,6 +9041,10 @@ func (m *LinuxSandboxSecurityContext) Size() (n int) {
if m.Privileged {
n += 2
}
+ l = len(m.SeccompProfilePath)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
return n
}
@@ -8375,6 +9198,9 @@ func (m *PodSandboxStatusRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovApi(uint64(l))
}
+ if m.Verbose {
+ n += 2
+ }
return n
}
@@ -8459,6 +9285,14 @@ func (m *PodSandboxStatusResponse) Size() (n int) {
l = m.Status.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if len(m.Info) > 0 {
+ for k, v := range m.Info {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ n += mapEntrySize + 1 + sovApi(uint64(mapEntrySize))
+ }
+ }
return n
}
@@ -8593,6 +9427,14 @@ func (m *LinuxContainerResources) Size() (n int) {
if m.OomScoreAdj != 0 {
n += 1 + sovApi(uint64(m.OomScoreAdj))
}
+ l = len(m.CpusetCpus)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
+ l = len(m.CpusetMems)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
return n
}
@@ -8676,6 +9518,13 @@ func (m *LinuxContainerSecurityContext) Size() (n int) {
if l > 0 {
n += 1 + l + sovApi(uint64(l))
}
+ l = len(m.SeccompProfilePath)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
+ if m.NoNewPrivs {
+ n += 2
+ }
return n
}
@@ -8693,6 +9542,34 @@ func (m *LinuxContainerConfig) Size() (n int) {
return n
}
+func (m *WindowsContainerConfig) Size() (n int) {
+ var l int
+ _ = l
+ if m.Resources != nil {
+ l = m.Resources.Size()
+ n += 1 + l + sovApi(uint64(l))
+ }
+ return n
+}
+
+func (m *WindowsContainerResources) Size() (n int) {
+ var l int
+ _ = l
+ if m.CpuShares != 0 {
+ n += 1 + sovApi(uint64(m.CpuShares))
+ }
+ if m.CpuCount != 0 {
+ n += 1 + sovApi(uint64(m.CpuCount))
+ }
+ if m.CpuMaximum != 0 {
+ n += 1 + sovApi(uint64(m.CpuMaximum))
+ }
+ if m.MemoryLimitInBytes != 0 {
+ n += 1 + sovApi(uint64(m.MemoryLimitInBytes))
+ }
+ return n
+}
+
func (m *ContainerMetadata) Size() (n int) {
var l int
_ = l
@@ -8802,6 +9679,10 @@ func (m *ContainerConfig) Size() (n int) {
l = m.Linux.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if m.Windows != nil {
+ l = m.Windows.Size()
+ n += 2 + l + sovApi(uint64(l))
+ }
return n
}
@@ -8996,6 +9877,9 @@ func (m *ContainerStatusRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovApi(uint64(l))
}
+ if m.Verbose {
+ n += 2
+ }
return n
}
@@ -9077,6 +9961,34 @@ func (m *ContainerStatusResponse) Size() (n int) {
l = m.Status.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if len(m.Info) > 0 {
+ for k, v := range m.Info {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ n += mapEntrySize + 1 + sovApi(uint64(mapEntrySize))
+ }
+ }
+ return n
+}
+
+func (m *UpdateContainerResourcesRequest) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.ContainerId)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
+ if m.Linux != nil {
+ l = m.Linux.Size()
+ n += 1 + l + sovApi(uint64(l))
+ }
+ return n
+}
+
+func (m *UpdateContainerResourcesResponse) Size() (n int) {
+ var l int
+ _ = l
return n
}
@@ -9135,6 +10047,12 @@ func (m *ExecRequest) Size() (n int) {
if m.Stdin {
n += 2
}
+ if m.Stdout {
+ n += 2
+ }
+ if m.Stderr {
+ n += 2
+ }
return n
}
@@ -9161,6 +10079,12 @@ func (m *AttachRequest) Size() (n int) {
if m.Tty {
n += 2
}
+ if m.Stdout {
+ n += 2
+ }
+ if m.Stderr {
+ n += 2
+ }
return n
}
@@ -9273,6 +10197,9 @@ func (m *ImageStatusRequest) Size() (n int) {
l = m.Image.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if m.Verbose {
+ n += 2
+ }
return n
}
@@ -9283,6 +10210,14 @@ func (m *ImageStatusResponse) Size() (n int) {
l = m.Image.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if len(m.Info) > 0 {
+ for k, v := range m.Info {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ n += mapEntrySize + 1 + sovApi(uint64(mapEntrySize))
+ }
+ }
return n
}
@@ -9432,6 +10367,9 @@ func (m *RuntimeStatus) Size() (n int) {
func (m *StatusRequest) Size() (n int) {
var l int
_ = l
+ if m.Verbose {
+ n += 2
+ }
return n
}
@@ -9442,6 +10380,14 @@ func (m *StatusResponse) Size() (n int) {
l = m.Status.Size()
n += 1 + l + sovApi(uint64(l))
}
+ if len(m.Info) > 0 {
+ for k, v := range m.Info {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovApi(uint64(len(k))) + 1 + len(v) + sovApi(uint64(len(v)))
+ n += mapEntrySize + 1 + sovApi(uint64(mapEntrySize))
+ }
+ }
return n
}
@@ -9460,10 +10406,10 @@ func (m *UInt64Value) Size() (n int) {
return n
}
-func (m *StorageIdentifier) Size() (n int) {
+func (m *FilesystemIdentifier) Size() (n int) {
var l int
_ = l
- l = len(m.Uuid)
+ l = len(m.Mountpoint)
if l > 0 {
n += 1 + l + sovApi(uint64(l))
}
@@ -9476,8 +10422,8 @@ func (m *FilesystemUsage) Size() (n int) {
if m.Timestamp != 0 {
n += 1 + sovApi(uint64(m.Timestamp))
}
- if m.StorageId != nil {
- l = m.StorageId.Size()
+ if m.FsId != nil {
+ l = m.FsId.Size()
n += 1 + l + sovApi(uint64(l))
}
if m.UsedBytes != nil {
@@ -9645,6 +10591,22 @@ func (m *MemoryUsage) Size() (n int) {
return n
}
+func (m *ReopenContainerLogRequest) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.ContainerId)
+ if l > 0 {
+ n += 1 + l + sovApi(uint64(l))
+ }
+ return n
+}
+
+func (m *ReopenContainerLogResponse) Size() (n int) {
+ var l int
+ _ = l
+ return n
+}
+
func sovApi(x uint64) (n int) {
for {
n++
@@ -9715,6 +10677,7 @@ func (this *Mount) String() string {
`HostPath:` + fmt.Sprintf("%v", this.HostPath) + `,`,
`Readonly:` + fmt.Sprintf("%v", this.Readonly) + `,`,
`SelinuxRelabel:` + fmt.Sprintf("%v", this.SelinuxRelabel) + `,`,
+ `Propagation:` + fmt.Sprintf("%v", this.Propagation) + `,`,
`}`,
}, "")
return s
@@ -9724,9 +10687,9 @@ func (this *NamespaceOption) String() string {
return "nil"
}
s := strings.Join([]string{`&NamespaceOption{`,
- `HostNetwork:` + fmt.Sprintf("%v", this.HostNetwork) + `,`,
- `HostPid:` + fmt.Sprintf("%v", this.HostPid) + `,`,
- `HostIpc:` + fmt.Sprintf("%v", this.HostIpc) + `,`,
+ `Network:` + fmt.Sprintf("%v", this.Network) + `,`,
+ `Pid:` + fmt.Sprintf("%v", this.Pid) + `,`,
+ `Ipc:` + fmt.Sprintf("%v", this.Ipc) + `,`,
`}`,
}, "")
return s
@@ -9752,6 +10715,7 @@ func (this *LinuxSandboxSecurityContext) String() string {
`ReadonlyRootfs:` + fmt.Sprintf("%v", this.ReadonlyRootfs) + `,`,
`SupplementalGroups:` + fmt.Sprintf("%v", this.SupplementalGroups) + `,`,
`Privileged:` + fmt.Sprintf("%v", this.Privileged) + `,`,
+ `SeccompProfilePath:` + fmt.Sprintf("%v", this.SeccompProfilePath) + `,`,
`}`,
}, "")
return s
@@ -9892,6 +10856,7 @@ func (this *PodSandboxStatusRequest) String() string {
}
s := strings.Join([]string{`&PodSandboxStatusRequest{`,
`PodSandboxId:` + fmt.Sprintf("%v", this.PodSandboxId) + `,`,
+ `Verbose:` + fmt.Sprintf("%v", this.Verbose) + `,`,
`}`,
}, "")
return s
@@ -9967,8 +10932,19 @@ func (this *PodSandboxStatusResponse) String() string {
if this == nil {
return "nil"
}
+ keysForInfo := make([]string, 0, len(this.Info))
+ for k := range this.Info {
+ keysForInfo = append(keysForInfo, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForInfo)
+ mapStringForInfo := "map[string]string{"
+ for _, k := range keysForInfo {
+ mapStringForInfo += fmt.Sprintf("%v: %v,", k, this.Info[k])
+ }
+ mapStringForInfo += "}"
s := strings.Join([]string{`&PodSandboxStatusResponse{`,
`Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "PodSandboxStatus", "PodSandboxStatus", 1) + `,`,
+ `Info:` + mapStringForInfo + `,`,
`}`,
}, "")
return s
@@ -10091,6 +11067,8 @@ func (this *LinuxContainerResources) String() string {
`CpuShares:` + fmt.Sprintf("%v", this.CpuShares) + `,`,
`MemoryLimitInBytes:` + fmt.Sprintf("%v", this.MemoryLimitInBytes) + `,`,
`OomScoreAdj:` + fmt.Sprintf("%v", this.OomScoreAdj) + `,`,
+ `CpusetCpus:` + fmt.Sprintf("%v", this.CpusetCpus) + `,`,
+ `CpusetMems:` + fmt.Sprintf("%v", this.CpusetMems) + `,`,
`}`,
}, "")
return s
@@ -10133,6 +11111,8 @@ func (this *LinuxContainerSecurityContext) String() string {
`ReadonlyRootfs:` + fmt.Sprintf("%v", this.ReadonlyRootfs) + `,`,
`SupplementalGroups:` + fmt.Sprintf("%v", this.SupplementalGroups) + `,`,
`ApparmorProfile:` + fmt.Sprintf("%v", this.ApparmorProfile) + `,`,
+ `SeccompProfilePath:` + fmt.Sprintf("%v", this.SeccompProfilePath) + `,`,
+ `NoNewPrivs:` + fmt.Sprintf("%v", this.NoNewPrivs) + `,`,
`}`,
}, "")
return s
@@ -10148,6 +11128,29 @@ func (this *LinuxContainerConfig) String() string {
}, "")
return s
}
+func (this *WindowsContainerConfig) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&WindowsContainerConfig{`,
+ `Resources:` + strings.Replace(fmt.Sprintf("%v", this.Resources), "WindowsContainerResources", "WindowsContainerResources", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *WindowsContainerResources) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&WindowsContainerResources{`,
+ `CpuShares:` + fmt.Sprintf("%v", this.CpuShares) + `,`,
+ `CpuCount:` + fmt.Sprintf("%v", this.CpuCount) + `,`,
+ `CpuMaximum:` + fmt.Sprintf("%v", this.CpuMaximum) + `,`,
+ `MemoryLimitInBytes:` + fmt.Sprintf("%v", this.MemoryLimitInBytes) + `,`,
+ `}`,
+ }, "")
+ return s
+}
func (this *ContainerMetadata) String() string {
if this == nil {
return "nil"
@@ -10211,6 +11214,7 @@ func (this *ContainerConfig) String() string {
`StdinOnce:` + fmt.Sprintf("%v", this.StdinOnce) + `,`,
`Tty:` + fmt.Sprintf("%v", this.Tty) + `,`,
`Linux:` + strings.Replace(fmt.Sprintf("%v", this.Linux), "LinuxContainerConfig", "LinuxContainerConfig", 1) + `,`,
+ `Windows:` + strings.Replace(fmt.Sprintf("%v", this.Windows), "WindowsContainerConfig", "WindowsContainerConfig", 1) + `,`,
`}`,
}, "")
return s
@@ -10392,6 +11396,7 @@ func (this *ContainerStatusRequest) String() string {
}
s := strings.Join([]string{`&ContainerStatusRequest{`,
`ContainerId:` + fmt.Sprintf("%v", this.ContainerId) + `,`,
+ `Verbose:` + fmt.Sprintf("%v", this.Verbose) + `,`,
`}`,
}, "")
return s
@@ -10444,8 +11449,39 @@ func (this *ContainerStatusResponse) String() string {
if this == nil {
return "nil"
}
+ keysForInfo := make([]string, 0, len(this.Info))
+ for k := range this.Info {
+ keysForInfo = append(keysForInfo, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForInfo)
+ mapStringForInfo := "map[string]string{"
+ for _, k := range keysForInfo {
+ mapStringForInfo += fmt.Sprintf("%v: %v,", k, this.Info[k])
+ }
+ mapStringForInfo += "}"
s := strings.Join([]string{`&ContainerStatusResponse{`,
`Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "ContainerStatus", "ContainerStatus", 1) + `,`,
+ `Info:` + mapStringForInfo + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *UpdateContainerResourcesRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&UpdateContainerResourcesRequest{`,
+ `ContainerId:` + fmt.Sprintf("%v", this.ContainerId) + `,`,
+ `Linux:` + strings.Replace(fmt.Sprintf("%v", this.Linux), "LinuxContainerResources", "LinuxContainerResources", 1) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *UpdateContainerResourcesResponse) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&UpdateContainerResourcesResponse{`,
`}`,
}, "")
return s
@@ -10483,6 +11519,8 @@ func (this *ExecRequest) String() string {
`Cmd:` + fmt.Sprintf("%v", this.Cmd) + `,`,
`Tty:` + fmt.Sprintf("%v", this.Tty) + `,`,
`Stdin:` + fmt.Sprintf("%v", this.Stdin) + `,`,
+ `Stdout:` + fmt.Sprintf("%v", this.Stdout) + `,`,
+ `Stderr:` + fmt.Sprintf("%v", this.Stderr) + `,`,
`}`,
}, "")
return s
@@ -10505,6 +11543,8 @@ func (this *AttachRequest) String() string {
`ContainerId:` + fmt.Sprintf("%v", this.ContainerId) + `,`,
`Stdin:` + fmt.Sprintf("%v", this.Stdin) + `,`,
`Tty:` + fmt.Sprintf("%v", this.Tty) + `,`,
+ `Stdout:` + fmt.Sprintf("%v", this.Stdout) + `,`,
+ `Stderr:` + fmt.Sprintf("%v", this.Stderr) + `,`,
`}`,
}, "")
return s
@@ -10591,6 +11631,7 @@ func (this *ImageStatusRequest) String() string {
}
s := strings.Join([]string{`&ImageStatusRequest{`,
`Image:` + strings.Replace(fmt.Sprintf("%v", this.Image), "ImageSpec", "ImageSpec", 1) + `,`,
+ `Verbose:` + fmt.Sprintf("%v", this.Verbose) + `,`,
`}`,
}, "")
return s
@@ -10599,8 +11640,19 @@ func (this *ImageStatusResponse) String() string {
if this == nil {
return "nil"
}
+ keysForInfo := make([]string, 0, len(this.Info))
+ for k := range this.Info {
+ keysForInfo = append(keysForInfo, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForInfo)
+ mapStringForInfo := "map[string]string{"
+ for _, k := range keysForInfo {
+ mapStringForInfo += fmt.Sprintf("%v: %v,", k, this.Info[k])
+ }
+ mapStringForInfo += "}"
s := strings.Join([]string{`&ImageStatusResponse{`,
`Image:` + strings.Replace(fmt.Sprintf("%v", this.Image), "Image", "Image", 1) + `,`,
+ `Info:` + mapStringForInfo + `,`,
`}`,
}, "")
return s
@@ -10728,6 +11780,7 @@ func (this *StatusRequest) String() string {
return "nil"
}
s := strings.Join([]string{`&StatusRequest{`,
+ `Verbose:` + fmt.Sprintf("%v", this.Verbose) + `,`,
`}`,
}, "")
return s
@@ -10736,8 +11789,19 @@ func (this *StatusResponse) String() string {
if this == nil {
return "nil"
}
+ keysForInfo := make([]string, 0, len(this.Info))
+ for k := range this.Info {
+ keysForInfo = append(keysForInfo, k)
+ }
+ github_com_gogo_protobuf_sortkeys.Strings(keysForInfo)
+ mapStringForInfo := "map[string]string{"
+ for _, k := range keysForInfo {
+ mapStringForInfo += fmt.Sprintf("%v: %v,", k, this.Info[k])
+ }
+ mapStringForInfo += "}"
s := strings.Join([]string{`&StatusResponse{`,
`Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "RuntimeStatus", "RuntimeStatus", 1) + `,`,
+ `Info:` + mapStringForInfo + `,`,
`}`,
}, "")
return s
@@ -10761,12 +11825,12 @@ func (this *UInt64Value) String() string {
}, "")
return s
}
-func (this *StorageIdentifier) String() string {
+func (this *FilesystemIdentifier) String() string {
if this == nil {
return "nil"
}
- s := strings.Join([]string{`&StorageIdentifier{`,
- `Uuid:` + fmt.Sprintf("%v", this.Uuid) + `,`,
+ s := strings.Join([]string{`&FilesystemIdentifier{`,
+ `Mountpoint:` + fmt.Sprintf("%v", this.Mountpoint) + `,`,
`}`,
}, "")
return s
@@ -10777,7 +11841,7 @@ func (this *FilesystemUsage) String() string {
}
s := strings.Join([]string{`&FilesystemUsage{`,
`Timestamp:` + fmt.Sprintf("%v", this.Timestamp) + `,`,
- `StorageId:` + strings.Replace(fmt.Sprintf("%v", this.StorageId), "StorageIdentifier", "StorageIdentifier", 1) + `,`,
+ `FsId:` + strings.Replace(fmt.Sprintf("%v", this.FsId), "FilesystemIdentifier", "FilesystemIdentifier", 1) + `,`,
`UsedBytes:` + strings.Replace(fmt.Sprintf("%v", this.UsedBytes), "UInt64Value", "UInt64Value", 1) + `,`,
`InodesUsed:` + strings.Replace(fmt.Sprintf("%v", this.InodesUsed), "UInt64Value", "UInt64Value", 1) + `,`,
`}`,
@@ -10924,6 +11988,25 @@ func (this *MemoryUsage) String() string {
}, "")
return s
}
+func (this *ReopenContainerLogRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ReopenContainerLogRequest{`,
+ `ContainerId:` + fmt.Sprintf("%v", this.ContainerId) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ReopenContainerLogResponse) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ReopenContainerLogResponse{`,
+ `}`,
+ }, "")
+ return s
+}
func valueToStringApi(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
@@ -11577,6 +12660,25 @@ func (m *Mount) Unmarshal(dAtA []byte) error {
}
}
m.SelinuxRelabel = bool(v != 0)
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType)
+ }
+ m.Propagation = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.Propagation |= (MountPropagation(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -11629,9 +12731,9 @@ func (m *NamespaceOption) Unmarshal(dAtA []byte) error {
switch fieldNum {
case 1:
if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HostNetwork", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
}
- var v int
+ m.Network = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApi
@@ -11641,17 +12743,16 @@ func (m *NamespaceOption) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- v |= (int(b) & 0x7F) << shift
+ m.Network |= (NamespaceMode(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
- m.HostNetwork = bool(v != 0)
case 2:
if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HostPid", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Pid", wireType)
}
- var v int
+ m.Pid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApi
@@ -11661,17 +12762,16 @@ func (m *NamespaceOption) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- v |= (int(b) & 0x7F) << shift
+ m.Pid |= (NamespaceMode(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
- m.HostPid = bool(v != 0)
case 3:
if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field HostIpc", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Ipc", wireType)
}
- var v int
+ m.Ipc = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApi
@@ -11681,12 +12781,11 @@ func (m *NamespaceOption) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- v |= (int(b) & 0x7F) << shift
+ m.Ipc |= (NamespaceMode(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
- m.HostIpc = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -12007,6 +13106,35 @@ func (m *LinuxSandboxSecurityContext) Unmarshal(dAtA []byte) error {
}
}
m.Privileged = bool(v != 0)
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SeccompProfilePath", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.SeccompProfilePath = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -13360,6 +14488,26 @@ func (m *PodSandboxStatusRequest) Unmarshal(dAtA []byte) error {
}
m.PodSandboxId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Verbose", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Verbose = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -14136,6 +15284,122 @@ func (m *PodSandboxStatusResponse) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ var keykey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ keykey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ if m.Info == nil {
+ m.Info = make(map[string]string)
+ }
+ if iNdEx < postIndex {
+ var valuekey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ valuekey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ m.Info[mapkey] = mapvalue
+ } else {
+ var mapvalue string
+ m.Info[mapkey] = mapvalue
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -15311,6 +16575,64 @@ func (m *LinuxContainerResources) Unmarshal(dAtA []byte) error {
break
}
}
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CpusetCpus", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.CpusetCpus = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CpusetMems", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.CpusetMems = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -15927,6 +17249,55 @@ func (m *LinuxContainerSecurityContext) Unmarshal(dAtA []byte) error {
}
m.ApparmorProfile = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 10:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SeccompProfilePath", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.SeccompProfilePath = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 11:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NoNewPrivs", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.NoNewPrivs = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -16064,6 +17435,215 @@ func (m *LinuxContainerConfig) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *WindowsContainerConfig) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: WindowsContainerConfig: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: WindowsContainerConfig: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Resources == nil {
+ m.Resources = &WindowsContainerResources{}
+ }
+ if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *WindowsContainerResources) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: WindowsContainerResources: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: WindowsContainerResources: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CpuShares", wireType)
+ }
+ m.CpuShares = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.CpuShares |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CpuCount", wireType)
+ }
+ m.CpuCount = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.CpuCount |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CpuMaximum", wireType)
+ }
+ m.CpuMaximum = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.CpuMaximum |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field MemoryLimitInBytes", wireType)
+ }
+ m.MemoryLimitInBytes = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.MemoryLimitInBytes |= (int64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *ContainerMetadata) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -16928,6 +18508,39 @@ func (m *ContainerConfig) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 16:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Windows", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Windows == nil {
+ m.Windows = &WindowsContainerConfig{}
+ }
+ if err := m.Windows.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -18600,6 +20213,26 @@ func (m *ContainerStatusRequest) Unmarshal(dAtA []byte) error {
}
m.ContainerId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Verbose", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Verbose = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -19302,6 +20935,284 @@ func (m *ContainerStatusResponse) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ var keykey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ keykey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ if m.Info == nil {
+ m.Info = make(map[string]string)
+ }
+ if iNdEx < postIndex {
+ var valuekey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ valuekey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ m.Info[mapkey] = mapvalue
+ } else {
+ var mapvalue string
+ m.Info[mapkey] = mapvalue
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *UpdateContainerResourcesRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: UpdateContainerResourcesRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: UpdateContainerResourcesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ContainerId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ContainerId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Linux", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Linux == nil {
+ m.Linux = &LinuxContainerResources{}
+ }
+ if err := m.Linux.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *UpdateContainerResourcesResponse) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: UpdateContainerResourcesResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: UpdateContainerResourcesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -19708,6 +21619,46 @@ func (m *ExecRequest) Unmarshal(dAtA []byte) error {
}
}
m.Stdin = bool(v != 0)
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Stdout", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Stdout = bool(v != 0)
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Stderr", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Stderr = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -19906,6 +21857,46 @@ func (m *AttachRequest) Unmarshal(dAtA []byte) error {
}
}
m.Tty = bool(v != 0)
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Stdout", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Stdout = bool(v != 0)
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Stderr", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Stderr = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -20753,6 +22744,26 @@ func (m *ImageStatusRequest) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Verbose", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Verbose = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -20836,6 +22847,122 @@ func (m *ImageStatusResponse) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ var keykey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ keykey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ if m.Info == nil {
+ m.Info = make(map[string]string)
+ }
+ if iNdEx < postIndex {
+ var valuekey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ valuekey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ m.Info[mapkey] = mapvalue
+ } else {
+ var mapvalue string
+ m.Info[mapkey] = mapvalue
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -22004,6 +24131,26 @@ func (m *StatusRequest) Unmarshal(dAtA []byte) error {
return fmt.Errorf("proto: StatusRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Verbose", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Verbose = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -22087,6 +24234,122 @@ func (m *StatusResponse) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ var keykey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ keykey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey := string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ if m.Info == nil {
+ m.Info = make(map[string]string)
+ }
+ if iNdEx < postIndex {
+ var valuekey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ valuekey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return ErrInvalidLengthApi
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ m.Info[mapkey] = mapvalue
+ } else {
+ var mapvalue string
+ m.Info[mapkey] = mapvalue
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipApi(dAtA[iNdEx:])
@@ -22227,7 +24490,7 @@ func (m *UInt64Value) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *StorageIdentifier) Unmarshal(dAtA []byte) error {
+func (m *FilesystemIdentifier) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -22250,15 +24513,15 @@ func (m *StorageIdentifier) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: StorageIdentifier: wiretype end group for non-group")
+ return fmt.Errorf("proto: FilesystemIdentifier: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: StorageIdentifier: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: FilesystemIdentifier: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Uuid", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Mountpoint", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -22283,7 +24546,7 @@ func (m *StorageIdentifier) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Uuid = string(dAtA[iNdEx:postIndex])
+ m.Mountpoint = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -22356,7 +24619,7 @@ func (m *FilesystemUsage) Unmarshal(dAtA []byte) error {
}
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field StorageId", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field FsId", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
@@ -22380,10 +24643,10 @@ func (m *FilesystemUsage) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.StorageId == nil {
- m.StorageId = &StorageIdentifier{}
+ if m.FsId == nil {
+ m.FsId = &FilesystemIdentifier{}
}
- if err := m.StorageId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := m.FsId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -23835,6 +26098,135 @@ func (m *MemoryUsage) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *ReopenContainerLogRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReopenContainerLogRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReopenContainerLogRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ContainerId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthApi
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ContainerId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ReopenContainerLogResponse) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowApi
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReopenContainerLogResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReopenContainerLogResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ default:
+ iNdEx = preIndex
+ skippy, err := skipApi(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthApi
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func skipApi(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
@@ -23943,259 +26335,293 @@ var (
func init() { proto.RegisterFile("api.proto", fileDescriptorApi) }
var fileDescriptorApi = []byte{
- // 4051 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3b, 0x4d, 0x73, 0x1b, 0x47,
- 0x76, 0x04, 0xc0, 0x0f, 0xe0, 0x81, 0x00, 0xc1, 0x16, 0x45, 0x42, 0x90, 0x44, 0xd3, 0x23, 0xcb,
- 0x96, 0xb4, 0x2b, 0x59, 0xa6, 0xd7, 0x76, 0x2c, 0x7f, 0x09, 0x26, 0x29, 0x17, 0x2d, 0x89, 0xe4,
- 0x0e, 0x44, 0xef, 0x6e, 0x36, 0x55, 0x93, 0x21, 0xa6, 0x09, 0x8e, 0x0d, 0x4c, 0xcf, 0xce, 0xf4,
- 0xc8, 0x62, 0x4e, 0xc9, 0x2d, 0x47, 0xe7, 0x98, 0x5b, 0x0e, 0xa9, 0xda, 0xca, 0x25, 0x87, 0x9c,
- 0xf2, 0x0b, 0x52, 0x5b, 0x95, 0x4a, 0x55, 0x0e, 0xa9, 0x54, 0x72, 0xdb, 0x55, 0x0e, 0x39, 0xa4,
- 0x2a, 0xbf, 0x61, 0xab, 0xbf, 0x66, 0x7a, 0xbe, 0x20, 0x52, 0x76, 0xed, 0xea, 0x36, 0xfd, 0xfa,
- 0xbd, 0xd7, 0xaf, 0xfb, 0xbd, 0x7e, 0xfd, 0xde, 0xeb, 0x1e, 0x68, 0xd8, 0xbe, 0x7b, 0xc7, 0x0f,
- 0x08, 0x25, 0x68, 0x21, 0x88, 0x3c, 0xea, 0x4e, 0x70, 0xef, 0xf6, 0xc8, 0xa5, 0x27, 0xd1, 0xd1,
- 0x9d, 0x21, 0x99, 0xbc, 0x3d, 0x22, 0x23, 0xf2, 0x36, 0xef, 0x3f, 0x8a, 0x8e, 0x79, 0x8b, 0x37,
- 0xf8, 0x97, 0xa0, 0x33, 0x6e, 0x41, 0xfb, 0x2b, 0x1c, 0x84, 0x2e, 0xf1, 0x4c, 0xfc, 0xab, 0x08,
- 0x87, 0x14, 0x75, 0x61, 0xe1, 0xa9, 0x80, 0x74, 0x2b, 0x1b, 0x95, 0x1b, 0x0d, 0x53, 0x35, 0x8d,
- 0x5f, 0x57, 0x60, 0x29, 0x46, 0x0e, 0x7d, 0xe2, 0x85, 0xb8, 0x1c, 0x1b, 0xbd, 0x0e, 0x8b, 0x52,
- 0x26, 0xcb, 0xb3, 0x27, 0xb8, 0x5b, 0xe5, 0xdd, 0x4d, 0x09, 0xdb, 0xb3, 0x27, 0x18, 0xbd, 0x05,
- 0x4b, 0x0a, 0x45, 0x31, 0xa9, 0x71, 0xac, 0xb6, 0x04, 0xcb, 0xd1, 0xd0, 0x1d, 0xb8, 0xa0, 0x10,
- 0x6d, 0xdf, 0x8d, 0x91, 0x67, 0x39, 0xf2, 0xb2, 0xec, 0xea, 0xfb, 0xae, 0xc4, 0x37, 0x7e, 0x09,
- 0x8d, 0xed, 0xbd, 0xc1, 0x16, 0xf1, 0x8e, 0xdd, 0x11, 0x13, 0x31, 0xc4, 0x01, 0xa3, 0xe9, 0x56,
- 0x36, 0x6a, 0x4c, 0x44, 0xd9, 0x44, 0x3d, 0xa8, 0x87, 0xd8, 0x0e, 0x86, 0x27, 0x38, 0xec, 0x56,
- 0x79, 0x57, 0xdc, 0x66, 0x54, 0xc4, 0xa7, 0x2e, 0xf1, 0xc2, 0x6e, 0x4d, 0x50, 0xc9, 0xa6, 0xf1,
- 0xb7, 0x15, 0x68, 0x1e, 0x90, 0x80, 0x3e, 0xb6, 0x7d, 0xdf, 0xf5, 0x46, 0xe8, 0x36, 0xd4, 0xf9,
- 0x5a, 0x0e, 0xc9, 0x98, 0xaf, 0x41, 0x7b, 0x73, 0xf9, 0x8e, 0x14, 0xe9, 0xce, 0x81, 0xec, 0x30,
- 0x63, 0x14, 0x74, 0x1d, 0xda, 0x43, 0xe2, 0x51, 0xdb, 0xf5, 0x70, 0x60, 0xf9, 0x24, 0xa0, 0x7c,
- 0x65, 0xe6, 0xcc, 0x56, 0x0c, 0x65, 0xcc, 0xd1, 0x65, 0x68, 0x9c, 0x90, 0x90, 0x0a, 0x8c, 0x1a,
- 0xc7, 0xa8, 0x33, 0x00, 0xef, 0x5c, 0x83, 0x05, 0xde, 0xe9, 0xfa, 0x72, 0x0d, 0xe6, 0x59, 0x73,
- 0xd7, 0x37, 0xbe, 0xab, 0xc0, 0xdc, 0x63, 0x12, 0x79, 0x34, 0x33, 0x8c, 0x4d, 0x4f, 0xa4, 0x7e,
- 0xb4, 0x61, 0x6c, 0x7a, 0x92, 0x0c, 0xc3, 0x30, 0x84, 0x8a, 0xc4, 0x30, 0xac, 0xb3, 0x07, 0xf5,
- 0x00, 0xdb, 0x0e, 0xf1, 0xc6, 0xa7, 0x5c, 0x84, 0xba, 0x19, 0xb7, 0x99, 0xee, 0x42, 0x3c, 0x76,
- 0xbd, 0xe8, 0x99, 0x15, 0xe0, 0xb1, 0x7d, 0x84, 0xc7, 0x5c, 0x94, 0xba, 0xd9, 0x96, 0x60, 0x53,
- 0x40, 0x8d, 0xaf, 0x61, 0x89, 0x29, 0x3b, 0xf4, 0xed, 0x21, 0xde, 0xe7, 0x4b, 0xc8, 0x4c, 0x83,
- 0x0f, 0xea, 0x61, 0xfa, 0x2d, 0x09, 0xbe, 0xe1, 0x92, 0xd5, 0xcd, 0x26, 0x83, 0xed, 0x09, 0x10,
- 0xba, 0x04, 0x75, 0x21, 0x97, 0xeb, 0x70, 0xb1, 0xea, 0x26, 0x9f, 0xf1, 0x81, 0xeb, 0xc4, 0x5d,
- 0xae, 0x3f, 0x94, 0x52, 0x2d, 0x88, 0xd9, 0x0f, 0x0d, 0x03, 0x60, 0xd7, 0xa3, 0xef, 0xff, 0xe4,
- 0x2b, 0x7b, 0x1c, 0x61, 0xb4, 0x02, 0x73, 0x4f, 0xd9, 0x07, 0xe7, 0x5f, 0x33, 0x45, 0xc3, 0xf8,
- 0x8f, 0x2a, 0x5c, 0x7e, 0xc4, 0x04, 0x1c, 0xd8, 0x9e, 0x73, 0x44, 0x9e, 0x0d, 0xf0, 0x30, 0x0a,
- 0x5c, 0x7a, 0xba, 0x45, 0x3c, 0x8a, 0x9f, 0x51, 0xb4, 0x03, 0xcb, 0x9e, 0x92, 0xd7, 0x52, 0x26,
- 0xc0, 0x38, 0x34, 0x37, 0xbb, 0xb1, 0x5e, 0x33, 0x33, 0x32, 0x3b, 0x5e, 0x1a, 0x10, 0xa2, 0xcf,
- 0x92, 0xf5, 0x51, 0x4c, 0xaa, 0x9c, 0xc9, 0x6a, 0xcc, 0x64, 0xb0, 0xc3, 0xe5, 0x90, 0x2c, 0xd4,
- 0xba, 0x29, 0x06, 0xef, 0x02, 0xdb, 0x2b, 0x96, 0x1d, 0x5a, 0x51, 0x88, 0x03, 0x3e, 0xd3, 0xe6,
- 0xe6, 0x85, 0x98, 0x38, 0x99, 0xa7, 0xd9, 0x08, 0x22, 0xaf, 0x1f, 0x1e, 0x86, 0x38, 0xe0, 0x3b,
- 0x4a, 0x6a, 0xc8, 0x0a, 0x08, 0xa1, 0xc7, 0xa1, 0xd2, 0x8a, 0x02, 0x9b, 0x1c, 0x8a, 0xde, 0x86,
- 0x0b, 0x61, 0xe4, 0xfb, 0x63, 0x3c, 0xc1, 0x1e, 0xb5, 0xc7, 0xd6, 0x28, 0x20, 0x91, 0x1f, 0x76,
- 0xe7, 0x36, 0x6a, 0x37, 0x6a, 0x26, 0xd2, 0xbb, 0xbe, 0xe0, 0x3d, 0x68, 0x1d, 0xc0, 0x0f, 0xdc,
- 0xa7, 0xee, 0x18, 0x8f, 0xb0, 0xd3, 0x9d, 0xe7, 0x4c, 0x35, 0x88, 0xf1, 0x5d, 0x15, 0x2e, 0xf2,
- 0xe9, 0x1c, 0x10, 0x47, 0xae, 0xac, 0xdc, 0x7f, 0xd7, 0xa0, 0x35, 0xe4, 0xec, 0x2d, 0xdf, 0x0e,
- 0xb0, 0x47, 0xa5, 0x21, 0x2e, 0x0a, 0xe0, 0x01, 0x87, 0xa1, 0x7d, 0xe8, 0x84, 0x52, 0x11, 0xd6,
- 0x50, 0x68, 0x42, 0xae, 0xd7, 0x1b, 0xf1, 0x94, 0xa7, 0x68, 0xcd, 0x5c, 0x0a, 0x73, 0x6a, 0x5c,
- 0x08, 0x4f, 0xc3, 0x21, 0x1d, 0x8b, 0xfd, 0xdb, 0xdc, 0xfc, 0x51, 0x9a, 0x4f, 0x56, 0xcc, 0x3b,
- 0x03, 0x81, 0xbd, 0xe3, 0xd1, 0xe0, 0xd4, 0x54, 0xb4, 0xbd, 0x7b, 0xb0, 0xa8, 0x77, 0xa0, 0x0e,
- 0xd4, 0xbe, 0xc1, 0xa7, 0x72, 0x0a, 0xec, 0x33, 0xb1, 0x32, 0xb1, 0x7b, 0x44, 0xe3, 0x5e, 0xf5,
- 0x4f, 0x2a, 0x46, 0x00, 0x28, 0x19, 0xe5, 0x31, 0xa6, 0xb6, 0x63, 0x53, 0x1b, 0x21, 0x98, 0xe5,
- 0xfe, 0x50, 0xb0, 0xe0, 0xdf, 0x8c, 0x6b, 0x24, 0x0d, 0xbd, 0x61, 0xb2, 0x4f, 0x74, 0x05, 0x1a,
- 0xb1, 0x49, 0x49, 0xa7, 0x98, 0x00, 0x98, 0x73, 0xb2, 0x29, 0xc5, 0x13, 0x9f, 0x72, 0xf5, 0xb6,
- 0x4c, 0xd5, 0x34, 0xfe, 0x79, 0x16, 0x3a, 0x39, 0x0d, 0x7c, 0x00, 0xf5, 0x89, 0x1c, 0x5e, 0x5a,
- 0xf2, 0xe5, 0xc4, 0x43, 0xe5, 0x24, 0x34, 0x63, 0x64, 0xe6, 0x00, 0xd8, 0xd6, 0xd2, 0xfc, 0x77,
- 0xdc, 0x66, 0x6a, 0x1d, 0x93, 0x91, 0xe5, 0xb8, 0x01, 0x1e, 0x52, 0x12, 0x9c, 0x4a, 0x29, 0x17,
- 0xc7, 0x64, 0xb4, 0xad, 0x60, 0xe8, 0x1d, 0x00, 0xc7, 0x0b, 0x99, 0x46, 0x8f, 0xdd, 0x11, 0x97,
- 0xb5, 0xb9, 0x89, 0xe2, 0xb1, 0x63, 0x1f, 0x6d, 0x36, 0x1c, 0x2f, 0x94, 0xc2, 0x7e, 0x08, 0x2d,
- 0xe6, 0xf3, 0xac, 0x89, 0x70, 0xaf, 0xc2, 0x26, 0x9b, 0x9b, 0x2b, 0x9a, 0xc4, 0xb1, 0xef, 0x35,
- 0x17, 0xfd, 0xa4, 0x11, 0xa2, 0x4f, 0x60, 0x9e, 0xfb, 0x9c, 0xb0, 0x3b, 0xcf, 0x69, 0xae, 0x17,
- 0xcc, 0x52, 0x6a, 0xfb, 0x11, 0xc7, 0x13, 0xca, 0x96, 0x44, 0xe8, 0x11, 0x34, 0x6d, 0xcf, 0x23,
- 0xd4, 0x16, 0xdb, 0x75, 0x81, 0xf3, 0xb8, 0x55, 0xce, 0xa3, 0x9f, 0x20, 0x0b, 0x46, 0x3a, 0x39,
- 0xfa, 0x09, 0xcc, 0xf1, 0xfd, 0xdc, 0xad, 0xf3, 0x59, 0xaf, 0x4f, 0x37, 0x3f, 0x53, 0x20, 0xf7,
- 0x3e, 0x84, 0xa6, 0x26, 0xda, 0x79, 0xcc, 0xad, 0xf7, 0x29, 0x74, 0xb2, 0x12, 0x9d, 0xcb, 0x5c,
- 0x77, 0x61, 0xc5, 0x8c, 0xbc, 0x44, 0x30, 0x15, 0x10, 0xbc, 0x03, 0xf3, 0x52, 0x7f, 0xc2, 0x76,
- 0x2e, 0x95, 0xae, 0x88, 0x29, 0x11, 0x8d, 0x4f, 0xe0, 0x62, 0x86, 0x95, 0x0c, 0x17, 0xde, 0x80,
- 0xb6, 0x4f, 0x1c, 0x2b, 0x14, 0x60, 0xcb, 0x75, 0x94, 0x33, 0xf0, 0x63, 0xdc, 0x5d, 0x87, 0x91,
- 0x0f, 0x28, 0xf1, 0xf3, 0xa2, 0x9c, 0x8d, 0xbc, 0x0b, 0xab, 0x59, 0x72, 0x31, 0xbc, 0xf1, 0x19,
- 0xac, 0x99, 0x78, 0x42, 0x9e, 0xe2, 0x97, 0x65, 0xdd, 0x83, 0x6e, 0x9e, 0x41, 0xc2, 0x3c, 0x81,
- 0x0e, 0xa8, 0x4d, 0xa3, 0xf0, 0x7c, 0xcc, 0x6f, 0xea, 0x0c, 0xe4, 0x41, 0x28, 0xf8, 0xa0, 0x36,
- 0x54, 0x5d, 0x5f, 0x12, 0x55, 0x5d, 0xdf, 0xf8, 0x0c, 0x1a, 0xf1, 0x11, 0x84, 0x36, 0x93, 0x50,
- 0xa5, 0xfa, 0x82, 0x73, 0x2a, 0x0e, 0x62, 0x1e, 0xe6, 0xbc, 0xb5, 0x1c, 0x69, 0x13, 0x20, 0xf6,
- 0x33, 0xea, 0xdc, 0x43, 0x79, 0x7e, 0xa6, 0x86, 0x65, 0xfc, 0x7d, 0xca, 0xe9, 0x68, 0x22, 0x3b,
- 0xb1, 0xc8, 0x4e, 0xca, 0x09, 0x55, 0xcf, 0xe3, 0x84, 0xee, 0xc0, 0x5c, 0x48, 0x6d, 0x2a, 0xdc,
- 0x60, 0x5b, 0x9b, 0x5c, 0x7a, 0x48, 0x6c, 0x0a, 0x34, 0x74, 0x15, 0x60, 0x18, 0x60, 0x9b, 0x62,
- 0xc7, 0xb2, 0x85, 0x7f, 0xac, 0x99, 0x0d, 0x09, 0xe9, 0x53, 0x74, 0x0f, 0x16, 0x54, 0xdc, 0x31,
- 0xc7, 0xc5, 0xd8, 0x28, 0x60, 0x98, 0x5a, 0x7d, 0x53, 0x11, 0x24, 0x7b, 0x7a, 0x7e, 0xfa, 0x9e,
- 0x96, 0x74, 0x02, 0x59, 0x73, 0x4b, 0x0b, 0xa5, 0x6e, 0x49, 0x50, 0x9c, 0xc5, 0x2d, 0xd5, 0x4b,
- 0xdd, 0x92, 0xe4, 0x31, 0xd5, 0x2d, 0xfd, 0x31, 0x1d, 0xcc, 0x63, 0xe8, 0xe6, 0x37, 0x88, 0x74,
- 0x0c, 0xef, 0xc0, 0x7c, 0xc8, 0x21, 0x53, 0x9c, 0x8c, 0x24, 0x91, 0x88, 0xc6, 0x03, 0x58, 0xc9,
- 0x58, 0x80, 0x08, 0xfb, 0x62, 0x7b, 0xa9, 0x9c, 0xc9, 0x5e, 0x8c, 0xff, 0xaf, 0xe8, 0xd6, 0xfb,
- 0xc0, 0x1d, 0x53, 0x1c, 0xe4, 0xac, 0xf7, 0x5d, 0xc5, 0x54, 0x98, 0xee, 0xd5, 0x32, 0xa6, 0x22,
- 0x22, 0x93, 0x96, 0x38, 0x80, 0x36, 0xd7, 0xa1, 0x15, 0xe2, 0x31, 0x3f, 0x10, 0x65, 0x28, 0xf2,
- 0xe3, 0x02, 0x6a, 0x31, 0xae, 0x30, 0x80, 0x81, 0x44, 0x17, 0xea, 0x6b, 0x8d, 0x75, 0x58, 0xef,
- 0x3e, 0xa0, 0x3c, 0xd2, 0xb9, 0xf4, 0xf0, 0x25, 0xdb, 0xfb, 0x2c, 0x93, 0x28, 0xf0, 0xf4, 0xc7,
- 0x5c, 0x8c, 0x29, 0x4a, 0x10, 0x72, 0x9a, 0x12, 0xd1, 0xf8, 0xbb, 0x1a, 0x40, 0xd2, 0xf9, 0xca,
- 0x6e, 0xfa, 0x0f, 0xe2, 0x2d, 0x28, 0xa2, 0x89, 0xd7, 0x0a, 0xf8, 0x15, 0x6e, 0xbe, 0x07, 0xe9,
- 0xcd, 0x27, 0xe2, 0x8a, 0x37, 0x8a, 0xa8, 0x5f, 0xd9, 0x6d, 0xb7, 0x05, 0xab, 0x59, 0x75, 0xcb,
- 0x4d, 0x77, 0x13, 0xe6, 0x5c, 0x8a, 0x27, 0x22, 0x2f, 0xd6, 0x93, 0x0b, 0x0d, 0x57, 0x60, 0x18,
- 0xaf, 0x43, 0x63, 0x77, 0x62, 0x8f, 0xf0, 0xc0, 0xc7, 0x43, 0x36, 0x96, 0xcb, 0x1a, 0x72, 0x7c,
- 0xd1, 0x30, 0x36, 0xa1, 0xfe, 0x10, 0x9f, 0x8a, 0x3d, 0x78, 0x46, 0xf9, 0x8c, 0x7f, 0xad, 0xc0,
- 0x1a, 0xf7, 0x9d, 0x5b, 0x2a, 0x2b, 0x35, 0x71, 0x48, 0xa2, 0x60, 0x88, 0x43, 0xae, 0x52, 0x3f,
- 0xb2, 0x7c, 0x1c, 0xb8, 0xc4, 0x91, 0x39, 0x5c, 0x63, 0xe8, 0x47, 0x07, 0x1c, 0xc0, 0x32, 0x57,
- 0xd6, 0xfd, 0xab, 0x88, 0x48, 0xdb, 0xaa, 0x99, 0xf5, 0xa1, 0x1f, 0xfd, 0x94, 0xb5, 0x15, 0x6d,
- 0x78, 0x62, 0x07, 0x38, 0xe4, 0x36, 0x24, 0x68, 0x07, 0x1c, 0x80, 0xde, 0x81, 0x8b, 0x13, 0x3c,
- 0x21, 0xc1, 0xa9, 0x35, 0x76, 0x27, 0x2e, 0xb5, 0x5c, 0xcf, 0x3a, 0x3a, 0xa5, 0x38, 0x94, 0x86,
- 0x83, 0x44, 0xe7, 0x23, 0xd6, 0xb7, 0xeb, 0x7d, 0xce, 0x7a, 0x90, 0x01, 0x2d, 0x42, 0x26, 0x56,
- 0x38, 0x24, 0x01, 0xb6, 0x6c, 0xe7, 0x6b, 0x7e, 0x78, 0xd4, 0xcc, 0x26, 0x21, 0x93, 0x01, 0x83,
- 0xf5, 0x9d, 0xaf, 0x0d, 0x1b, 0x5a, 0xa9, 0x9c, 0x8e, 0xc5, 0xfa, 0x3c, 0x79, 0x93, 0xb1, 0x3e,
- 0xfb, 0x66, 0xb0, 0x80, 0x8c, 0xd5, 0x3a, 0xf0, 0x6f, 0x06, 0xa3, 0xa7, 0xbe, 0x0a, 0xf4, 0xf9,
- 0x37, 0x5b, 0xb0, 0x31, 0x7e, 0x2a, 0xd3, 0xea, 0x86, 0x29, 0x1a, 0x86, 0x03, 0xb0, 0x65, 0xfb,
- 0xf6, 0x91, 0x3b, 0x76, 0xe9, 0x29, 0xba, 0x09, 0x1d, 0xdb, 0x71, 0xac, 0xa1, 0x82, 0xb8, 0x58,
- 0xd5, 0x38, 0x96, 0x6c, 0xc7, 0xd9, 0xd2, 0xc0, 0xe8, 0x47, 0xb0, 0xec, 0x04, 0xc4, 0x4f, 0xe3,
- 0x8a, 0xa2, 0x47, 0x87, 0x75, 0xe8, 0xc8, 0xc6, 0xf3, 0x1a, 0x5c, 0x4d, 0xab, 0x25, 0x9b, 0x25,
- 0x7f, 0x00, 0x8b, 0x99, 0x51, 0xd3, 0xe9, 0x69, 0x22, 0xa4, 0x99, 0x42, 0xcc, 0xe4, 0x91, 0xd5,
- 0x6c, 0x1e, 0x59, 0x9c, 0x7e, 0xd7, 0x7e, 0x88, 0xf4, 0x7b, 0xf6, 0xfb, 0xa4, 0xdf, 0x73, 0x67,
- 0x4a, 0xbf, 0xdf, 0xe4, 0x05, 0x2d, 0x45, 0xc4, 0xd3, 0xa6, 0x79, 0x51, 0x75, 0x89, 0x71, 0x3c,
- 0x55, 0xf8, 0xca, 0xa4, 0xe9, 0x0b, 0xe7, 0x49, 0xd3, 0xeb, 0xa5, 0x69, 0x3a, 0xb3, 0x08, 0xdf,
- 0xb7, 0x83, 0x09, 0x09, 0x2c, 0x3f, 0x20, 0xc7, 0xee, 0x18, 0x77, 0x1b, 0x5c, 0x84, 0x25, 0x05,
- 0x3f, 0x10, 0x60, 0xe3, 0x1f, 0x2a, 0xb0, 0x92, 0x56, 0xb2, 0xcc, 0xc0, 0x3e, 0x85, 0x46, 0xa0,
- 0x76, 0xa1, 0x54, 0xec, 0x46, 0x3a, 0xd2, 0xc9, 0xef, 0x56, 0x33, 0x21, 0x41, 0x3f, 0x2d, 0xcd,
- 0xe5, 0xdf, 0x2c, 0x61, 0xf3, 0xa2, 0x6c, 0xde, 0xe8, 0xc3, 0x72, 0x8c, 0x3c, 0x35, 0x93, 0xd6,
- 0x32, 0xe3, 0x6a, 0x3a, 0x33, 0xf6, 0x60, 0x7e, 0x1b, 0x3f, 0x75, 0x87, 0xf8, 0x07, 0x29, 0x8d,
- 0x6d, 0x40, 0xd3, 0xc7, 0xc1, 0xc4, 0x0d, 0xc3, 0xd8, 0x40, 0x1b, 0xa6, 0x0e, 0x32, 0xfe, 0x7b,
- 0x0e, 0x96, 0xb2, 0x2b, 0xfb, 0x7e, 0x2e, 0x11, 0xef, 0x25, 0x3b, 0x26, 0x3b, 0x3f, 0xed, 0x34,
- 0xbc, 0xa1, 0x1c, 0x6e, 0x35, 0x13, 0x8f, 0xc7, 0x3e, 0x59, 0x3a, 0x61, 0x36, 0xff, 0x21, 0x99,
- 0x4c, 0x6c, 0xcf, 0x51, 0x65, 0x4b, 0xd9, 0x64, 0xab, 0x65, 0x07, 0x23, 0xb6, 0x0d, 0x18, 0x98,
- 0x7f, 0xa3, 0xd7, 0xa0, 0xc9, 0xe2, 0x5a, 0xd7, 0xe3, 0x79, 0x3c, 0x37, 0xf2, 0x86, 0x09, 0x12,
- 0xb4, 0xed, 0x06, 0xe8, 0x3a, 0xcc, 0x62, 0xef, 0xa9, 0x3a, 0xf7, 0x92, 0xba, 0xa6, 0x72, 0xf4,
- 0x26, 0xef, 0x46, 0x6f, 0xc2, 0xfc, 0x84, 0x44, 0x1e, 0x55, 0x11, 0x6e, 0x3b, 0x46, 0xe4, 0xc5,
- 0x48, 0x53, 0xf6, 0xa2, 0x9b, 0xb0, 0xe0, 0x70, 0x1d, 0xa8, 0x30, 0x76, 0x29, 0xa9, 0x05, 0x70,
- 0xb8, 0xa9, 0xfa, 0xd1, 0xc7, 0xf1, 0x89, 0xdd, 0xc8, 0x9c, 0xb9, 0x99, 0x45, 0x2d, 0x3c, 0xb6,
- 0x1f, 0xa6, 0x8f, 0x6d, 0xe0, 0x2c, 0x6e, 0x96, 0xb2, 0x98, 0x9e, 0xc9, 0x5f, 0x82, 0xfa, 0x98,
- 0x8c, 0x84, 0x1d, 0x34, 0x45, 0x91, 0x7b, 0x4c, 0x46, 0xdc, 0x0c, 0x56, 0x58, 0x98, 0xe2, 0xb8,
- 0x5e, 0x77, 0x91, 0x6f, 0x5f, 0xd1, 0x60, 0xa7, 0x0f, 0xff, 0xb0, 0x88, 0x37, 0xc4, 0xdd, 0x16,
- 0xef, 0x6a, 0x70, 0xc8, 0xbe, 0x37, 0xe4, 0x87, 0x23, 0xa5, 0xa7, 0xdd, 0x36, 0x87, 0xb3, 0x4f,
- 0x16, 0x5d, 0x8a, 0xbc, 0x62, 0x29, 0x13, 0x5d, 0x16, 0xed, 0xcf, 0x57, 0xa0, 0x54, 0xf0, 0x4f,
- 0x15, 0x58, 0xdd, 0xe2, 0xc1, 0x95, 0xe6, 0x09, 0xce, 0x91, 0xea, 0xa2, 0xbb, 0x71, 0x4d, 0x21,
- 0x9b, 0xb1, 0x66, 0x27, 0x2b, 0xf1, 0xd0, 0x7d, 0x68, 0x2b, 0x9e, 0x92, 0xb2, 0xf6, 0xa2, 0x6a,
- 0x44, 0x2b, 0xd4, 0x9b, 0xc6, 0xc7, 0xb0, 0x96, 0x93, 0x59, 0x06, 0x42, 0xaf, 0xc3, 0x62, 0xe2,
- 0x11, 0x62, 0x91, 0x9b, 0x31, 0x6c, 0xd7, 0x31, 0xee, 0xc1, 0xc5, 0x01, 0xb5, 0x03, 0x9a, 0x9b,
- 0xf0, 0x19, 0x68, 0x79, 0x41, 0x22, 0x4d, 0x2b, 0x6b, 0x06, 0x03, 0x58, 0x19, 0x50, 0xe2, 0xbf,
- 0x04, 0x53, 0xb6, 0xd3, 0xd9, 0xb4, 0x49, 0x44, 0x65, 0xf4, 0xa3, 0x9a, 0xc6, 0x9a, 0x28, 0x9f,
- 0xe4, 0x47, 0xfb, 0x08, 0x56, 0x45, 0xf5, 0xe2, 0x65, 0x26, 0x71, 0x49, 0xd5, 0x4e, 0xf2, 0x7c,
- 0xb7, 0xe1, 0x42, 0xe2, 0xca, 0x93, 0x44, 0xec, 0x76, 0x3a, 0x11, 0x5b, 0xcb, 0xeb, 0x38, 0x95,
- 0x87, 0xfd, 0x4d, 0x55, 0x73, 0x98, 0x25, 0x69, 0xd8, 0x66, 0x3a, 0x0d, 0xbb, 0x52, 0xc2, 0x32,
- 0x95, 0x85, 0xe5, 0x2d, 0xb2, 0x56, 0x60, 0x91, 0x66, 0x2e, 0x57, 0x9b, 0xcd, 0x94, 0x8d, 0x33,
- 0xb2, 0xfd, 0x41, 0x52, 0xb5, 0x5d, 0x91, 0xaa, 0xc5, 0x43, 0xc7, 0x15, 0xa5, 0xbb, 0x99, 0x54,
- 0xad, 0x5b, 0x26, 0x66, 0x9c, 0xa9, 0xfd, 0xf5, 0x2c, 0x34, 0xe2, 0xbe, 0xdc, 0xc2, 0xe6, 0x17,
- 0xa9, 0x5a, 0xb0, 0x48, 0xfa, 0xf9, 0x55, 0x7b, 0x99, 0xf3, 0x6b, 0xf6, 0x45, 0xe7, 0xd7, 0x65,
- 0x68, 0xf0, 0x0f, 0x2b, 0xc0, 0xc7, 0xf2, 0x3c, 0xaa, 0x73, 0x80, 0x89, 0x8f, 0x13, 0x83, 0x9a,
- 0x3f, 0x8b, 0x41, 0x65, 0x72, 0xc2, 0x85, 0x6c, 0x4e, 0xf8, 0x7e, 0x7c, 0xc2, 0x88, 0xb3, 0x68,
- 0x3d, 0xcf, 0xae, 0xf0, 0x6c, 0xd9, 0x49, 0x9f, 0x2d, 0xe2, 0x78, 0xba, 0x56, 0x40, 0xfc, 0xca,
- 0x66, 0x84, 0x8f, 0x44, 0x46, 0xa8, 0x5b, 0x95, 0x74, 0x84, 0x9b, 0x00, 0xf1, 0x9e, 0x57, 0x69,
- 0x21, 0xca, 0x4f, 0xcd, 0xd4, 0xb0, 0x98, 0x57, 0x49, 0xad, 0x7f, 0x52, 0xf6, 0x3c, 0x83, 0x57,
- 0xf9, 0x17, 0x3d, 0x4a, 0x2a, 0xa9, 0x1c, 0xbe, 0x9f, 0x2b, 0x22, 0x9c, 0xcd, 0xea, 0x6e, 0xa7,
- 0x6b, 0x08, 0xe7, 0x33, 0x97, 0x5c, 0x09, 0x81, 0x1f, 0xea, 0x76, 0x20, 0xbb, 0x45, 0xf6, 0xd7,
- 0x90, 0x90, 0x3e, 0x65, 0xa1, 0xd4, 0xb1, 0xeb, 0xb9, 0xe1, 0x89, 0xe8, 0x9f, 0xe7, 0xfd, 0xa0,
- 0x40, 0x7d, 0x7e, 0xa1, 0x8b, 0x9f, 0xb9, 0xd4, 0x1a, 0x12, 0x07, 0x73, 0x63, 0x9c, 0x33, 0xeb,
- 0x0c, 0xb0, 0x45, 0x1c, 0x9c, 0x6c, 0x90, 0xfa, 0xb9, 0x36, 0x48, 0x23, 0xb3, 0x41, 0x56, 0x61,
- 0x3e, 0xc0, 0x76, 0x48, 0xbc, 0x2e, 0x88, 0x6b, 0x61, 0xd1, 0x62, 0x67, 0xc5, 0x04, 0x87, 0x21,
- 0x1b, 0x40, 0x06, 0x30, 0xb2, 0xa9, 0x85, 0x59, 0x8b, 0x65, 0x61, 0xd6, 0x94, 0xd2, 0x64, 0x26,
- 0xcc, 0x6a, 0x95, 0x85, 0x59, 0x67, 0xa9, 0x4c, 0x6a, 0x41, 0x64, 0x7b, 0x6a, 0x10, 0xa9, 0x87,
- 0x63, 0x4b, 0xa9, 0x70, 0xec, 0x8f, 0xb9, 0xa7, 0x1e, 0xc2, 0x5a, 0x6e, 0x17, 0xc8, 0x4d, 0x75,
- 0x37, 0x53, 0xdb, 0xec, 0x96, 0x2d, 0x50, 0x5c, 0xda, 0xfc, 0x73, 0x58, 0xda, 0x79, 0x86, 0x87,
- 0x83, 0x53, 0x6f, 0x78, 0x8e, 0x88, 0xa0, 0x03, 0xb5, 0xe1, 0xc4, 0x91, 0x49, 0x3d, 0xfb, 0xd4,
- 0x63, 0x84, 0x5a, 0x3a, 0x46, 0xb0, 0xa0, 0x93, 0x8c, 0x20, 0xe5, 0x5c, 0x65, 0x72, 0x3a, 0x0c,
- 0x99, 0x31, 0x5f, 0x34, 0x65, 0x4b, 0xc2, 0x71, 0x10, 0xf0, 0x59, 0x0b, 0x38, 0x0e, 0x82, 0xb4,
- 0x45, 0xd7, 0xd2, 0x16, 0x6d, 0x7c, 0x0d, 0x4d, 0x36, 0xc0, 0xf7, 0x12, 0x5f, 0x06, 0xca, 0xb5,
- 0x24, 0x50, 0x8e, 0xe3, 0xed, 0x59, 0x2d, 0xde, 0x36, 0x36, 0x60, 0x51, 0x8c, 0x25, 0x27, 0xd2,
- 0x81, 0x5a, 0x14, 0x8c, 0x95, 0xde, 0xa2, 0x60, 0x6c, 0xfc, 0x29, 0xb4, 0xfa, 0x94, 0xda, 0xc3,
- 0x93, 0x73, 0xc8, 0x13, 0x8f, 0x55, 0xd5, 0x63, 0xfb, 0x9c, 0x4c, 0x86, 0x01, 0x6d, 0xc5, 0xbb,
- 0x74, 0xfc, 0x3d, 0x40, 0x07, 0x24, 0xa0, 0x0f, 0x48, 0xf0, 0xad, 0x1d, 0x38, 0xe7, 0x8b, 0x95,
- 0x11, 0xcc, 0xca, 0x67, 0x22, 0xb5, 0x1b, 0x73, 0x26, 0xff, 0x36, 0xde, 0x82, 0x0b, 0x29, 0x7e,
- 0xa5, 0x03, 0x7f, 0x00, 0x4d, 0xee, 0x42, 0x64, 0x3c, 0x75, 0x43, 0xaf, 0xdc, 0x4d, 0xf3, 0x33,
- 0x2c, 0xe3, 0x66, 0x67, 0x04, 0x87, 0xc7, 0x0e, 0xfd, 0xc7, 0x99, 0xa8, 0x63, 0x25, 0x4d, 0x9f,
- 0x89, 0x38, 0xfe, 0xb1, 0x02, 0x73, 0x1c, 0x9e, 0xf3, 0xe8, 0x97, 0xa1, 0x11, 0x60, 0x9f, 0x58,
- 0xd4, 0x1e, 0xc5, 0x2f, 0x6f, 0x18, 0xe0, 0x89, 0x3d, 0x0a, 0xf9, 0xc3, 0x21, 0xd6, 0xe9, 0xb8,
- 0x23, 0x1c, 0x52, 0xf5, 0xfc, 0xa6, 0xc9, 0x60, 0xdb, 0x02, 0xc4, 0x96, 0x24, 0x74, 0xff, 0x42,
- 0x84, 0x13, 0xb3, 0x26, 0xff, 0x46, 0xd7, 0xc5, 0x1d, 0xfa, 0x94, 0x42, 0x0d, 0xbf, 0x58, 0xef,
- 0x41, 0x3d, 0x53, 0x9b, 0x89, 0xdb, 0xc6, 0xc7, 0x80, 0xf4, 0x39, 0xcb, 0x45, 0x7d, 0x13, 0xe6,
- 0xf9, 0x92, 0xa8, 0xf3, 0xb0, 0x9d, 0x9e, 0xb4, 0x29, 0x7b, 0x8d, 0x4f, 0x01, 0x89, 0x55, 0x4c,
- 0x9d, 0x81, 0x67, 0x5f, 0xf1, 0x8f, 0xe0, 0x42, 0x8a, 0x3e, 0xbe, 0x32, 0x4d, 0x31, 0xc8, 0x8e,
- 0x2e, 0x89, 0xff, 0xad, 0x02, 0xd0, 0x8f, 0xe8, 0x89, 0x2c, 0x34, 0xe8, 0xb3, 0xac, 0xa4, 0x67,
- 0xc9, 0xfa, 0x7c, 0x3b, 0x0c, 0xbf, 0x25, 0x81, 0x0a, 0xf2, 0xe2, 0x36, 0x2f, 0x12, 0x44, 0xf4,
- 0x44, 0x15, 0x22, 0xd9, 0x37, 0xba, 0x0e, 0x6d, 0xf1, 0x60, 0xca, 0xb2, 0x1d, 0x27, 0xc0, 0x61,
- 0x28, 0x2b, 0x92, 0x2d, 0x01, 0xed, 0x0b, 0x20, 0x43, 0x73, 0x1d, 0xec, 0x51, 0x97, 0x9e, 0x5a,
- 0x94, 0x7c, 0x83, 0x3d, 0x19, 0xbe, 0xb5, 0x14, 0xf4, 0x09, 0x03, 0x32, 0xb4, 0x00, 0x8f, 0xdc,
- 0x90, 0x06, 0x0a, 0x4d, 0x55, 0xc8, 0x24, 0x94, 0xa3, 0x19, 0xbf, 0xae, 0x40, 0xe7, 0x20, 0x1a,
- 0x8f, 0xc5, 0x24, 0xcf, 0xbb, 0x96, 0xe8, 0x2d, 0x39, 0x8f, 0x6a, 0xc6, 0x1a, 0x92, 0x25, 0x92,
- 0x93, 0xfb, 0xfe, 0x69, 0xe5, 0x5d, 0x58, 0xd6, 0x04, 0x95, 0x4a, 0x4b, 0x9d, 0xd2, 0x95, 0xf4,
- 0x29, 0xcd, 0x0c, 0x45, 0x64, 0x52, 0x2f, 0x37, 0x39, 0xe3, 0x22, 0x5c, 0x48, 0xd1, 0xcb, 0x2c,
- 0xec, 0x16, 0xb4, 0xe4, 0xb5, 0xa5, 0x34, 0x82, 0x4b, 0x50, 0x67, 0xee, 0x65, 0xe8, 0x3a, 0xaa,
- 0x02, 0xbd, 0xe0, 0x13, 0x67, 0xcb, 0x75, 0x02, 0x63, 0x0f, 0x5a, 0xa6, 0x60, 0x2f, 0x71, 0x3f,
- 0x81, 0xb6, 0xbc, 0xe4, 0xb4, 0x52, 0x97, 0xfd, 0x49, 0xb9, 0x34, 0xc5, 0xdb, 0x6c, 0x79, 0x7a,
- 0xd3, 0xf8, 0x25, 0xf4, 0x0e, 0x7d, 0x87, 0x05, 0x53, 0x3a, 0x57, 0x35, 0xb5, 0x4f, 0x40, 0x3d,
- 0xe8, 0x2b, 0x63, 0x9e, 0x26, 0x6b, 0x05, 0x7a, 0xd3, 0xb8, 0x0a, 0x97, 0x0b, 0x99, 0xcb, 0x79,
- 0xfb, 0xd0, 0x49, 0x3a, 0x1c, 0x57, 0x15, 0xde, 0x79, 0x41, 0xbd, 0xa2, 0x15, 0xd4, 0x57, 0xe3,
- 0x63, 0x58, 0x38, 0x74, 0xd9, 0xd2, 0x82, 0xa6, 0x5a, 0x59, 0xd0, 0x34, 0x9b, 0x0a, 0x9a, 0x8c,
- 0x2f, 0xe3, 0xd5, 0x93, 0x11, 0xeb, 0x87, 0x3c, 0x6c, 0x16, 0x63, 0x2b, 0x37, 0x71, 0xa9, 0x60,
- 0x72, 0x02, 0xc3, 0xd4, 0x90, 0x8d, 0x25, 0x68, 0xa5, 0x1c, 0x86, 0x71, 0x1f, 0xda, 0x19, 0x0f,
- 0x70, 0x27, 0x13, 0x3f, 0xe4, 0x96, 0x2d, 0x13, 0x3d, 0xac, 0x48, 0x47, 0xf4, 0x20, 0xdc, 0xf5,
- 0x8e, 0x89, 0xe2, 0x7b, 0x0d, 0x9a, 0x87, 0x65, 0x8f, 0xe3, 0x66, 0xd5, 0x7d, 0xcc, 0x5b, 0xb0,
- 0x3c, 0xa0, 0x24, 0xb0, 0x47, 0x78, 0x97, 0xef, 0xda, 0x63, 0x57, 0xdc, 0x58, 0x44, 0x51, 0xec,
- 0xbf, 0xf9, 0xb7, 0xf1, 0x9f, 0x15, 0x58, 0x7a, 0xe0, 0x8e, 0x71, 0x78, 0x1a, 0x52, 0x3c, 0x39,
- 0xe4, 0xb1, 0xe4, 0x15, 0x68, 0x30, 0x69, 0x42, 0x6a, 0x4f, 0x7c, 0x75, 0x5f, 0x13, 0x03, 0xd8,
- 0x1a, 0x85, 0x82, 0xb5, 0xca, 0x2e, 0xf5, 0x38, 0x3e, 0x37, 0x2a, 0x8b, 0xad, 0x25, 0x08, 0xbd,
- 0x0b, 0x10, 0x85, 0xd8, 0x91, 0x77, 0x34, 0xb5, 0xcc, 0xd1, 0x73, 0xa8, 0xd7, 0xe2, 0x19, 0x9e,
- 0xb8, 0xb0, 0x79, 0x0f, 0x9a, 0xae, 0x47, 0x1c, 0xcc, 0x6b, 0xf1, 0x8e, 0xcc, 0x3c, 0x8b, 0xa9,
- 0x40, 0x20, 0x1e, 0x86, 0xd8, 0x31, 0xfe, 0x4c, 0x7a, 0x61, 0xb5, 0x78, 0x52, 0x07, 0x3b, 0xb0,
- 0x2c, 0x36, 0xf4, 0x71, 0x3c, 0x69, 0xa5, 0xe8, 0x24, 0x9c, 0xcb, 0x2c, 0x88, 0xd9, 0x71, 0xe5,
- 0xa9, 0xa8, 0x28, 0x8c, 0x7b, 0x70, 0x31, 0x15, 0xf3, 0x9d, 0x27, 0x55, 0xfa, 0x22, 0x93, 0x67,
- 0x25, 0x06, 0x22, 0x13, 0x1d, 0x65, 0x1f, 0x25, 0x89, 0x4e, 0x28, 0x12, 0x9d, 0xd0, 0x30, 0xe1,
- 0x52, 0x2a, 0xfd, 0x4b, 0x09, 0xf2, 0x5e, 0xe6, 0x88, 0xbf, 0x5a, 0xc2, 0x2c, 0x73, 0xd6, 0xff,
- 0x6f, 0x05, 0x56, 0x8a, 0x10, 0x5e, 0xb2, 0xd0, 0xf0, 0xb3, 0x92, 0x9b, 0xf3, 0xbb, 0x53, 0xa5,
- 0xf9, 0x83, 0x94, 0x64, 0x1e, 0x42, 0xaf, 0x68, 0xf5, 0xf2, 0xaa, 0xa8, 0x9d, 0x41, 0x15, 0xff,
- 0x57, 0xd5, 0x4a, 0x67, 0x7d, 0x4a, 0x03, 0xf7, 0x28, 0x62, 0xc6, 0xfb, 0x43, 0xa5, 0xc0, 0xf7,
- 0xe3, 0xf4, 0x4e, 0xac, 0xdf, 0x8d, 0x3c, 0x55, 0x32, 0x6a, 0x61, 0x8a, 0xb7, 0x9f, 0x4e, 0xf1,
- 0x44, 0x51, 0xec, 0xf6, 0x54, 0x36, 0xaf, 0x6c, 0xdd, 0xe3, 0x79, 0x05, 0xda, 0x69, 0x3d, 0xa0,
- 0x8f, 0x01, 0xec, 0x58, 0x72, 0x69, 0xf2, 0x57, 0xa6, 0xcd, 0xce, 0xd4, 0xf0, 0xd1, 0x35, 0xa8,
- 0x0d, 0xfd, 0x48, 0x6a, 0x24, 0xb9, 0x1d, 0xd9, 0xf2, 0x23, 0xe1, 0x00, 0x58, 0x2f, 0x0b, 0x9a,
- 0xc5, 0x7d, 0x72, 0xce, 0x73, 0x3d, 0xe6, 0x60, 0x81, 0x2a, 0x71, 0xd0, 0x67, 0xd0, 0xfe, 0x36,
- 0x70, 0xa9, 0x7d, 0x34, 0xc6, 0xd6, 0xd8, 0x3e, 0xc5, 0x81, 0xf4, 0x5c, 0xe5, 0x5e, 0xa6, 0xa5,
- 0xf0, 0x1f, 0x31, 0x74, 0x23, 0x82, 0xba, 0x1a, 0xff, 0x05, 0x1e, 0xf9, 0x21, 0xac, 0x45, 0x0c,
- 0xcd, 0xe2, 0x77, 0xda, 0x9e, 0xed, 0x11, 0x2b, 0xc4, 0xec, 0x68, 0x52, 0xef, 0xc8, 0x8a, 0xbd,
- 0xe5, 0x0a, 0x27, 0xda, 0x22, 0x01, 0xde, 0xb3, 0x3d, 0x32, 0x10, 0x14, 0xc6, 0x04, 0x9a, 0xda,
- 0x74, 0x5e, 0x30, 0xf2, 0x7d, 0x58, 0x56, 0xf7, 0x4e, 0x21, 0xa6, 0xd2, 0xaf, 0x4f, 0x1b, 0x73,
- 0x49, 0xa2, 0x0f, 0x30, 0xe5, 0xde, 0xfd, 0xd6, 0x15, 0xa8, 0xab, 0xb7, 0xf5, 0x68, 0x01, 0x6a,
- 0x4f, 0xb6, 0x0e, 0x3a, 0x33, 0xec, 0xe3, 0x70, 0xfb, 0xa0, 0x53, 0xb9, 0x75, 0x0f, 0x96, 0x32,
- 0xef, 0x44, 0xd0, 0x32, 0xb4, 0x06, 0xfd, 0xbd, 0xed, 0xcf, 0xf7, 0x7f, 0x6e, 0x99, 0x3b, 0xfd,
- 0xed, 0x5f, 0x74, 0x66, 0xd0, 0x0a, 0x74, 0x14, 0x68, 0x6f, 0xff, 0x89, 0x80, 0x56, 0x6e, 0x7d,
- 0x93, 0xb1, 0x11, 0x8c, 0x2e, 0xc2, 0xf2, 0xd6, 0xfe, 0xde, 0x93, 0xfe, 0xee, 0xde, 0x8e, 0x69,
- 0x6d, 0x99, 0x3b, 0xfd, 0x27, 0x3b, 0xdb, 0x9d, 0x99, 0x34, 0xd8, 0x3c, 0xdc, 0xdb, 0xdb, 0xdd,
- 0xfb, 0xa2, 0x53, 0x61, 0x5c, 0x13, 0xf0, 0xce, 0xcf, 0x77, 0x19, 0x72, 0x35, 0x8d, 0x7c, 0xb8,
- 0xf7, 0x70, 0x6f, 0xff, 0x67, 0x7b, 0x9d, 0xda, 0xe6, 0x6f, 0x17, 0xa1, 0xad, 0x0e, 0x71, 0x1c,
- 0xf0, 0xdb, 0xc9, 0x4f, 0x61, 0x41, 0xfd, 0xf6, 0x90, 0x78, 0x8f, 0xf4, 0x3f, 0x1a, 0xbd, 0x6e,
- 0xbe, 0x43, 0x06, 0x43, 0x33, 0xe8, 0x80, 0x07, 0x27, 0xda, 0x9b, 0x9c, 0xab, 0x7a, 0xb8, 0x90,
- 0x7b, 0xf4, 0xd3, 0x5b, 0x2f, 0xeb, 0x8e, 0x39, 0x0e, 0x58, 0x44, 0xa2, 0xbf, 0xa7, 0x44, 0xeb,
- 0xfa, 0xb9, 0x9d, 0x7f, 0xa7, 0xd9, 0x7b, 0xad, 0xb4, 0x3f, 0x66, 0xfa, 0x0b, 0xe8, 0x64, 0x5f,
- 0x52, 0xa2, 0xe4, 0x96, 0xb9, 0xe4, 0x95, 0x66, 0xef, 0xf5, 0x29, 0x18, 0x3a, 0xeb, 0xdc, 0x6b,
- 0xc4, 0x8d, 0xf2, 0xf7, 0x64, 0x39, 0xd6, 0x65, 0x8f, 0xd4, 0xc4, 0x52, 0xa4, 0xdf, 0xd2, 0x20,
- 0xfd, 0x0d, 0x60, 0xc1, 0x9b, 0x2a, 0x6d, 0x29, 0x8a, 0x1f, 0xe1, 0x18, 0x33, 0xe8, 0x2b, 0x58,
- 0xca, 0x5c, 0x4c, 0xa1, 0x84, 0xaa, 0xf8, 0x9a, 0xad, 0xb7, 0x51, 0x8e, 0x90, 0xd6, 0x9b, 0x7e,
- 0xed, 0x94, 0xd2, 0x5b, 0xc1, 0x5d, 0x56, 0x4a, 0x6f, 0x85, 0xf7, 0x55, 0xdc, 0xbc, 0x52, 0x97,
- 0x4b, 0x9a, 0x79, 0x15, 0xdd, 0x64, 0xf5, 0xd6, 0xcb, 0xba, 0xf5, 0xe9, 0x67, 0x2e, 0x96, 0xb4,
- 0xe9, 0x17, 0xdf, 0x57, 0xf5, 0x36, 0xca, 0x11, 0xb2, 0xba, 0x4a, 0xaa, 0xdc, 0x19, 0x5d, 0xe5,
- 0x2e, 0x55, 0x32, 0xba, 0xca, 0x97, 0xc7, 0xa5, 0xae, 0x32, 0xe5, 0xea, 0xd7, 0x4a, 0xcb, 0x79,
- 0x79, 0x5d, 0x15, 0x57, 0x08, 0x8d, 0x19, 0xd4, 0x87, 0xba, 0xaa, 0xc7, 0xa1, 0x64, 0x77, 0x67,
- 0x8a, 0x80, 0xbd, 0x4b, 0x05, 0x3d, 0x31, 0x8b, 0xf7, 0x60, 0x96, 0x41, 0xd1, 0x4a, 0x0a, 0x49,
- 0x91, 0x5e, 0xcc, 0x40, 0x63, 0xb2, 0x8f, 0x60, 0x5e, 0x94, 0xaf, 0x50, 0x92, 0x57, 0xa4, 0x6a,
- 0x65, 0xbd, 0xb5, 0x1c, 0x3c, 0x26, 0xfe, 0x52, 0xfc, 0x0a, 0x25, 0xeb, 0x50, 0xe8, 0x72, 0xea,
- 0x91, 0x7e, 0xba, 0xda, 0xd5, 0xbb, 0x52, 0xdc, 0xa9, 0xeb, 0x2b, 0x73, 0x38, 0xaf, 0x97, 0x45,
- 0x4f, 0x39, 0x7d, 0x15, 0x47, 0x63, 0xc6, 0x0c, 0xb2, 0x44, 0x49, 0x27, 0xc3, 0xd8, 0x28, 0x56,
- 0x74, 0x8a, 0xf9, 0xb5, 0xa9, 0x38, 0xf1, 0x00, 0x47, 0x70, 0xa1, 0x20, 0x39, 0x45, 0x09, 0x75,
- 0x79, 0x5e, 0xdc, 0x7b, 0x63, 0x3a, 0x92, 0xae, 0x22, 0x69, 0x6b, 0xab, 0xfa, 0x06, 0xd5, 0x4c,
- 0x6c, 0x2d, 0x07, 0x57, 0xc4, 0x9b, 0x7f, 0x55, 0x83, 0x45, 0x51, 0x42, 0x90, 0x07, 0xcc, 0x17,
- 0x00, 0x49, 0x95, 0x0b, 0xf5, 0x52, 0xd3, 0x4c, 0x95, 0xfb, 0x7a, 0x97, 0x0b, 0xfb, 0x74, 0xe5,
- 0x6b, 0x05, 0x2b, 0x4d, 0xf9, 0xf9, 0x32, 0x98, 0xa6, 0xfc, 0x82, 0x1a, 0x97, 0x31, 0x83, 0xb6,
- 0xa1, 0x11, 0x57, 0x51, 0x90, 0x56, 0x7c, 0xc9, 0x94, 0x80, 0x7a, 0xbd, 0xa2, 0x2e, 0x5d, 0x22,
- 0xad, 0x32, 0xa2, 0x49, 0x94, 0xaf, 0xb7, 0x68, 0x12, 0x15, 0x15, 0x53, 0x92, 0xd9, 0x89, 0x44,
- 0x30, 0x3b, 0xbb, 0x54, 0x6e, 0x9d, 0x9d, 0x5d, 0x3a, 0x77, 0x34, 0x66, 0x3e, 0xbf, 0xf2, 0x9b,
- 0xdf, 0xad, 0x57, 0xfe, 0xeb, 0x77, 0xeb, 0x33, 0x7f, 0xf9, 0x7c, 0xbd, 0xf2, 0x9b, 0xe7, 0xeb,
- 0x95, 0x7f, 0x7f, 0xbe, 0x5e, 0xf9, 0xed, 0xf3, 0xf5, 0xca, 0x77, 0xff, 0xb3, 0x3e, 0x73, 0x34,
- 0xcf, 0xff, 0x0d, 0x7c, 0xf7, 0xf7, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xdd, 0x86, 0xaa, 0xcf,
- 0x39, 0x00, 0x00,
+ // 4602 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5c, 0xcd, 0x6f, 0x1b, 0x49,
+ 0x76, 0x17, 0x49, 0x7d, 0x90, 0x8f, 0xa2, 0x44, 0x95, 0x65, 0x8b, 0xa6, 0x6d, 0x8d, 0xd5, 0x1e,
+ 0x7f, 0xce, 0x58, 0x1e, 0x6b, 0x76, 0x3d, 0xb1, 0x3d, 0x6b, 0x9b, 0x96, 0x64, 0x9b, 0x59, 0x9b,
+ 0x52, 0x9a, 0xd2, 0x7c, 0xec, 0x2c, 0xd0, 0xdb, 0x62, 0x97, 0xa8, 0x5e, 0x93, 0x5d, 0x3d, 0xdd,
+ 0x4d, 0xdb, 0xca, 0x21, 0x58, 0x20, 0xc8, 0x1e, 0x02, 0x04, 0xc8, 0x39, 0xb7, 0x6c, 0x0e, 0x39,
+ 0xe4, 0x16, 0x20, 0xc8, 0x21, 0xa7, 0x04, 0x7b, 0xd8, 0x4b, 0x80, 0x9c, 0x16, 0xf9, 0xb8, 0x64,
+ 0x27, 0xc8, 0x25, 0x87, 0x20, 0x7f, 0x40, 0x0e, 0x41, 0x7d, 0xf5, 0x77, 0xf3, 0x43, 0xe3, 0x9d,
+ 0x99, 0x9c, 0xd4, 0xf5, 0xfa, 0xbd, 0x57, 0xaf, 0x5e, 0xbd, 0x7e, 0xf5, 0xea, 0x57, 0x45, 0x41,
+ 0x49, 0xb7, 0xcd, 0x75, 0xdb, 0x21, 0x1e, 0x41, 0x55, 0x67, 0x60, 0x79, 0x66, 0x1f, 0xaf, 0xbf,
+ 0xba, 0xad, 0xf7, 0xec, 0x23, 0x7d, 0xa3, 0x7e, 0xb3, 0x6b, 0x7a, 0x47, 0x83, 0x83, 0xf5, 0x0e,
+ 0xe9, 0xdf, 0xea, 0x92, 0x2e, 0xb9, 0xc5, 0x18, 0x0f, 0x06, 0x87, 0xac, 0xc5, 0x1a, 0xec, 0x89,
+ 0x2b, 0x50, 0x6e, 0xc0, 0xc2, 0x27, 0xd8, 0x71, 0x4d, 0x62, 0xa9, 0xf8, 0xcb, 0x01, 0x76, 0x3d,
+ 0x54, 0x83, 0xb9, 0x57, 0x9c, 0x52, 0xcb, 0x5d, 0xcc, 0x5d, 0x2b, 0xa9, 0xb2, 0xa9, 0xfc, 0x65,
+ 0x0e, 0x16, 0x7d, 0x66, 0xd7, 0x26, 0x96, 0x8b, 0xb3, 0xb9, 0xd1, 0x1a, 0xcc, 0x0b, 0xe3, 0x34,
+ 0x4b, 0xef, 0xe3, 0x5a, 0x9e, 0xbd, 0x2e, 0x0b, 0x5a, 0x4b, 0xef, 0x63, 0x74, 0x15, 0x16, 0x25,
+ 0x8b, 0x54, 0x52, 0x60, 0x5c, 0x0b, 0x82, 0x2c, 0x7a, 0x43, 0xeb, 0x70, 0x4a, 0x32, 0xea, 0xb6,
+ 0xe9, 0x33, 0x4f, 0x33, 0xe6, 0x25, 0xf1, 0xaa, 0x61, 0x9b, 0x82, 0x5f, 0xf9, 0x02, 0x4a, 0x5b,
+ 0xad, 0xf6, 0x26, 0xb1, 0x0e, 0xcd, 0x2e, 0x35, 0xd1, 0xc5, 0x0e, 0x95, 0xa9, 0xe5, 0x2e, 0x16,
+ 0xa8, 0x89, 0xa2, 0x89, 0xea, 0x50, 0x74, 0xb1, 0xee, 0x74, 0x8e, 0xb0, 0x5b, 0xcb, 0xb3, 0x57,
+ 0x7e, 0x9b, 0x4a, 0x11, 0xdb, 0x33, 0x89, 0xe5, 0xd6, 0x0a, 0x5c, 0x4a, 0x34, 0x95, 0x5f, 0xe4,
+ 0xa0, 0xbc, 0x4b, 0x1c, 0xef, 0x85, 0x6e, 0xdb, 0xa6, 0xd5, 0x45, 0x77, 0xa0, 0xc8, 0x7c, 0xd9,
+ 0x21, 0x3d, 0xe6, 0x83, 0x85, 0x8d, 0xfa, 0x7a, 0x7c, 0x5a, 0xd6, 0x77, 0x05, 0x87, 0xea, 0xf3,
+ 0xa2, 0xcb, 0xb0, 0xd0, 0x21, 0x96, 0xa7, 0x9b, 0x16, 0x76, 0x34, 0x9b, 0x38, 0x1e, 0x73, 0xd1,
+ 0x8c, 0x5a, 0xf1, 0xa9, 0xb4, 0x17, 0x74, 0x0e, 0x4a, 0x47, 0xc4, 0xf5, 0x38, 0x47, 0x81, 0x71,
+ 0x14, 0x29, 0x81, 0xbd, 0x5c, 0x81, 0x39, 0xf6, 0xd2, 0xb4, 0x85, 0x33, 0x66, 0x69, 0xb3, 0x69,
+ 0x2b, 0xbf, 0xce, 0xc1, 0xcc, 0x0b, 0x32, 0xb0, 0xbc, 0x58, 0x37, 0xba, 0x77, 0x24, 0x26, 0x2a,
+ 0xd4, 0x8d, 0xee, 0x1d, 0x05, 0xdd, 0x50, 0x0e, 0x3e, 0x57, 0xbc, 0x1b, 0xfa, 0xb2, 0x0e, 0x45,
+ 0x07, 0xeb, 0x06, 0xb1, 0x7a, 0xc7, 0xcc, 0x84, 0xa2, 0xea, 0xb7, 0xe9, 0x24, 0xba, 0xb8, 0x67,
+ 0x5a, 0x83, 0x37, 0x9a, 0x83, 0x7b, 0xfa, 0x01, 0xee, 0x31, 0x53, 0x8a, 0xea, 0x82, 0x20, 0xab,
+ 0x9c, 0x8a, 0xb6, 0xa0, 0x6c, 0x3b, 0xc4, 0xd6, 0xbb, 0x3a, 0xf5, 0x63, 0x6d, 0x86, 0xb9, 0x4a,
+ 0x49, 0xba, 0x8a, 0x99, 0xbd, 0x1b, 0x70, 0xaa, 0x61, 0x31, 0xe5, 0xaf, 0x73, 0xb0, 0x48, 0x83,
+ 0xc7, 0xb5, 0xf5, 0x0e, 0xde, 0x61, 0x53, 0x82, 0xee, 0xc2, 0x9c, 0x85, 0xbd, 0xd7, 0xc4, 0x79,
+ 0x29, 0x26, 0xe0, 0x9d, 0xa4, 0x56, 0x5f, 0xe6, 0x05, 0x31, 0xb0, 0x2a, 0xf9, 0xd1, 0x6d, 0x28,
+ 0xd8, 0xa6, 0xc1, 0x06, 0x3c, 0x86, 0x18, 0xe5, 0xa5, 0x22, 0xa6, 0xdd, 0x61, 0x7e, 0x18, 0x47,
+ 0xc4, 0xb4, 0x3b, 0x8a, 0x02, 0xd0, 0xb4, 0xbc, 0x3b, 0xdf, 0xfb, 0x44, 0xef, 0x0d, 0x30, 0x5a,
+ 0x86, 0x99, 0x57, 0xf4, 0x81, 0x19, 0x5b, 0x50, 0x79, 0x43, 0xf9, 0xf3, 0x02, 0x9c, 0x7b, 0x4e,
+ 0xfd, 0xd5, 0xd6, 0x2d, 0xe3, 0x80, 0xbc, 0x69, 0xe3, 0xce, 0xc0, 0x31, 0xbd, 0xe3, 0x4d, 0x62,
+ 0x79, 0xf8, 0x8d, 0x87, 0x5a, 0xb0, 0x64, 0x49, 0xcd, 0x9a, 0x0c, 0x4d, 0xaa, 0xa1, 0xbc, 0xb1,
+ 0x36, 0xc4, 0x08, 0xee, 0x22, 0xb5, 0x6a, 0x45, 0x09, 0x2e, 0x7a, 0x16, 0xcc, 0x9b, 0xd4, 0x96,
+ 0x67, 0xda, 0x52, 0x86, 0xd4, 0xde, 0x66, 0x96, 0x09, 0x5d, 0x72, 0x62, 0xa5, 0xa6, 0x8f, 0x81,
+ 0x7e, 0xd5, 0x9a, 0xee, 0x6a, 0x03, 0x17, 0x3b, 0xcc, 0x31, 0xe5, 0x8d, 0xf3, 0x49, 0x2d, 0x81,
+ 0x0b, 0xd4, 0x92, 0x33, 0xb0, 0x1a, 0xee, 0xbe, 0x8b, 0x1d, 0x96, 0x04, 0x44, 0x2c, 0x69, 0x0e,
+ 0x21, 0xde, 0xa1, 0x2b, 0xe3, 0x47, 0x92, 0x55, 0x46, 0x45, 0xb7, 0xe0, 0x94, 0x3b, 0xb0, 0xed,
+ 0x1e, 0xee, 0x63, 0xcb, 0xd3, 0x7b, 0x5a, 0xd7, 0x21, 0x03, 0xdb, 0xad, 0xcd, 0x5c, 0x2c, 0x5c,
+ 0x2b, 0xa8, 0x28, 0xfc, 0xea, 0x29, 0x7b, 0x83, 0x56, 0x01, 0x6c, 0xc7, 0x7c, 0x65, 0xf6, 0x70,
+ 0x17, 0x1b, 0xb5, 0x59, 0xa6, 0x34, 0x44, 0x41, 0x1f, 0xc0, 0xb2, 0x8b, 0x3b, 0x1d, 0xd2, 0xb7,
+ 0x35, 0xdb, 0x21, 0x87, 0x66, 0x0f, 0xf3, 0xe8, 0x9f, 0x63, 0xd1, 0x8f, 0xc4, 0xbb, 0x5d, 0xfe,
+ 0x8a, 0x7e, 0x07, 0xca, 0x2f, 0xf2, 0x70, 0x9a, 0x79, 0x62, 0x97, 0x18, 0x62, 0x9a, 0x44, 0x92,
+ 0xb9, 0x04, 0x95, 0x0e, 0x33, 0x48, 0xb3, 0x75, 0x07, 0x5b, 0x9e, 0xf8, 0xc8, 0xe6, 0x39, 0x71,
+ 0x97, 0xd1, 0xd0, 0x67, 0x50, 0x75, 0xc5, 0xac, 0x6a, 0x1d, 0x3e, 0xad, 0xc2, 0xe7, 0x37, 0x93,
+ 0xde, 0x1a, 0x12, 0x0b, 0xea, 0xa2, 0x9b, 0x08, 0x8e, 0x39, 0xf7, 0xd8, 0xed, 0x78, 0x3d, 0x9e,
+ 0xad, 0xca, 0x1b, 0xdf, 0xcb, 0x50, 0x18, 0x37, 0x7c, 0xbd, 0xcd, 0xc5, 0xb6, 0x2d, 0xcf, 0x39,
+ 0x56, 0xa5, 0x92, 0xfa, 0x3d, 0x98, 0x0f, 0xbf, 0x40, 0x55, 0x28, 0xbc, 0xc4, 0xc7, 0x62, 0x50,
+ 0xf4, 0x31, 0x08, 0x62, 0x9e, 0x2b, 0x78, 0xe3, 0x5e, 0xfe, 0x77, 0x72, 0x8a, 0x03, 0x28, 0xe8,
+ 0xe5, 0x05, 0xf6, 0x74, 0x43, 0xf7, 0x74, 0x84, 0x60, 0x9a, 0x2d, 0x03, 0x5c, 0x05, 0x7b, 0xa6,
+ 0x5a, 0x07, 0xe2, 0xe3, 0x2b, 0xa9, 0xf4, 0x11, 0x9d, 0x87, 0x92, 0x1f, 0xa8, 0x62, 0x2d, 0x08,
+ 0x08, 0x34, 0x27, 0xeb, 0x9e, 0x87, 0xfb, 0xb6, 0xc7, 0x42, 0xa4, 0xa2, 0xca, 0xa6, 0xf2, 0xdf,
+ 0xd3, 0x50, 0x4d, 0xcc, 0xc9, 0x23, 0x28, 0xf6, 0x45, 0xf7, 0xe2, 0x43, 0x79, 0x37, 0x25, 0x31,
+ 0x27, 0x4c, 0x55, 0x7d, 0x29, 0x9a, 0xf7, 0x68, 0x0e, 0x0c, 0xad, 0x5f, 0x7e, 0x9b, 0xce, 0x78,
+ 0x8f, 0x74, 0x35, 0xc3, 0x74, 0x70, 0xc7, 0x23, 0xce, 0xb1, 0x30, 0x77, 0xbe, 0x47, 0xba, 0x5b,
+ 0x92, 0x86, 0xee, 0x01, 0x18, 0x96, 0x4b, 0x27, 0xfb, 0xd0, 0xec, 0x32, 0xa3, 0xcb, 0x1b, 0xe7,
+ 0x92, 0x46, 0xf8, 0x8b, 0x95, 0x5a, 0x32, 0x2c, 0x57, 0x98, 0xff, 0x18, 0x2a, 0x34, 0xe7, 0x6b,
+ 0x7d, 0xbe, 0xce, 0xf0, 0x48, 0x2f, 0x6f, 0x5c, 0x48, 0x1b, 0x83, 0xbf, 0x1a, 0xa9, 0xf3, 0x76,
+ 0xd0, 0x70, 0xd1, 0x13, 0x98, 0x65, 0xc9, 0xd7, 0xad, 0xcd, 0x32, 0xe1, 0xf5, 0x61, 0x0e, 0x10,
+ 0x11, 0xf1, 0x9c, 0x09, 0xf0, 0x80, 0x10, 0xd2, 0x68, 0x1f, 0xca, 0xba, 0x65, 0x11, 0x4f, 0xe7,
+ 0x89, 0x62, 0x8e, 0x29, 0xfb, 0x70, 0x0c, 0x65, 0x8d, 0x40, 0x8a, 0x6b, 0x0c, 0xeb, 0x41, 0x3f,
+ 0x80, 0x19, 0x96, 0x49, 0x6a, 0x45, 0xe6, 0x99, 0xab, 0x63, 0x06, 0xad, 0xca, 0xa5, 0xea, 0x77,
+ 0xa1, 0x1c, 0x32, 0x76, 0x92, 0x20, 0xad, 0x3f, 0x80, 0x6a, 0xdc, 0xb4, 0x89, 0x82, 0x5c, 0x85,
+ 0x65, 0x75, 0x60, 0x05, 0x86, 0xc9, 0xea, 0xe9, 0x1e, 0xcc, 0x8a, 0xc9, 0xe6, 0x11, 0xa7, 0x8c,
+ 0xf6, 0x91, 0x2a, 0x24, 0x94, 0x1f, 0xc0, 0xe9, 0x98, 0x4e, 0x51, 0x64, 0xbd, 0x0b, 0x0b, 0x36,
+ 0x31, 0x34, 0x97, 0x93, 0x35, 0xd3, 0x90, 0xd9, 0xc5, 0xf6, 0x79, 0x9b, 0x06, 0x15, 0x6f, 0x7b,
+ 0xc4, 0x4e, 0xda, 0x34, 0x9e, 0x78, 0x0d, 0xce, 0xc4, 0xc5, 0x79, 0xf7, 0xca, 0x43, 0x58, 0x51,
+ 0x71, 0x9f, 0xbc, 0xc2, 0x27, 0x55, 0x5d, 0x87, 0x5a, 0x52, 0x81, 0x50, 0xfe, 0x39, 0xac, 0x04,
+ 0xd4, 0xb6, 0xa7, 0x7b, 0x03, 0x77, 0x22, 0xe5, 0xa2, 0x02, 0x3d, 0x20, 0x2e, 0x9f, 0xa5, 0xa2,
+ 0x2a, 0x9b, 0xca, 0xf5, 0xb0, 0xea, 0x16, 0x5f, 0xf0, 0x79, 0x0f, 0x68, 0x01, 0xf2, 0xa6, 0x2d,
+ 0xd4, 0xe5, 0x4d, 0x5b, 0x79, 0x06, 0x25, 0x7f, 0xc5, 0x44, 0xf7, 0x83, 0xd2, 0x2f, 0x3f, 0xee,
+ 0xfa, 0xea, 0x57, 0x87, 0x7b, 0x89, 0x15, 0x42, 0x74, 0x79, 0x1f, 0xc0, 0xcf, 0x64, 0x72, 0xe1,
+ 0x3e, 0x37, 0x44, 0xb1, 0x1a, 0x62, 0x57, 0xfe, 0x35, 0x92, 0xdf, 0x42, 0x83, 0x30, 0xfc, 0x41,
+ 0x18, 0x91, 0x7c, 0x97, 0x3f, 0x51, 0xbe, 0xfb, 0x08, 0x66, 0x5c, 0x4f, 0xf7, 0xb0, 0x28, 0x6e,
+ 0xd6, 0x86, 0x89, 0x53, 0x23, 0xb0, 0xca, 0xf9, 0xd1, 0x05, 0x80, 0x8e, 0x83, 0x75, 0x0f, 0x1b,
+ 0x9a, 0xce, 0x93, 0x73, 0x41, 0x2d, 0x09, 0x4a, 0xc3, 0x43, 0x9b, 0x41, 0x81, 0x36, 0xc3, 0x0c,
+ 0xbb, 0x3e, 0x4c, 0x73, 0x64, 0xaa, 0x82, 0x52, 0xcd, 0x4f, 0x16, 0xb3, 0x63, 0x26, 0x0b, 0xa1,
+ 0x80, 0x4b, 0x85, 0x52, 0xe1, 0xdc, 0xe8, 0x54, 0xc8, 0x45, 0xc7, 0x49, 0x85, 0xc5, 0xd1, 0xa9,
+ 0x50, 0x28, 0x1b, 0x9a, 0x0a, 0xbf, 0xcd, 0x5c, 0xf6, 0x2f, 0x39, 0xa8, 0x25, 0xbf, 0x41, 0x91,
+ 0x7b, 0xee, 0xc1, 0xac, 0xcb, 0x28, 0xe3, 0x24, 0x34, 0x21, 0x2b, 0x24, 0xd0, 0x33, 0x98, 0x36,
+ 0xad, 0x43, 0xc2, 0xf6, 0x56, 0xa9, 0x25, 0x49, 0x56, 0xaf, 0xeb, 0x4d, 0xeb, 0x90, 0x70, 0x27,
+ 0x31, 0x0d, 0xf5, 0x8f, 0xa0, 0xe4, 0x93, 0x26, 0x1a, 0xdb, 0x0e, 0x2c, 0xc7, 0x42, 0x96, 0xd7,
+ 0xe0, 0x7e, 0xa4, 0xe7, 0x26, 0x8b, 0x74, 0xe5, 0x67, 0xf9, 0xf0, 0x97, 0xf8, 0xc4, 0xec, 0x79,
+ 0xd8, 0x49, 0x7c, 0x89, 0x1f, 0x4b, 0xed, 0xfc, 0x33, 0xbc, 0x32, 0x52, 0x3b, 0xaf, 0x8a, 0xc5,
+ 0xc7, 0xf4, 0x63, 0x58, 0x60, 0xb1, 0xa6, 0xb9, 0xb8, 0xc7, 0xea, 0x08, 0x51, 0xd3, 0x7d, 0x7f,
+ 0x98, 0x1a, 0x6e, 0x09, 0x8f, 0xd8, 0xb6, 0x90, 0xe3, 0x1e, 0xac, 0xf4, 0xc2, 0xb4, 0xfa, 0x23,
+ 0x40, 0x49, 0xa6, 0x89, 0x7c, 0xda, 0xa6, 0x29, 0x8e, 0x6e, 0x40, 0x53, 0x16, 0xbf, 0x43, 0x66,
+ 0xc6, 0x38, 0xb1, 0xc2, 0x0d, 0x56, 0x85, 0x84, 0xf2, 0xcb, 0x02, 0x40, 0xf0, 0xf2, 0xff, 0x51,
+ 0x6e, 0x7b, 0xe4, 0xe7, 0x15, 0x5e, 0x9f, 0x5d, 0x1b, 0xa6, 0x38, 0x35, 0xa3, 0xec, 0x44, 0x33,
+ 0x0a, 0xaf, 0xd4, 0x6e, 0x0e, 0x55, 0xf3, 0x9d, 0xcd, 0x25, 0xcf, 0xe1, 0x4c, 0x3c, 0x36, 0x44,
+ 0x22, 0xd9, 0x80, 0x19, 0xd3, 0xc3, 0x7d, 0x0e, 0xc2, 0xa4, 0xee, 0x0f, 0x43, 0x42, 0x9c, 0x55,
+ 0x59, 0x83, 0x52, 0xb3, 0xaf, 0x77, 0x71, 0xdb, 0xc6, 0x1d, 0xda, 0xa9, 0x49, 0x1b, 0xc2, 0x10,
+ 0xde, 0x50, 0x36, 0xa0, 0xf8, 0x43, 0x7c, 0xcc, 0x3f, 0xea, 0x31, 0x0d, 0x55, 0xfe, 0x24, 0x0f,
+ 0x2b, 0x6c, 0xad, 0xd8, 0x94, 0x10, 0x88, 0x8a, 0x5d, 0x32, 0x70, 0x3a, 0xd8, 0x65, 0xb3, 0x6d,
+ 0x0f, 0x34, 0x1b, 0x3b, 0x26, 0x31, 0xc4, 0x0e, 0xbd, 0xd4, 0xb1, 0x07, 0xbb, 0x8c, 0x80, 0xce,
+ 0x01, 0x6d, 0x68, 0x5f, 0x0e, 0x88, 0x08, 0xc4, 0x82, 0x5a, 0xec, 0xd8, 0x83, 0xdf, 0xa3, 0x6d,
+ 0x29, 0xeb, 0x1e, 0xe9, 0x0e, 0x76, 0x59, 0x9c, 0x71, 0xd9, 0x36, 0x23, 0xa0, 0xdb, 0x70, 0xba,
+ 0x8f, 0xfb, 0xc4, 0x39, 0xd6, 0x7a, 0x66, 0xdf, 0xf4, 0x34, 0xd3, 0xd2, 0x0e, 0x8e, 0x3d, 0xec,
+ 0x8a, 0x98, 0x42, 0xfc, 0xe5, 0x73, 0xfa, 0xae, 0x69, 0x3d, 0xa6, 0x6f, 0x90, 0x02, 0x15, 0x42,
+ 0xfa, 0x9a, 0xdb, 0x21, 0x0e, 0xd6, 0x74, 0xe3, 0xa7, 0x6c, 0xf9, 0x2c, 0xa8, 0x65, 0x42, 0xfa,
+ 0x6d, 0x4a, 0x6b, 0x18, 0x3f, 0x45, 0xef, 0x40, 0xb9, 0x63, 0x0f, 0x5c, 0xec, 0x69, 0xf4, 0x0f,
+ 0x5b, 0x1d, 0x4b, 0x2a, 0x70, 0xd2, 0xa6, 0x3d, 0x70, 0x43, 0x0c, 0x7d, 0xea, 0xff, 0xb9, 0x30,
+ 0xc3, 0x0b, 0xea, 0x66, 0x1d, 0x2a, 0x91, 0x1d, 0x3e, 0xdd, 0xac, 0xb1, 0xad, 0xbc, 0xd8, 0xac,
+ 0xd1, 0x67, 0x4a, 0x73, 0x48, 0x4f, 0x7a, 0x92, 0x3d, 0x53, 0x9a, 0x77, 0x6c, 0xcb, 0x9d, 0x1a,
+ 0x7b, 0xa6, 0x2e, 0xef, 0xe1, 0x57, 0x02, 0x05, 0x2a, 0xa9, 0xbc, 0xa1, 0x18, 0x00, 0x9b, 0xba,
+ 0xad, 0x1f, 0x98, 0x3d, 0xd3, 0x3b, 0x46, 0xd7, 0xa1, 0xaa, 0x1b, 0x86, 0xd6, 0x91, 0x14, 0x13,
+ 0x4b, 0x6c, 0x6e, 0x51, 0x37, 0x8c, 0xcd, 0x10, 0x19, 0xbd, 0x07, 0x4b, 0x86, 0x43, 0xec, 0x28,
+ 0x2f, 0x07, 0xeb, 0xaa, 0xf4, 0x45, 0x98, 0x99, 0x96, 0x49, 0x17, 0xa2, 0x13, 0x1b, 0x47, 0x51,
+ 0x1e, 0xc1, 0x7c, 0xac, 0xd7, 0x0c, 0xb0, 0x22, 0xb0, 0x56, 0x8d, 0x48, 0xc4, 0x50, 0x85, 0x7c,
+ 0x02, 0x55, 0x48, 0xc5, 0x69, 0x0a, 0x6f, 0x15, 0xa7, 0x99, 0x7e, 0x2b, 0x38, 0xcd, 0xcc, 0x64,
+ 0x38, 0xcd, 0x15, 0x06, 0xd6, 0x4a, 0x69, 0xb6, 0x25, 0xe6, 0xa1, 0x56, 0xf1, 0x79, 0x2c, 0x09,
+ 0xea, 0xc6, 0xf0, 0x9c, 0xb9, 0x49, 0xf0, 0x9c, 0x62, 0x26, 0x9e, 0x43, 0xa3, 0xc6, 0xb6, 0x75,
+ 0xa7, 0x4f, 0x1c, 0x09, 0xd8, 0xd4, 0x4a, 0xcc, 0x84, 0x45, 0x49, 0x17, 0x60, 0x4d, 0x26, 0xb4,
+ 0x03, 0x59, 0xd0, 0x0e, 0xba, 0x08, 0xf3, 0x16, 0xd1, 0x2c, 0xfc, 0x5a, 0xa3, 0x73, 0xe9, 0xd6,
+ 0xca, 0x7c, 0x62, 0x2d, 0xd2, 0xc2, 0xaf, 0x77, 0x29, 0x45, 0xf9, 0xbb, 0x1c, 0x2c, 0x47, 0x83,
+ 0x4b, 0x6c, 0xd4, 0x9f, 0x42, 0xc9, 0x91, 0xf9, 0x43, 0x04, 0xd4, 0xf5, 0x8c, 0xe2, 0x34, 0x99,
+ 0x70, 0xd4, 0x40, 0x16, 0xfd, 0x28, 0x13, 0x1f, 0xba, 0x35, 0x4a, 0xdf, 0x28, 0x84, 0x48, 0xe9,
+ 0xc0, 0x99, 0x4f, 0x4d, 0xcb, 0x20, 0xaf, 0xdd, 0xb8, 0xf9, 0xcd, 0xa4, 0xf9, 0xef, 0x25, 0xbb,
+ 0x8b, 0x0b, 0xa7, 0x0d, 0x40, 0xf9, 0xab, 0x1c, 0x9c, 0xcd, 0x64, 0x8c, 0xa5, 0xc7, 0x5c, 0x3c,
+ 0x3d, 0x8a, 0xd4, 0xda, 0x21, 0x03, 0xcb, 0x0b, 0xa5, 0xd6, 0x4d, 0x86, 0x62, 0xf3, 0x1c, 0xa6,
+ 0xf5, 0xf5, 0x37, 0x66, 0x7f, 0xd0, 0x17, 0xb9, 0x95, 0xaa, 0x7b, 0xc1, 0x29, 0x27, 0x48, 0xae,
+ 0x4a, 0x03, 0x96, 0x7c, 0x2b, 0x87, 0xe2, 0x54, 0x21, 0xdc, 0x29, 0x1f, 0xc5, 0x9d, 0x2c, 0x98,
+ 0xdd, 0xc2, 0xaf, 0xcc, 0x0e, 0x7e, 0x2b, 0x30, 0xfb, 0x45, 0x28, 0xdb, 0xd8, 0xe9, 0x9b, 0xae,
+ 0xeb, 0x27, 0x8d, 0x92, 0x1a, 0x26, 0x29, 0xff, 0x39, 0x0b, 0x8b, 0xf1, 0xf9, 0x7b, 0x98, 0x80,
+ 0xb9, 0x2e, 0xa5, 0xa4, 0xb3, 0xf8, 0x40, 0x43, 0x95, 0xd1, 0x6d, 0xb9, 0xb0, 0xe6, 0xb3, 0x36,
+ 0xa5, 0xfe, 0x22, 0x2c, 0x56, 0x5d, 0xea, 0x91, 0x0e, 0xe9, 0xf7, 0x75, 0xcb, 0x90, 0xa7, 0x23,
+ 0xa2, 0x49, 0xfd, 0xa7, 0x3b, 0x5d, 0xea, 0x76, 0x4a, 0x66, 0xcf, 0x74, 0xf2, 0xe8, 0x0e, 0xce,
+ 0xb4, 0x18, 0x5c, 0xc6, 0x12, 0x4f, 0x49, 0x05, 0x41, 0xda, 0x32, 0x1d, 0xb4, 0x0e, 0xd3, 0xd8,
+ 0x7a, 0x25, 0x4b, 0x9f, 0x94, 0xe3, 0x13, 0xb9, 0xc4, 0xab, 0x8c, 0x0f, 0xdd, 0x82, 0xd9, 0x3e,
+ 0x0d, 0x0b, 0xb9, 0x97, 0x5b, 0xc9, 0x38, 0x45, 0x50, 0x05, 0x1b, 0xda, 0x80, 0x39, 0x83, 0xcd,
+ 0x93, 0xdc, 0xb0, 0xd5, 0x52, 0x40, 0x38, 0xc6, 0xa0, 0x4a, 0x46, 0xb4, 0xed, 0x17, 0x76, 0xa5,
+ 0xac, 0x8a, 0x2c, 0x36, 0x15, 0xa9, 0xd5, 0xdd, 0x5e, 0xb4, 0xba, 0x03, 0xa6, 0x6b, 0x63, 0xb4,
+ 0xae, 0xe1, 0xc8, 0xd9, 0x59, 0x28, 0xf6, 0x48, 0x97, 0x87, 0x51, 0x99, 0x1f, 0xbc, 0xf5, 0x48,
+ 0x97, 0x45, 0xd1, 0x32, 0x2d, 0x74, 0x0d, 0xd3, 0xaa, 0xcd, 0xb3, 0x14, 0xc6, 0x1b, 0xf4, 0xe3,
+ 0x63, 0x0f, 0x1a, 0xb1, 0x3a, 0xb8, 0x56, 0x61, 0xaf, 0x4a, 0x8c, 0xb2, 0x63, 0x75, 0x58, 0xe9,
+ 0xe4, 0x79, 0xc7, 0xb5, 0x05, 0x46, 0xa7, 0x8f, 0x74, 0x0f, 0xc3, 0xb7, 0xdb, 0x8b, 0x59, 0x7b,
+ 0x98, 0xb4, 0x64, 0x28, 0x77, 0xdb, 0x8f, 0x61, 0xee, 0x35, 0x4f, 0x04, 0xb5, 0x2a, 0x93, 0xbf,
+ 0x36, 0x3a, 0xa5, 0x08, 0x0d, 0x52, 0xf0, 0xdb, 0x2c, 0x63, 0x7f, 0x99, 0x83, 0x33, 0x9b, 0xac,
+ 0xc4, 0x0f, 0xe5, 0xb1, 0x49, 0x50, 0xa9, 0xbb, 0x3e, 0x0e, 0x98, 0x09, 0x21, 0xc5, 0xc7, 0x2d,
+ 0x04, 0x50, 0x13, 0x16, 0xa4, 0x72, 0xa1, 0xa2, 0x30, 0x36, 0x94, 0x58, 0x71, 0xc3, 0x4d, 0xe5,
+ 0x63, 0x58, 0x49, 0x8c, 0x42, 0x94, 0xe3, 0x6b, 0x30, 0x1f, 0xe4, 0x2b, 0x7f, 0x10, 0x65, 0x9f,
+ 0xd6, 0x34, 0x94, 0x7b, 0x70, 0xba, 0xed, 0xe9, 0x8e, 0x97, 0x70, 0xc1, 0x18, 0xb2, 0x0c, 0x4d,
+ 0x8c, 0xca, 0x0a, 0xc0, 0xaf, 0x0d, 0xcb, 0x6d, 0x8f, 0xd8, 0x27, 0x50, 0x4a, 0xb3, 0x0e, 0x1d,
+ 0x3f, 0x19, 0xc8, 0xf5, 0x41, 0x36, 0x95, 0x15, 0x8e, 0x7d, 0x26, 0x7b, 0xbb, 0x0f, 0x67, 0x38,
+ 0xf4, 0x78, 0x92, 0x41, 0x9c, 0x95, 0xc0, 0x67, 0x52, 0xef, 0x0b, 0x38, 0x15, 0xac, 0xbd, 0x01,
+ 0xac, 0x70, 0x27, 0x0a, 0x2b, 0x5c, 0x1c, 0x32, 0xeb, 0x11, 0x54, 0xe1, 0x2f, 0xf2, 0xa1, 0xbc,
+ 0x9e, 0x01, 0x2a, 0xdc, 0x8f, 0x82, 0x0a, 0x97, 0x47, 0xe9, 0x8e, 0x60, 0x0a, 0xc9, 0xa8, 0x2d,
+ 0xa4, 0x44, 0xed, 0x17, 0x09, 0xe4, 0x61, 0x3a, 0x0b, 0xba, 0x89, 0x59, 0xfb, 0x8d, 0x00, 0x0f,
+ 0x2a, 0x07, 0x1e, 0xfc, 0xae, 0x7d, 0xa4, 0xf8, 0x6e, 0x0c, 0x78, 0x58, 0x1b, 0x69, 0xaf, 0x8f,
+ 0x3b, 0xfc, 0xcd, 0x34, 0x94, 0xfc, 0x77, 0x09, 0x9f, 0x27, 0xdd, 0x96, 0x4f, 0x71, 0x5b, 0x78,
+ 0x05, 0x2e, 0x7c, 0xad, 0x15, 0x78, 0x7a, 0xec, 0x15, 0xf8, 0x1c, 0x94, 0xd8, 0x83, 0xe6, 0xe0,
+ 0x43, 0xb1, 0xa2, 0x16, 0x19, 0x41, 0xc5, 0x87, 0x41, 0x18, 0xce, 0x4e, 0x14, 0x86, 0x31, 0xa8,
+ 0x63, 0x2e, 0x0e, 0x75, 0x3c, 0xf4, 0x57, 0x44, 0xbe, 0x88, 0x5e, 0x1d, 0xa2, 0x37, 0x75, 0x2d,
+ 0x6c, 0x45, 0xd7, 0x42, 0xbe, 0xae, 0xbe, 0x3f, 0x4c, 0xcb, 0x77, 0x16, 0xe8, 0xd8, 0xe7, 0x40,
+ 0x47, 0x38, 0x16, 0x45, 0x66, 0xbd, 0x0f, 0xe0, 0x27, 0x11, 0x89, 0x76, 0x9c, 0x1b, 0x32, 0x46,
+ 0x35, 0xc4, 0x4e, 0xd5, 0x46, 0xa6, 0x26, 0x38, 0x0d, 0x19, 0x2f, 0x3f, 0x66, 0x1c, 0x85, 0xfc,
+ 0xef, 0x4c, 0x28, 0xbf, 0x64, 0x1c, 0x1f, 0x3c, 0x4c, 0x40, 0x6c, 0x13, 0x46, 0xf1, 0x9d, 0x28,
+ 0xc2, 0x76, 0xc2, 0xa8, 0x4b, 0x00, 0x6c, 0xac, 0x72, 0xd1, 0x1d, 0xf1, 0x9a, 0x03, 0x20, 0x25,
+ 0x41, 0x69, 0xb0, 0x9d, 0xc1, 0xa1, 0x69, 0x99, 0xee, 0x11, 0x7f, 0x3f, 0xcb, 0x77, 0x06, 0x92,
+ 0xd4, 0x60, 0x17, 0x68, 0xf0, 0x1b, 0xd3, 0xd3, 0x3a, 0xc4, 0xc0, 0x2c, 0xa6, 0x67, 0xd4, 0x22,
+ 0x25, 0x6c, 0x12, 0x03, 0x07, 0x5f, 0x5e, 0xf1, 0x64, 0x5f, 0x5e, 0x29, 0xf6, 0xe5, 0x9d, 0x81,
+ 0x59, 0x07, 0xeb, 0x2e, 0xb1, 0xc4, 0x56, 0x53, 0xb4, 0xe8, 0xd4, 0xf4, 0xb1, 0xeb, 0xd2, 0x9e,
+ 0x44, 0xb9, 0x26, 0x9a, 0xa1, 0x32, 0x73, 0x7e, 0x64, 0x99, 0x39, 0xe4, 0x58, 0x22, 0x56, 0x66,
+ 0x56, 0x46, 0x96, 0x99, 0xe3, 0x9c, 0x4a, 0x84, 0x0a, 0xed, 0x85, 0xf1, 0x0a, 0xed, 0x70, 0x5d,
+ 0xba, 0x18, 0xa9, 0x4b, 0xbf, 0xcd, 0x8f, 0xf5, 0xd7, 0x39, 0x58, 0x49, 0x7c, 0x56, 0xe2, 0x73,
+ 0xbd, 0x1b, 0x3b, 0xe0, 0x58, 0x1b, 0xe9, 0x33, 0xff, 0x7c, 0xe3, 0x69, 0xe4, 0x7c, 0xe3, 0xc3,
+ 0xd1, 0x82, 0x6f, 0xfd, 0x78, 0xe3, 0x8f, 0x72, 0xf0, 0xce, 0xbe, 0x6d, 0xc4, 0x2a, 0x3c, 0xb1,
+ 0x31, 0x1f, 0x3f, 0x71, 0x3c, 0x94, 0xb5, 0x7e, 0x7e, 0x52, 0xf4, 0x82, 0xcb, 0x29, 0x0a, 0x5c,
+ 0xcc, 0x36, 0x43, 0x94, 0x4c, 0x3f, 0x81, 0xc5, 0xed, 0x37, 0xb8, 0xd3, 0x3e, 0xb6, 0x3a, 0x13,
+ 0x98, 0x56, 0x85, 0x42, 0xa7, 0x6f, 0x08, 0xc4, 0x8f, 0x3e, 0x86, 0xab, 0xc0, 0x42, 0xb4, 0x0a,
+ 0xd4, 0xa0, 0x1a, 0xf4, 0x20, 0xa6, 0xf7, 0x0c, 0x9d, 0x5e, 0x83, 0x32, 0x53, 0xe5, 0xf3, 0xaa,
+ 0x68, 0x09, 0x3a, 0x76, 0x1c, 0x36, 0x66, 0x4e, 0xc7, 0x8e, 0x13, 0xcd, 0x16, 0x85, 0x68, 0xb6,
+ 0x50, 0xfe, 0x2c, 0x07, 0x65, 0xda, 0xc3, 0xd7, 0xb2, 0x5f, 0x6c, 0xb5, 0x0a, 0xc1, 0x56, 0xcb,
+ 0xdf, 0xb1, 0x4d, 0x87, 0x77, 0x6c, 0x81, 0xe5, 0x33, 0x8c, 0x9c, 0xb4, 0x7c, 0xd6, 0xa7, 0x63,
+ 0xc7, 0x51, 0x2e, 0xc2, 0x3c, 0xb7, 0x4d, 0x8c, 0xbc, 0x0a, 0x85, 0x81, 0xd3, 0x93, 0x71, 0x34,
+ 0x70, 0x7a, 0xca, 0x1f, 0xe7, 0xa0, 0xd2, 0xf0, 0x3c, 0xbd, 0x73, 0x34, 0xc1, 0x00, 0x7c, 0xe3,
+ 0xf2, 0x61, 0xe3, 0x92, 0x83, 0x08, 0xcc, 0x9d, 0xce, 0x30, 0x77, 0x26, 0x62, 0xae, 0x02, 0x0b,
+ 0xd2, 0x96, 0x4c, 0x83, 0x5b, 0x80, 0x76, 0x89, 0xe3, 0x3d, 0x21, 0xce, 0x6b, 0xdd, 0x31, 0x26,
+ 0xdb, 0x81, 0x21, 0x98, 0x16, 0x97, 0x2a, 0x0b, 0xd7, 0x66, 0x54, 0xf6, 0xac, 0x5c, 0x85, 0x53,
+ 0x11, 0x7d, 0x99, 0x1d, 0x3f, 0x82, 0x32, 0xcb, 0xfb, 0xa2, 0x14, 0xbf, 0x1d, 0x3e, 0x7a, 0x18,
+ 0x6b, 0x95, 0x50, 0x7e, 0x17, 0x96, 0x68, 0x7d, 0xc0, 0xe8, 0xfe, 0xa7, 0xf8, 0xfd, 0x58, 0x9d,
+ 0x7a, 0x21, 0x43, 0x51, 0xac, 0x46, 0xfd, 0xdb, 0x1c, 0xcc, 0x30, 0x7a, 0x62, 0xcd, 0x3e, 0x07,
+ 0x25, 0x07, 0xdb, 0x44, 0xf3, 0xf4, 0xae, 0x7f, 0x85, 0x95, 0x12, 0xf6, 0xf4, 0xae, 0xcb, 0x6e,
+ 0xe0, 0xd2, 0x97, 0x86, 0xd9, 0xc5, 0xae, 0x27, 0xef, 0xb1, 0x96, 0x29, 0x6d, 0x8b, 0x93, 0xa8,
+ 0x93, 0x5c, 0xf3, 0xf7, 0x79, 0xdd, 0x39, 0xad, 0xb2, 0x67, 0xb4, 0xce, 0x6f, 0x65, 0x8d, 0x03,
+ 0x0f, 0xb3, 0x3b, 0x5b, 0x75, 0x28, 0xc6, 0x10, 0x61, 0xbf, 0xad, 0x6c, 0x03, 0x0a, 0x7b, 0x41,
+ 0xf8, 0xfb, 0x16, 0xcc, 0x32, 0x27, 0xc9, 0xea, 0x68, 0x25, 0xc3, 0x0d, 0xaa, 0x60, 0x53, 0x74,
+ 0x40, 0xdc, 0xc1, 0x91, 0x8a, 0x68, 0xf2, 0x59, 0x19, 0x52, 0x21, 0xfd, 0x43, 0x0e, 0x4e, 0x45,
+ 0xfa, 0x10, 0xb6, 0xde, 0x8c, 0x76, 0x92, 0x69, 0xaa, 0xe8, 0x60, 0x33, 0xb2, 0x24, 0xdc, 0xca,
+ 0x32, 0xe9, 0xb7, 0xb4, 0x1c, 0xfc, 0x63, 0x0e, 0xa0, 0x31, 0xf0, 0x8e, 0x04, 0x32, 0x18, 0x9e,
+ 0x99, 0x5c, 0x74, 0x66, 0xe8, 0x3b, 0x5b, 0x77, 0xdd, 0xd7, 0xc4, 0x91, 0x7b, 0x1a, 0xbf, 0xcd,
+ 0x30, 0xbc, 0x81, 0x77, 0x24, 0x8f, 0x75, 0xe8, 0x33, 0xba, 0x0c, 0x0b, 0xfc, 0xda, 0xb4, 0xa6,
+ 0x1b, 0x86, 0x83, 0x5d, 0x57, 0x9c, 0xef, 0x54, 0x38, 0xb5, 0xc1, 0x89, 0x94, 0xcd, 0x34, 0xb0,
+ 0xe5, 0x99, 0xde, 0xb1, 0xe6, 0x91, 0x97, 0xd8, 0x12, 0x7b, 0x93, 0x8a, 0xa4, 0xee, 0x51, 0x22,
+ 0x65, 0x73, 0x70, 0xd7, 0x74, 0x3d, 0x47, 0xb2, 0xc9, 0xb3, 0x04, 0x41, 0x65, 0x6c, 0x74, 0x52,
+ 0xaa, 0xbb, 0x83, 0x5e, 0x8f, 0xbb, 0xf8, 0xe4, 0xd3, 0xfe, 0x81, 0x18, 0x50, 0x3e, 0x2b, 0xa6,
+ 0x03, 0xa7, 0x89, 0xe1, 0xbe, 0x45, 0x10, 0xe6, 0x03, 0x58, 0x0a, 0x8d, 0x41, 0x84, 0x55, 0xa4,
+ 0x88, 0xcc, 0x45, 0x8b, 0x48, 0xe5, 0x29, 0x20, 0x8e, 0x3b, 0x7c, 0xcd, 0x71, 0x2b, 0xa7, 0xe1,
+ 0x54, 0x44, 0x91, 0x58, 0x89, 0x6f, 0x40, 0x45, 0xdc, 0xb1, 0x11, 0x81, 0x72, 0x16, 0x8a, 0x34,
+ 0xa3, 0x76, 0x4c, 0x43, 0x9e, 0xf9, 0xcd, 0xd9, 0xc4, 0xd8, 0x34, 0x0d, 0x47, 0xf9, 0x14, 0x2a,
+ 0x2a, 0xef, 0x47, 0xf0, 0x3e, 0x81, 0x05, 0x71, 0x23, 0x47, 0x8b, 0xdc, 0x74, 0x4b, 0xbb, 0x09,
+ 0x1d, 0xee, 0x44, 0xad, 0x58, 0xe1, 0xa6, 0x62, 0x40, 0x9d, 0x97, 0x0c, 0x11, 0xf5, 0x72, 0xb0,
+ 0x4f, 0x40, 0xfe, 0x06, 0x60, 0x64, 0x2f, 0x51, 0xf9, 0x8a, 0x13, 0x6e, 0x2a, 0x17, 0xe0, 0x5c,
+ 0x6a, 0x2f, 0xc2, 0x13, 0x36, 0x54, 0x83, 0x17, 0x86, 0x29, 0x0f, 0x3f, 0xd9, 0xa1, 0x66, 0x2e,
+ 0x74, 0xa8, 0x79, 0xc6, 0x2f, 0x12, 0xf3, 0x72, 0x11, 0x63, 0x15, 0x60, 0x50, 0xee, 0x17, 0xb2,
+ 0xca, 0xfd, 0xe9, 0x48, 0xb9, 0xaf, 0xb4, 0x7d, 0x7f, 0x8a, 0x6d, 0xd8, 0x63, 0xb6, 0x5d, 0xe4,
+ 0x7d, 0xcb, 0x84, 0xa8, 0x0c, 0x1b, 0x25, 0x67, 0x55, 0x43, 0x52, 0xca, 0x75, 0xa8, 0x44, 0x53,
+ 0x63, 0x28, 0xcf, 0xe5, 0x12, 0x79, 0x6e, 0x21, 0x96, 0xe2, 0x3e, 0x8a, 0x55, 0xc0, 0xd9, 0x3e,
+ 0x8e, 0xd5, 0xbf, 0x0f, 0x22, 0xc9, 0xee, 0x46, 0xca, 0x79, 0xe4, 0x6f, 0x29, 0xcf, 0x2d, 0x8b,
+ 0xf5, 0xe0, 0x89, 0x4b, 0xe5, 0xc5, 0xa0, 0x95, 0x4b, 0x50, 0xde, 0xcf, 0xba, 0x66, 0x3f, 0x2d,
+ 0xcf, 0xfe, 0xef, 0xc0, 0xf2, 0x13, 0xb3, 0x87, 0xdd, 0x63, 0xd7, 0xc3, 0xfd, 0x26, 0x4b, 0x4a,
+ 0x87, 0x26, 0x76, 0xd0, 0x2a, 0x00, 0xdb, 0xc2, 0xd8, 0xc4, 0xf4, 0x6f, 0x6f, 0x87, 0x28, 0xca,
+ 0x7f, 0xe5, 0x60, 0x31, 0x10, 0xdc, 0x67, 0x5b, 0xb7, 0xf3, 0x50, 0xa2, 0xe3, 0x75, 0x3d, 0xbd,
+ 0x6f, 0xcb, 0xf3, 0x2c, 0x9f, 0x80, 0xee, 0xc3, 0xcc, 0xa1, 0x2b, 0x21, 0xa3, 0x54, 0x00, 0x3d,
+ 0xcd, 0x10, 0x75, 0xfa, 0xd0, 0x6d, 0x1a, 0xe8, 0x63, 0x80, 0x81, 0x8b, 0x0d, 0x71, 0x86, 0x55,
+ 0xc8, 0xaa, 0x16, 0xf6, 0xc3, 0x67, 0xb5, 0x54, 0x80, 0x5f, 0x1b, 0x78, 0x00, 0x65, 0xd3, 0x22,
+ 0x06, 0x66, 0x67, 0xb5, 0x86, 0x40, 0x95, 0x46, 0x88, 0x03, 0x97, 0xd8, 0x77, 0xb1, 0xa1, 0x60,
+ 0xb1, 0x16, 0x4a, 0xff, 0x8a, 0x40, 0x69, 0xc1, 0x12, 0x4f, 0x5a, 0x87, 0xbe, 0xe1, 0x32, 0x62,
+ 0xd7, 0x86, 0x8d, 0x8e, 0x79, 0x4b, 0xad, 0x9a, 0xa2, 0xb4, 0x91, 0xa2, 0xca, 0x3d, 0x38, 0x1d,
+ 0xd9, 0x21, 0x4d, 0xb0, 0x65, 0x51, 0x76, 0x63, 0x40, 0x49, 0x10, 0xce, 0x02, 0x86, 0x90, 0xd1,
+ 0x3c, 0x0a, 0x86, 0x70, 0x39, 0x0c, 0xe1, 0x2a, 0x5f, 0xc0, 0xd9, 0x08, 0xa2, 0x13, 0xb1, 0xe8,
+ 0x41, 0xac, 0x72, 0xbb, 0x32, 0x4a, 0x6b, 0xac, 0x84, 0xfb, 0x9f, 0x1c, 0x2c, 0xa7, 0x31, 0x9c,
+ 0x10, 0x71, 0xfc, 0x49, 0xc6, 0x15, 0xb1, 0xbb, 0xe3, 0x99, 0xf5, 0x8d, 0xa0, 0xb5, 0x7b, 0x50,
+ 0x4f, 0xf3, 0x67, 0x72, 0x96, 0x0a, 0x93, 0xcc, 0xd2, 0xcf, 0x0b, 0x21, 0xe4, 0xbd, 0xe1, 0x79,
+ 0x8e, 0x79, 0x30, 0xa0, 0x21, 0xff, 0xd6, 0xd1, 0xac, 0xa6, 0x8f, 0xcb, 0x70, 0xd7, 0xde, 0x1e,
+ 0x22, 0x1e, 0xd8, 0x91, 0x8a, 0xcd, 0x7c, 0x16, 0xc5, 0x66, 0x38, 0xa6, 0x7e, 0x67, 0x3c, 0x7d,
+ 0xdf, 0x59, 0x00, 0xf4, 0xe7, 0x79, 0x58, 0x88, 0x4e, 0x11, 0xda, 0x06, 0xd0, 0x7d, 0xcb, 0xc5,
+ 0x87, 0x72, 0x79, 0xac, 0x61, 0xaa, 0x21, 0x41, 0xf4, 0x3e, 0x14, 0x3a, 0xf6, 0x40, 0xcc, 0x5a,
+ 0xca, 0x61, 0xf0, 0xa6, 0x3d, 0xe0, 0x19, 0x85, 0xb2, 0xd1, 0x3d, 0x15, 0x3f, 0xdb, 0xcf, 0xce,
+ 0x92, 0x2f, 0xd8, 0x7b, 0x2e, 0x23, 0x98, 0xd1, 0x33, 0x58, 0x78, 0xed, 0x98, 0x9e, 0x7e, 0xd0,
+ 0xc3, 0x5a, 0x4f, 0x3f, 0xc6, 0x8e, 0xc8, 0x92, 0x63, 0x24, 0xb2, 0x8a, 0x14, 0x7c, 0x4e, 0xe5,
+ 0x94, 0x3f, 0x80, 0xa2, 0xb4, 0x68, 0xc4, 0x8a, 0xb0, 0x07, 0x2b, 0x03, 0xca, 0xa6, 0xb1, 0xeb,
+ 0x5c, 0x96, 0x6e, 0x11, 0xcd, 0xc5, 0x74, 0x19, 0x97, 0x17, 0xcd, 0x47, 0xa4, 0xe8, 0x65, 0x26,
+ 0xbd, 0x49, 0x1c, 0xdc, 0xd2, 0x2d, 0xd2, 0xe6, 0xa2, 0xca, 0x2b, 0x28, 0x87, 0x06, 0x38, 0xc2,
+ 0x84, 0x26, 0x2c, 0xc9, 0xa3, 0x78, 0x17, 0x7b, 0x62, 0x79, 0x19, 0xab, 0xf3, 0x45, 0x21, 0xd7,
+ 0xc6, 0x1e, 0xbf, 0x3e, 0xf1, 0x00, 0xce, 0xaa, 0x98, 0xd8, 0xd8, 0xf2, 0xe7, 0xf3, 0x39, 0xe9,
+ 0x4e, 0x90, 0xc1, 0xcf, 0x43, 0x3d, 0x4d, 0x9e, 0xe7, 0x87, 0x1b, 0xe7, 0xa1, 0x28, 0x7f, 0x33,
+ 0x89, 0xe6, 0xa0, 0xb0, 0xb7, 0xb9, 0x5b, 0x9d, 0xa2, 0x0f, 0xfb, 0x5b, 0xbb, 0xd5, 0xdc, 0x8d,
+ 0x3e, 0x54, 0xe3, 0x3f, 0x13, 0x44, 0x2b, 0x70, 0x6a, 0x57, 0xdd, 0xd9, 0x6d, 0x3c, 0x6d, 0xec,
+ 0x35, 0x77, 0x5a, 0xda, 0xae, 0xda, 0xfc, 0xa4, 0xb1, 0xb7, 0x5d, 0x9d, 0x42, 0x6b, 0x70, 0x21,
+ 0xfc, 0xe2, 0xd9, 0x4e, 0x7b, 0x4f, 0xdb, 0xdb, 0xd1, 0x36, 0x77, 0x5a, 0x7b, 0x8d, 0x66, 0x6b,
+ 0x5b, 0xad, 0xe6, 0xd0, 0x05, 0x38, 0x1b, 0x66, 0x79, 0xdc, 0xdc, 0x6a, 0xaa, 0xdb, 0x9b, 0xf4,
+ 0xb9, 0xf1, 0xbc, 0x9a, 0xbf, 0x71, 0x1b, 0x2a, 0x91, 0x5f, 0xf5, 0x51, 0x43, 0x76, 0x77, 0xb6,
+ 0xaa, 0x53, 0xa8, 0x02, 0xa5, 0xb0, 0x9e, 0x22, 0x4c, 0xb7, 0x76, 0xb6, 0xb6, 0xab, 0xf9, 0x1b,
+ 0xf7, 0x60, 0x31, 0x76, 0x9f, 0x14, 0x2d, 0x41, 0xa5, 0xdd, 0x68, 0x6d, 0x3d, 0xde, 0xf9, 0x4c,
+ 0x53, 0xb7, 0x1b, 0x5b, 0x9f, 0x57, 0xa7, 0xd0, 0x32, 0x54, 0x25, 0xa9, 0xb5, 0xb3, 0xc7, 0xa9,
+ 0xb9, 0x1b, 0x2f, 0x63, 0x5f, 0x16, 0x46, 0xa7, 0x61, 0xc9, 0xef, 0x46, 0xdb, 0x54, 0xb7, 0x1b,
+ 0x7b, 0xdb, 0xb4, 0xf7, 0x08, 0x59, 0xdd, 0x6f, 0xb5, 0x9a, 0xad, 0xa7, 0xd5, 0x1c, 0xd5, 0x1a,
+ 0x90, 0xb7, 0x3f, 0x6b, 0x52, 0xe6, 0x7c, 0x94, 0x79, 0xbf, 0xf5, 0xc3, 0xd6, 0xce, 0xa7, 0xad,
+ 0x6a, 0x61, 0xe3, 0xef, 0x97, 0x60, 0x41, 0x96, 0x77, 0xd8, 0x61, 0x77, 0x59, 0x76, 0x61, 0x4e,
+ 0xfe, 0xf2, 0x36, 0x25, 0x2f, 0x47, 0x7f, 0x2f, 0x5c, 0x5f, 0x1b, 0xc2, 0x21, 0xaa, 0xec, 0x29,
+ 0x74, 0xc0, 0xaa, 0xde, 0xd0, 0xfd, 0xde, 0x2b, 0xa9, 0x35, 0x66, 0xe2, 0x4a, 0x71, 0xfd, 0xea,
+ 0x48, 0x3e, 0xbf, 0x0f, 0x4c, 0x0b, 0xdb, 0xf0, 0x0f, 0x58, 0xd0, 0xd5, 0xb4, 0x8a, 0x34, 0xe5,
+ 0x17, 0x32, 0xf5, 0x6b, 0xa3, 0x19, 0xfd, 0x6e, 0x5e, 0x42, 0x35, 0xfe, 0x63, 0x16, 0x94, 0x02,
+ 0x98, 0x66, 0xfc, 0x62, 0xa6, 0x7e, 0x63, 0x1c, 0xd6, 0x70, 0x67, 0x89, 0x9f, 0x7d, 0x5c, 0x1f,
+ 0xe7, 0x1e, 0x7d, 0x66, 0x67, 0x59, 0x57, 0xee, 0xb9, 0x03, 0xa3, 0x77, 0x77, 0x51, 0xea, 0x6f,
+ 0x2c, 0x52, 0x6e, 0x7e, 0xa7, 0x39, 0x30, 0xfd, 0x1a, 0xb0, 0x32, 0x85, 0x8e, 0x60, 0x31, 0x76,
+ 0x29, 0x01, 0xa5, 0x88, 0xa7, 0xdf, 0xbe, 0xa8, 0x5f, 0x1f, 0x83, 0x33, 0x1a, 0x11, 0xe1, 0x4b,
+ 0x08, 0xe9, 0x11, 0x91, 0x72, 0xc5, 0x21, 0x3d, 0x22, 0x52, 0xef, 0x33, 0xb0, 0xe0, 0x8e, 0x5c,
+ 0x3e, 0x48, 0x0b, 0xee, 0xb4, 0x2b, 0x0f, 0xf5, 0xab, 0x23, 0xf9, 0xc2, 0x4e, 0x8b, 0x5d, 0x45,
+ 0x48, 0x73, 0x5a, 0xfa, 0x55, 0x87, 0xfa, 0xf5, 0x31, 0x38, 0xe3, 0x51, 0x10, 0x1c, 0x6c, 0x66,
+ 0x45, 0x41, 0xe2, 0x18, 0x3e, 0x2b, 0x0a, 0x92, 0x67, 0xa4, 0x22, 0x0a, 0x62, 0x07, 0x92, 0xd7,
+ 0xc6, 0x38, 0x40, 0xc9, 0x8e, 0x82, 0xf4, 0xa3, 0x16, 0x65, 0x0a, 0xfd, 0x61, 0x0e, 0x6a, 0x59,
+ 0x87, 0x13, 0x28, 0xa5, 0xaa, 0x1b, 0x71, 0x9e, 0x52, 0xdf, 0x98, 0x44, 0xc4, 0xb7, 0xe2, 0x4b,
+ 0x40, 0xc9, 0xd5, 0x0e, 0xbd, 0x97, 0x36, 0x33, 0x19, 0x6b, 0x6a, 0xfd, 0xfd, 0xf1, 0x98, 0xfd,
+ 0x2e, 0xdb, 0x50, 0x94, 0xc7, 0x21, 0x28, 0x25, 0x4b, 0xc7, 0x0e, 0x63, 0xea, 0xca, 0x30, 0x16,
+ 0x5f, 0xe9, 0x53, 0x98, 0xa6, 0x54, 0x74, 0x21, 0x9d, 0x5b, 0x2a, 0x5b, 0xcd, 0x7a, 0xed, 0x2b,
+ 0x7a, 0x01, 0xb3, 0x1c, 0xff, 0x47, 0x29, 0x78, 0x43, 0xe4, 0x94, 0xa2, 0x7e, 0x31, 0x9b, 0xc1,
+ 0x57, 0xf7, 0x63, 0xfe, 0x4f, 0x19, 0x04, 0xb4, 0x8f, 0xde, 0x4d, 0xff, 0x95, 0x6c, 0xf4, 0x24,
+ 0xa1, 0x7e, 0x79, 0x04, 0x57, 0xf8, 0xa3, 0x88, 0xd5, 0xba, 0x57, 0x47, 0x6e, 0x58, 0xb2, 0x3f,
+ 0x8a, 0xf4, 0x2d, 0x11, 0x0f, 0x92, 0xe4, 0x96, 0x29, 0x2d, 0x48, 0x32, 0x37, 0xaa, 0x69, 0x41,
+ 0x92, 0xbd, 0x0b, 0x53, 0xa6, 0x90, 0x07, 0xa7, 0x52, 0x00, 0x32, 0xf4, 0x7e, 0x56, 0x90, 0xa7,
+ 0xa1, 0x75, 0xf5, 0x9b, 0x63, 0x72, 0x87, 0x27, 0x5f, 0x7c, 0xf4, 0xef, 0x64, 0xa3, 0x46, 0x99,
+ 0x93, 0x1f, 0xff, 0xc4, 0x37, 0xfe, 0xad, 0x00, 0xf3, 0x1c, 0xfc, 0x14, 0x15, 0xcc, 0xe7, 0x00,
+ 0xc1, 0xb9, 0x03, 0xba, 0x94, 0xee, 0x93, 0xc8, 0xd9, 0x4c, 0xfd, 0xdd, 0xe1, 0x4c, 0xe1, 0x40,
+ 0x0b, 0x61, 0xf8, 0x69, 0x81, 0x96, 0x3c, 0xaa, 0x48, 0x0b, 0xb4, 0x94, 0x83, 0x00, 0x65, 0x0a,
+ 0x7d, 0x02, 0x25, 0x1f, 0x2c, 0x46, 0x69, 0x60, 0x73, 0x0c, 0x0d, 0xaf, 0x5f, 0x1a, 0xca, 0x13,
+ 0xb6, 0x3a, 0x84, 0x04, 0xa7, 0x59, 0x9d, 0x44, 0x9c, 0xd3, 0xac, 0x4e, 0x83, 0x93, 0x03, 0x9f,
+ 0x70, 0xbc, 0x28, 0xd3, 0x27, 0x11, 0xb8, 0x2e, 0xd3, 0x27, 0x51, 0xd0, 0x49, 0x99, 0x7a, 0x7c,
+ 0xe5, 0x57, 0xbf, 0x59, 0xcd, 0xfd, 0xf3, 0x6f, 0x56, 0xa7, 0x7e, 0xf6, 0xd5, 0x6a, 0xee, 0x57,
+ 0x5f, 0xad, 0xe6, 0xfe, 0xe9, 0xab, 0xd5, 0xdc, 0xbf, 0x7f, 0xb5, 0x9a, 0xfb, 0xd3, 0xff, 0x58,
+ 0x9d, 0xfa, 0x51, 0x51, 0x4a, 0x1f, 0xcc, 0xb2, 0x7f, 0xad, 0xf2, 0xe1, 0xff, 0x05, 0x00, 0x00,
+ 0xff, 0xff, 0x36, 0xf8, 0x35, 0x67, 0x20, 0x47, 0x00, 0x00,
}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.proto b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto
index b34451e2e..257cfbc2e 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/api.proto
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto
@@ -1,7 +1,8 @@
// To regenerate api.pb.go run hack/update-generated-runtime.sh
syntax = 'proto3';
-package runtime;
+package runtime.v1alpha2;
+option go_package = "v1alpha2";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
@@ -61,6 +62,14 @@ service RuntimeService {
// ContainerStatus returns status of the container. If the container is not
// present, returns an error.
rpc ContainerStatus(ContainerStatusRequest) returns (ContainerStatusResponse) {}
+ // UpdateContainerResources updates ContainerConfig of the container.
+ rpc UpdateContainerResources(UpdateContainerResourcesRequest) returns (UpdateContainerResourcesResponse) {}
+ // ReopenContainerLog asks runtime to reopen the stdout/stderr log file
+ // for the container. This is often called after the log file has been
+ // rotated. If the container is not running, container runtime can choose
+ // to either create a new log file and return nil, or return an error.
+ // Once it returns error, new container log file MUST NOT be created.
+ rpc ReopenContainerLog(ReopenContainerLogRequest) returns (ReopenContainerLogResponse) {}
// ExecSync runs a command in a container synchronously.
rpc ExecSync(ExecSyncRequest) returns (ExecSyncResponse) {}
@@ -148,6 +157,16 @@ message PortMapping {
string host_ip = 4;
}
+enum MountPropagation {
+ // No mount propagation ("private" in Linux terminology).
+ PROPAGATION_PRIVATE = 0;
+ // Mounts get propagated from the host to the container ("rslave" in Linux).
+ PROPAGATION_HOST_TO_CONTAINER = 1;
+ // Mounts get propagated from the host to the container and from the
+ // container to the host ("rshared" in Linux).
+ PROPAGATION_BIDIRECTIONAL = 2;
+}
+
// Mount specifies a host volume to mount into a container.
message Mount {
// Path of the mount within the container.
@@ -158,16 +177,43 @@ message Mount {
bool readonly = 3;
// If set, the mount needs SELinux relabeling.
bool selinux_relabel = 4;
+ // Requested propagation mode.
+ MountPropagation propagation = 5;
+}
+
+// A NamespaceMode describes the intended namespace configuration for each
+// of the namespaces (Network, PID, IPC) in NamespaceOption. Runtimes should
+// map these modes as appropriate for the technology underlying the runtime.
+enum NamespaceMode {
+ // A POD namespace is common to all containers in a pod.
+ // For example, a container with a PID namespace of POD expects to view
+ // all of the processes in all of the containers in the pod.
+ POD = 0;
+ // A CONTAINER namespace is restricted to a single container.
+ // For example, a container with a PID namespace of CONTAINER expects to
+ // view only the processes in that container.
+ CONTAINER = 1;
+ // A NODE namespace is the namespace of the Kubernetes node.
+ // For example, a container with a PID namespace of NODE expects to view
+ // all of the processes on the host running the kubelet.
+ NODE = 2;
}
// NamespaceOption provides options for Linux namespaces.
message NamespaceOption {
- // If set, use the host's network namespace.
- bool host_network = 1;
- // If set, use the host's PID namespace.
- bool host_pid = 2;
- // If set, use the host's IPC namespace.
- bool host_ipc = 3;
+ // Network namespace for this container/sandbox.
+ // Note: There is currently no way to set CONTAINER scoped network in the Kubernetes API.
+ // Namespaces currently set by the kubelet: POD, NODE
+ NamespaceMode network = 1;
+ // PID namespace for this container/sandbox.
+ // Note: The CRI default is POD, but the v1.PodSpec default is CONTAINER.
+ // The kubelet's runtime manager will set this to CONTAINER explicitly for v1 pods.
+ // Namespaces currently set by the kubelet: POD, CONTAINER, NODE
+ NamespaceMode pid = 2;
+ // IPC namespace for this container/sandbox.
+ // Note: There is currently no way to set CONTAINER scoped IPC in the Kubernetes API.
+ // Namespaces currently set by the kubelet: POD, NODE
+ NamespaceMode ipc = 3;
}
// Int64Value is the wrapper of int64.
@@ -200,6 +246,13 @@ message LinuxSandboxSecurityContext {
// This allows a sandbox to take additional security precautions if no
// privileged containers are expected to be run.
bool privileged = 6;
+ // Seccomp profile for the sandbox, candidate values are:
+ // * docker/default: the default profile for the docker container runtime
+ // * unconfined: unconfined profile, ie, no seccomp sandboxing
+ // * localhost/<full-path-to-profile>: the profile installed on the node.
+ // <full-path-to-profile> is the full path of the profile.
+ // Default: "", which is identical with unconfined.
+ string seccomp_profile_path = 7;
}
// LinuxPodSandboxConfig holds platform-specific configurations for Linux
@@ -272,32 +325,12 @@ message PodSandboxConfig {
//
// In general, in order to preserve a well-defined interface between the
// kubelet and the container runtime, annotations SHOULD NOT influence
- // runtime behaviour. For legacy reasons, there are some annotations which
- // currently explicitly break this rule, listed below; in future versions
- // of the interface these will be promoted to typed features.
+ // runtime behaviour.
//
// Annotations can also be useful for runtime authors to experiment with
// new features that are opaque to the Kubernetes APIs (both user-facing
// and the CRI). Whenever possible, however, runtime authors SHOULD
// consider proposing new typed fields for any new features instead.
- //
- // 1. Seccomp
- //
- // key: security.alpha.kubernetes.io/seccomp/pod
- // description: the seccomp profile for the containers of an entire pod.
- // value: see below.
- //
- // key: security.alpha.kubernetes.io/seccomp/container/<container name>
- // description: the seccomp profile for the container (overrides pod).
- // value: see below
- //
- // The value of seccomp is runtime agnostic:
- // * runtime/default: the default profile for the container runtime
- // * unconfined: unconfined profile, ie, no seccomp sandboxing
- // * localhost/<profile-name>: the profile installed to the node's
- // local seccomp profile root. Note that profile root is set in
- // kubelet, and it is not passed in CRI yet, see https://issues.k8s.io/36997.
- //
map<string, string> annotations = 7;
// Optional configurations specific to Linux hosts.
LinuxPodSandboxConfig linux = 8;
@@ -330,6 +363,8 @@ message RemovePodSandboxResponse {}
message PodSandboxStatusRequest {
// ID of the PodSandbox for which to retrieve status.
string pod_sandbox_id = 1;
+ // Verbose indicates whether to return extra information about the pod sandbox.
+ bool verbose = 2;
}
// PodSandboxNetworkStatus is the status of the network for a PodSandbox.
@@ -381,6 +416,11 @@ message PodSandboxStatus {
message PodSandboxStatusResponse {
// Status of the PodSandbox.
PodSandboxStatus status = 1;
+ // Info is extra information of the PodSandbox. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. network namespace for linux container based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ map<string, string> info = 2;
}
// PodSandboxStateValue is the wrapper of PodSandboxState.
@@ -459,6 +499,10 @@ message LinuxContainerResources {
int64 memory_limit_in_bytes = 4;
// OOMScoreAdj adjusts the oom-killer score. Default: 0 (not specified).
int64 oom_score_adj = 5;
+ // CpusetCpus constrains the allowed set of logical CPUs. Default: "" (not specified).
+ string cpuset_cpus = 6;
+ // CpusetMems constrains the allowed set of memory nodes. Default: "" (not specified).
+ string cpuset_mems = 7;
}
// SELinuxOption are the labels to be applied to the container.
@@ -518,10 +562,21 @@ message LinuxContainerSecurityContext {
repeated int64 supplemental_groups = 8;
// AppArmor profile for the container, candidate values are:
// * runtime/default: equivalent to not specifying a profile.
+ // * unconfined: no profiles are loaded
// * localhost/<profile_name>: profile loaded on the node
// (localhost) by name. The possible profile names are detailed at
// http://wiki.apparmor.net/index.php/AppArmor_Core_Policy_Reference
string apparmor_profile = 9;
+ // Seccomp profile for the container, candidate values are:
+ // * docker/default: the default profile for the docker container runtime
+ // * unconfined: unconfined profile, ie, no seccomp sandboxing
+ // * localhost/<full-path-to-profile>: the profile installed on the node.
+ // <full-path-to-profile> is the full path of the profile.
+ // Default: "", which is identical with unconfined.
+ string seccomp_profile_path = 10;
+ // no_new_privs defines if the flag for no_new_privs should be set on the
+ // container.
+ bool no_new_privs = 11;
}
// LinuxContainerConfig contains platform-specific configuration for
@@ -533,6 +588,26 @@ message LinuxContainerConfig {
LinuxContainerSecurityContext security_context = 2;
}
+// WindowsContainerConfig contains platform-specific configuration for
+// Windows-based containers.
+message WindowsContainerConfig {
+ // Resources specification for the container.
+ WindowsContainerResources resources = 1;
+}
+
+// WindowsContainerResources specifies Windows specific configuration for
+// resources.
+message WindowsContainerResources {
+ // CPU shares (relative weight vs. other containers). Default: 0 (not specified).
+ int64 cpu_shares = 1;
+ // Number of CPUs available to the container. Default: 0 (not specified).
+ int64 cpu_count = 2;
+ // Specifies the portion of processor cycles that this container can use as a percentage times 100.
+ int64 cpu_maximum = 3;
+ // Memory limit in bytes. Default: 0 (not specified).
+ int64 memory_limit_in_bytes = 4;
+}
+
// ContainerMetadata holds all necessary information for building the container
// name. The container runtime is encouraged to expose the metadata in its user
// interface for better user experience. E.g., runtime can construct a unique
@@ -620,6 +695,8 @@ message ContainerConfig {
// Configuration specific to Linux containers.
LinuxContainerConfig linux = 15;
+ // Configuration specific to Windows containers.
+ WindowsContainerConfig windows = 16;
}
message CreateContainerRequest {
@@ -731,6 +808,8 @@ message ListContainersResponse {
message ContainerStatusRequest {
// ID of the container for which to retrieve status.
string container_id = 1;
+ // Verbose indicates whether to return extra information about the container.
+ bool verbose = 2;
}
// ContainerStatus represents the status of a container.
@@ -775,8 +854,22 @@ message ContainerStatus {
message ContainerStatusResponse {
// Status of the container.
ContainerStatus status = 1;
+ // Info is extra information of the Container. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. pid for linux container based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ map<string, string> info = 2;
}
+message UpdateContainerResourcesRequest {
+ // ID of the container to update.
+ string container_id = 1;
+ // Resource configuration specific to Linux containers.
+ LinuxContainerResources linux = 2;
+}
+
+message UpdateContainerResourcesResponse {}
+
message ExecSyncRequest {
// ID of the container.
string container_id = 1;
@@ -803,7 +896,17 @@ message ExecRequest {
// Whether to exec the command in a TTY.
bool tty = 3;
// Whether to stream stdin.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
bool stdin = 4;
+ // Whether to stream stdout.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ bool stdout = 5;
+ // Whether to stream stderr.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ // If `tty` is true, `stderr` MUST be false. Multiplexing is not supported
+ // in this case. The output of stdout and stderr will be combined to a
+ // single stream.
+ bool stderr = 6;
}
message ExecResponse {
@@ -815,10 +918,20 @@ message AttachRequest {
// ID of the container to which to attach.
string container_id = 1;
// Whether to stream stdin.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
bool stdin = 2;
// Whether the process being attached is running in a TTY.
// This must match the TTY setting in the ContainerConfig.
bool tty = 3;
+ // Whether to stream stdout.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ bool stdout = 4;
+ // Whether to stream stderr.
+ // One of `stdin`, `stdout`, and `stderr` MUST be true.
+ // If `tty` is true, `stderr` MUST be false. Multiplexing is not supported
+ // in this case. The output of stdout and stderr will be combined to a
+ // single stream.
+ bool stderr = 5;
}
message AttachResponse {
@@ -875,11 +988,18 @@ message ListImagesResponse {
message ImageStatusRequest {
// Spec of the image.
ImageSpec image = 1;
+ // Verbose indicates whether to return extra information about the image.
+ bool verbose = 2;
}
message ImageStatusResponse {
// Status of the image.
Image image = 1;
+ // Info is extra information of the Image. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful
+ // for debug, e.g. image config for oci image based container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ map<string, string> info = 2;
}
// AuthConfig contains authorization information for connecting to a registry.
@@ -962,11 +1082,19 @@ message RuntimeStatus {
repeated RuntimeCondition conditions = 1;
}
-message StatusRequest {}
+message StatusRequest {
+ // Verbose indicates whether to return extra information about the runtime.
+ bool verbose = 1;
+}
message StatusResponse {
// Status of the Runtime.
RuntimeStatus status = 1;
+ // Info is extra information of the Runtime. The key could be arbitrary string, and
+ // value should be in json format. The information could include anything useful for
+ // debug, e.g. plugins used by the container runtime.
+ // It should only be returned non-empty when Verbose is true.
+ map<string, string> info = 2;
}
message ImageFsInfoRequest {}
@@ -977,20 +1105,20 @@ message UInt64Value {
uint64 value = 1;
}
-// StorageIdentifier uniquely identify the storage..
-message StorageIdentifier{
- // UUID of the device.
- string uuid = 1;
+// FilesystemIdentifier uniquely identify the filesystem.
+message FilesystemIdentifier{
+ // Mountpoint of a filesystem.
+ string mountpoint = 1;
}
// FilesystemUsage provides the filesystem usage information.
message FilesystemUsage {
// Timestamp in nanoseconds at which the information were collected. Must be > 0.
int64 timestamp = 1;
- // The underlying storage of the filesystem.
- StorageIdentifier storage_id = 2;
+ // The unique identifier of the filesystem.
+ FilesystemIdentifier fs_id = 2;
// UsedBytes represents the bytes used for images on the filesystem.
- // This may differ from the total bytes used on the filesystem and may not
+ // This may differ from the total bytes used on the filesystem and may not
// equal CapacityBytes - AvailableBytes.
UInt64Value used_bytes = 3;
// InodesUsed represents the inodes used by the images.
@@ -1079,3 +1207,11 @@ message MemoryUsage {
// The amount of working set memory in bytes.
UInt64Value working_set_bytes = 2;
}
+
+message ReopenContainerLogRequest {
+ // ID of the container for which to reopen the log.
+ string container_id = 1;
+}
+
+message ReopenContainerLogResponse{
+}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/constants.go b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/constants.go
new file mode 100644
index 000000000..0e141b7d7
--- /dev/null
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/constants.go
@@ -0,0 +1,55 @@
+/*
+Copyright 2016 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha2
+
+// This file contains all constants defined in CRI.
+
+// Required runtime condition type.
+const (
+ // RuntimeReady means the runtime is up and ready to accept basic containers.
+ RuntimeReady = "RuntimeReady"
+ // NetworkReady means the runtime network is up and ready to accept containers which require network.
+ NetworkReady = "NetworkReady"
+)
+
+// LogStreamType is the type of the stream in CRI container log.
+type LogStreamType string
+
+const (
+ // Stdout is the stream type for stdout.
+ Stdout LogStreamType = "stdout"
+ // Stderr is the stream type for stderr.
+ Stderr LogStreamType = "stderr"
+)
+
+// LogTag is the tag of a log line in CRI container log.
+// Currently defined log tags:
+// * First tag: Partial/Full - P/F.
+// The field in the container log format can be extended to include multiple
+// tags by using a delimiter, but changes should be rare. If it becomes clear
+// that better extensibility is desired, a more extensible format (e.g., json)
+// should be adopted as a replacement and/or addition.
+type LogTag string
+
+const (
+ // LogTagPartial means the line is part of multiple lines.
+ LogTagPartial LogTag = "P"
+ // LogTagFull means the line is a single full line or the end of multiple lines.
+ LogTagFull LogTag = "F"
+ // LogTagDelimiter is the delimiter for different log tags.
+ LogTagDelimiter = ":"
+)
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_gc.go b/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_gc.go
index be2fac4b9..72fa4bd72 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_gc.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_gc.go
@@ -19,6 +19,8 @@ package container
import (
"fmt"
"time"
+
+ "github.com/golang/glog"
)
// Specified a policy for garbage collecting containers.
@@ -58,7 +60,7 @@ type realContainerGC struct {
// Policy for garbage collection.
policy ContainerGCPolicy
- // sourcesReadyProvider provides the readyness of kubelet configuration sources.
+ // sourcesReadyProvider provides the readiness of kubelet configuration sources.
sourcesReadyProvider SourcesReadyProvider
}
@@ -80,5 +82,6 @@ func (cgc *realContainerGC) GarbageCollect() error {
}
func (cgc *realContainerGC) DeleteAllUnusedContainers() error {
+ glog.Infof("attempting to delete unused containers")
return cgc.runtime.GarbageCollect(cgc.policy, cgc.sourcesReadyProvider.AllReady(), true)
}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_reference_manager.go b/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_reference_manager.go
index 8383e77d9..d41d05a93 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_reference_manager.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/container/container_reference_manager.go
@@ -19,7 +19,7 @@ package container
import (
"sync"
- "k8s.io/kubernetes/pkg/api/v1"
+ "k8s.io/api/core/v1"
)
// RefManager manages the references for the containers.
@@ -38,7 +38,6 @@ func NewRefManager() *RefManager {
}
// SetRef stores a reference to a pod's container, associating it with the given container ID.
-// TODO: move this to client-go v1.ObjectReference
func (c *RefManager) SetRef(id ContainerID, ref *v1.ObjectReference) {
c.Lock()
defer c.Unlock()
@@ -53,7 +52,6 @@ func (c *RefManager) ClearRef(id ContainerID) {
}
// GetRef returns the container reference of the given ID, or (nil, false) if none is stored.
-// TODO: move this to client-go v1.ObjectReference
func (c *RefManager) GetRef(id ContainerID) (ref *v1.ObjectReference, ok bool) {
c.RLock()
defer c.RUnlock()
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/container/helpers.go b/vendor/k8s.io/kubernetes/pkg/kubelet/container/helpers.go
index 7930fed55..2320a192b 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/container/helpers.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/container/helpers.go
@@ -26,14 +26,12 @@ import (
"github.com/golang/glog"
+ "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
- clientv1 "k8s.io/client-go/pkg/api/v1"
"k8s.io/client-go/tools/record"
- "k8s.io/kubernetes/pkg/api/v1"
- runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
- "k8s.io/kubernetes/pkg/kubelet/events"
+ runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/kubelet/util/ioutils"
hashutil "k8s.io/kubernetes/pkg/util/hash"
@@ -48,9 +46,9 @@ type HandlerRunner interface {
// RuntimeHelper wraps kubelet to make container runtime
// able to get necessary informations like the RunContainerOptions, DNS settings, Host IP.
type RuntimeHelper interface {
- GenerateRunContainerOptions(pod *v1.Pod, container *v1.Container, podIP string) (contOpts *RunContainerOptions, useClusterFirstPolicy bool, err error)
- GetClusterDNS(pod *v1.Pod) (dnsServers []string, dnsSearches []string, useClusterFirstPolicy bool, err error)
- // GetPodCgroupParent returns the the CgroupName identifer, and its literal cgroupfs form on the host
+ GenerateRunContainerOptions(pod *v1.Pod, container *v1.Container, podIP string) (contOpts *RunContainerOptions, err error)
+ GetPodDNS(pod *v1.Pod) (dnsConfig *runtimeapi.DNSConfig, err error)
+ // GetPodCgroupParent returns the CgroupName identifier, and its literal cgroupfs form on the host
// of a pod.
GetPodCgroupParent(pod *v1.Pod) string
GetPodDir(podUID types.UID) string
@@ -176,19 +174,13 @@ type innerEventRecorder struct {
recorder record.EventRecorder
}
-func (irecorder *innerEventRecorder) shouldRecordEvent(object runtime.Object) (*clientv1.ObjectReference, bool) {
+func (irecorder *innerEventRecorder) shouldRecordEvent(object runtime.Object) (*v1.ObjectReference, bool) {
if object == nil {
return nil, false
}
- if ref, ok := object.(*clientv1.ObjectReference); ok {
- if !strings.HasPrefix(ref.FieldPath, ImplicitContainerPrefix) {
- return ref, true
- }
- }
- // just in case we miss a spot, be sure that we still log something
if ref, ok := object.(*v1.ObjectReference); ok {
if !strings.HasPrefix(ref.FieldPath, ImplicitContainerPrefix) {
- return events.ToObjectReference(ref), true
+ return ref, true
}
}
return nil, false
@@ -310,7 +302,7 @@ func GetContainerSpec(pod *v1.Pod, containerName string) *v1.Container {
// HasPrivilegedContainer returns true if any of the containers in the pod are privileged.
func HasPrivilegedContainer(pod *v1.Pod) bool {
- for _, c := range pod.Spec.Containers {
+ for _, c := range append(pod.Spec.Containers, pod.Spec.InitContainers...) {
if c.SecurityContext != nil &&
c.SecurityContext.Privileged != nil &&
*c.SecurityContext.Privileged {
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/container/ref.go b/vendor/k8s.io/kubernetes/pkg/kubelet/container/ref.go
index 0251b8134..f61c0fc4a 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/container/ref.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/container/ref.go
@@ -19,9 +19,9 @@ package container
import (
"fmt"
- "k8s.io/kubernetes/pkg/api"
- "k8s.io/kubernetes/pkg/api/v1"
- "k8s.io/kubernetes/pkg/api/v1/ref"
+ "k8s.io/api/core/v1"
+ ref "k8s.io/client-go/tools/reference"
+ "k8s.io/kubernetes/pkg/api/legacyscheme"
)
var ImplicitContainerPrefix string = "implicitly required container "
@@ -39,7 +39,7 @@ func GenerateContainerRef(pod *v1.Pod, container *v1.Container) (*v1.ObjectRefer
// start (like the pod infra container). This is not a good way, ugh.
fieldPath = ImplicitContainerPrefix + container.Name
}
- ref, err := ref.GetPartialReference(api.Scheme, pod, fieldPath)
+ ref, err := ref.GetPartialReference(legacyscheme.Scheme, pod, fieldPath)
if err != nil {
return nil, err
}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/container/runtime.go b/vendor/k8s.io/kubernetes/pkg/kubelet/container/runtime.go
index c3403ad57..56aeaf813 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/container/runtime.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/container/runtime.go
@@ -25,11 +25,11 @@ import (
"time"
"github.com/golang/glog"
+ "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/client-go/util/flowcontrol"
- "k8s.io/kubernetes/pkg/api/v1"
- runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
+ runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
"k8s.io/kubernetes/pkg/volume"
)
@@ -127,9 +127,8 @@ type Runtime interface {
// DirectStreamingRuntime is the interface implemented by runtimes for which the streaming calls
// (exec/attach/port-forward) should be served directly by the Kubelet.
type DirectStreamingRuntime interface {
- // Runs the command in the container of the specified pod using nsenter.
- // Attaches the processes stdin, stdout, and stderr. Optionally uses a
- // tty.
+ // Runs the command in the container of the specified pod. Attaches
+ // the processes stdin, stdout, and stderr. Optionally uses a tty.
ExecInContainer(containerID ContainerID, cmd []string, stdin io.Reader, stdout, stderr io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize, timeout time.Duration) error
// Forward the specified port from the specified pod to the stream.
PortForward(pod *Pod, port int32, stream io.ReadWriteCloser) error
@@ -266,6 +265,13 @@ const (
ContainerStateUnknown ContainerState = "unknown"
)
+type ContainerType string
+
+const (
+ ContainerTypeInit ContainerType = "INIT"
+ ContainerTypeRegular ContainerType = "REGULAR"
+)
+
// Container provides the runtime information for a container, such as ID, hash,
// state of the container.
type Container struct {
@@ -376,6 +382,11 @@ type EnvVar struct {
Value string
}
+type Annotation struct {
+ Name string
+ Value string
+}
+
type Mount struct {
// Name of the volume mount.
// TODO(yifan): Remove this field, as this is not representing the unique name of the mount,
@@ -389,6 +400,8 @@ type Mount struct {
ReadOnly bool
// Whether the mount needs SELinux relabeling
SELinuxRelabel bool
+ // Requested propagation mode
+ Propagation runtimeapi.MountPropagation
}
type PortMapping struct {
@@ -423,14 +436,14 @@ type RunContainerOptions struct {
Devices []DeviceInfo
// The port mappings for the containers.
PortMappings []PortMapping
+ // The annotations for the container
+ // These annotations are generated by other components (i.e.,
+ // not users). Currently, only device plugins populate the annotations.
+ Annotations []Annotation
// If the container has specified the TerminationMessagePath, then
// this directory will be used to create and mount the log file to
// container.TerminationMessagePath
PodContainerDir string
- // The list of DNS servers for the container to use.
- DNS []string
- // The list of DNS search domains.
- DNSSearch []string
// The parent cgroup to pass to Docker
CgroupParent string
// The type of container rootfs
@@ -449,9 +462,14 @@ type RunContainerOptions struct {
type VolumeInfo struct {
// Mounter is the volume's mounter
Mounter volume.Mounter
+ // BlockVolumeMapper is the Block volume's mapper
+ BlockVolumeMapper volume.BlockVolumeMapper
// SELinuxLabeled indicates whether this volume has had the
// pod's SELinux label applied to it or not
SELinuxLabeled bool
+ // Whether the volume permission is set to read-only or not
+ // This value is passed from volume.spec
+ ReadOnly bool
}
type VolumeMap map[string]VolumeInfo
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/events/event.go b/vendor/k8s.io/kubernetes/pkg/kubelet/events/event.go
deleted file mode 100644
index 0a0efc20c..000000000
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/events/event.go
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
-Copyright 2014 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package events
-
-import (
- clientv1 "k8s.io/client-go/pkg/api/v1"
- "k8s.io/kubernetes/pkg/api/v1"
-)
-
-const (
- // Container event reason list
- CreatedContainer = "Created"
- StartedContainer = "Started"
- FailedToCreateContainer = "Failed"
- FailedToStartContainer = "Failed"
- KillingContainer = "Killing"
- PreemptContainer = "Preempting"
- BackOffStartContainer = "BackOff"
- ExceededGracePeriod = "ExceededGracePeriod"
-
- // Image event reason list
- PullingImage = "Pulling"
- PulledImage = "Pulled"
- FailedToPullImage = "Failed"
- FailedToInspectImage = "InspectFailed"
- ErrImageNeverPullPolicy = "ErrImageNeverPull"
- BackOffPullImage = "BackOff"
-
- // kubelet event reason list
- NodeReady = "NodeReady"
- NodeNotReady = "NodeNotReady"
- NodeSchedulable = "NodeSchedulable"
- NodeNotSchedulable = "NodeNotSchedulable"
- StartingKubelet = "Starting"
- KubeletSetupFailed = "KubeletSetupFailed"
- FailedAttachVolume = "FailedAttachVolume"
- FailedDetachVolume = "FailedDetachVolume"
- FailedMountVolume = "FailedMount"
- FailedUnMountVolume = "FailedUnMount"
- SuccessfulDetachVolume = "SuccessfulDetachVolume"
- SuccessfulMountVolume = "SuccessfulMountVolume"
- SuccessfulUnMountVolume = "SuccessfulUnMountVolume"
- HostPortConflict = "HostPortConflict"
- NodeSelectorMismatching = "NodeSelectorMismatching"
- InsufficientFreeCPU = "InsufficientFreeCPU"
- InsufficientFreeMemory = "InsufficientFreeMemory"
- OutOfDisk = "OutOfDisk"
- HostNetworkNotSupported = "HostNetworkNotSupported"
- UndefinedShaper = "NilShaper"
- NodeRebooted = "Rebooted"
- ContainerGCFailed = "ContainerGCFailed"
- ImageGCFailed = "ImageGCFailed"
- FailedNodeAllocatableEnforcement = "FailedNodeAllocatableEnforcement"
- SuccessfulNodeAllocatableEnforcement = "NodeAllocatableEnforced"
- UnsupportedMountOption = "UnsupportedMountOption"
-
- // Image manager event reason list
- InvalidDiskCapacity = "InvalidDiskCapacity"
- FreeDiskSpaceFailed = "FreeDiskSpaceFailed"
-
- // Probe event reason list
- ContainerUnhealthy = "Unhealthy"
-
- // Pod worker event reason list
- FailedSync = "FailedSync"
-
- // Config event reason list
- FailedValidation = "FailedValidation"
-
- // Lifecycle hooks
- FailedPostStartHook = "FailedPostStartHook"
- FailedPreStopHook = "FailedPreStopHook"
- UnfinishedPreStopHook = "UnfinishedPreStopHook"
-)
-
-// ToObjectReference takes an old style object reference and converts it to a client-go one
-func ToObjectReference(ref *v1.ObjectReference) *clientv1.ObjectReference {
- if ref == nil {
- return nil
- }
- return &clientv1.ObjectReference{
- Kind: ref.Kind,
- Namespace: ref.Namespace,
- Name: ref.Name,
- UID: ref.UID,
- APIVersion: ref.APIVersion,
- ResourceVersion: ref.ResourceVersion,
- FieldPath: ref.FieldPath,
- }
-}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go b/vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go
new file mode 100644
index 000000000..2c83908a7
--- /dev/null
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/types/constants.go
@@ -0,0 +1,33 @@
+/*
+Copyright 2015 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package types
+
+const (
+ // system default DNS resolver configuration
+ ResolvConfDefault = "/etc/resolv.conf"
+
+ // different container runtimes
+ DockerContainerRuntime = "docker"
+ RktContainerRuntime = "rkt"
+ RemoteContainerRuntime = "remote"
+
+ // User visible keys for managing node allocatable enforcement on the node.
+ NodeAllocatableEnforcementKey = "pods"
+ SystemReservedEnforcementKey = "system-reserved"
+ KubeReservedEnforcementKey = "kube-reserved"
+ NodeAllocatableNoneKey = "none"
+)
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/constants.go b/vendor/k8s.io/kubernetes/pkg/kubelet/types/doc.go
index 27c42c5c5..88e345636 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime/constants.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/types/doc.go
@@ -1,5 +1,5 @@
/*
-Copyright 2016 The Kubernetes Authors.
+Copyright 2015 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,14 +14,5 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package runtime
-
-// This file contains all constants defined in CRI.
-
-// Required runtime condition type.
-const (
- // RuntimeReady means the runtime is up and ready to accept basic containers.
- RuntimeReady = "RuntimeReady"
- // NetworkReady means the runtime network is up and ready to accept containers which require network.
- NetworkReady = "NetworkReady"
-)
+// Common types in the Kubelet.
+package types // import "k8s.io/kubernetes/pkg/kubelet/types"
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/types/labels.go b/vendor/k8s.io/kubernetes/pkg/kubelet/types/labels.go
new file mode 100644
index 000000000..67c84f6d6
--- /dev/null
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/types/labels.go
@@ -0,0 +1,41 @@
+/*
+Copyright 2016 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package types
+
+const (
+ KubernetesPodNameLabel = "io.kubernetes.pod.name"
+ KubernetesPodNamespaceLabel = "io.kubernetes.pod.namespace"
+ KubernetesPodUIDLabel = "io.kubernetes.pod.uid"
+ KubernetesContainerNameLabel = "io.kubernetes.container.name"
+ KubernetesContainerTypeLabel = "io.kubernetes.container.type"
+)
+
+func GetContainerName(labels map[string]string) string {
+ return labels[KubernetesContainerNameLabel]
+}
+
+func GetPodName(labels map[string]string) string {
+ return labels[KubernetesPodNameLabel]
+}
+
+func GetPodUID(labels map[string]string) string {
+ return labels[KubernetesPodUIDLabel]
+}
+
+func GetPodNamespace(labels map[string]string) string {
+ return labels[KubernetesPodNamespaceLabel]
+}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/types/pod_update.go b/vendor/k8s.io/kubernetes/pkg/kubelet/types/pod_update.go
new file mode 100644
index 000000000..62116985f
--- /dev/null
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/types/pod_update.go
@@ -0,0 +1,175 @@
+/*
+Copyright 2014 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package types
+
+import (
+ "fmt"
+
+ "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ kubeapi "k8s.io/kubernetes/pkg/apis/core"
+ schedulerapi "k8s.io/kubernetes/pkg/scheduler/api"
+)
+
+const (
+ ConfigSourceAnnotationKey = "kubernetes.io/config.source"
+ ConfigMirrorAnnotationKey = v1.MirrorPodAnnotationKey
+ ConfigFirstSeenAnnotationKey = "kubernetes.io/config.seen"
+ ConfigHashAnnotationKey = "kubernetes.io/config.hash"
+ CriticalPodAnnotationKey = "scheduler.alpha.kubernetes.io/critical-pod"
+)
+
+// PodOperation defines what changes will be made on a pod configuration.
+type PodOperation int
+
+const (
+ // This is the current pod configuration
+ SET PodOperation = iota
+ // Pods with the given ids are new to this source
+ ADD
+ // Pods with the given ids are gracefully deleted from this source
+ DELETE
+ // Pods with the given ids have been removed from this source
+ REMOVE
+ // Pods with the given ids have been updated in this source
+ UPDATE
+ // Pods with the given ids have unexpected status in this source,
+ // kubelet should reconcile status with this source
+ RECONCILE
+ // Pods with the given ids have been restored from a checkpoint.
+ RESTORE
+
+ // These constants identify the sources of pods
+ // Updates from a file
+ FileSource = "file"
+ // Updates from querying a web page
+ HTTPSource = "http"
+ // Updates from Kubernetes API Server
+ ApiserverSource = "api"
+ // Updates from all sources
+ AllSource = "*"
+
+ NamespaceDefault = metav1.NamespaceDefault
+)
+
+// PodUpdate defines an operation sent on the channel. You can add or remove single services by
+// sending an array of size one and Op == ADD|REMOVE (with REMOVE, only the ID is required).
+// For setting the state of the system to a given state for this source configuration, set
+// Pods as desired and Op to SET, which will reset the system state to that specified in this
+// operation for this source channel. To remove all pods, set Pods to empty object and Op to SET.
+//
+// Additionally, Pods should never be nil - it should always point to an empty slice. While
+// functionally similar, this helps our unit tests properly check that the correct PodUpdates
+// are generated.
+type PodUpdate struct {
+ Pods []*v1.Pod
+ Op PodOperation
+ Source string
+}
+
+// Gets all validated sources from the specified sources.
+func GetValidatedSources(sources []string) ([]string, error) {
+ validated := make([]string, 0, len(sources))
+ for _, source := range sources {
+ switch source {
+ case AllSource:
+ return []string{FileSource, HTTPSource, ApiserverSource}, nil
+ case FileSource, HTTPSource, ApiserverSource:
+ validated = append(validated, source)
+ break
+ case "":
+ break
+ default:
+ return []string{}, fmt.Errorf("unknown pod source %q", source)
+ }
+ }
+ return validated, nil
+}
+
+// GetPodSource returns the source of the pod based on the annotation.
+func GetPodSource(pod *v1.Pod) (string, error) {
+ if pod.Annotations != nil {
+ if source, ok := pod.Annotations[ConfigSourceAnnotationKey]; ok {
+ return source, nil
+ }
+ }
+ return "", fmt.Errorf("cannot get source of pod %q", pod.UID)
+}
+
+// SyncPodType classifies pod updates, eg: create, update.
+type SyncPodType int
+
+const (
+ // SyncPodSync is when the pod is synced to ensure desired state
+ SyncPodSync SyncPodType = iota
+ // SyncPodUpdate is when the pod is updated from source
+ SyncPodUpdate
+ // SyncPodCreate is when the pod is created from source
+ SyncPodCreate
+ // SyncPodKill is when the pod is killed based on a trigger internal to the kubelet for eviction.
+ // If a SyncPodKill request is made to pod workers, the request is never dropped, and will always be processed.
+ SyncPodKill
+)
+
+func (sp SyncPodType) String() string {
+ switch sp {
+ case SyncPodCreate:
+ return "create"
+ case SyncPodUpdate:
+ return "update"
+ case SyncPodSync:
+ return "sync"
+ case SyncPodKill:
+ return "kill"
+ default:
+ return "unknown"
+ }
+}
+
+// IsCriticalPod returns true if the pod bears the critical pod annotation key or if pod's priority is greater than
+// or equal to SystemCriticalPriority. Both the rescheduler(deprecated in 1.10) and the kubelet use this function
+// to make admission and scheduling decisions.
+func IsCriticalPod(pod *v1.Pod) bool {
+ return IsCritical(pod.Namespace, pod.Annotations) || (pod.Spec.Priority != nil && IsCriticalPodBasedOnPriority(pod.Namespace, *pod.Spec.Priority))
+}
+
+// IsCritical returns true if parameters bear the critical pod annotation
+// key. The DaemonSetController use this key directly to make scheduling decisions.
+// TODO: @ravig - Deprecated. Remove this when we move to resolving critical pods based on priorityClassName.
+func IsCritical(ns string, annotations map[string]string) bool {
+ // Critical pods are restricted to "kube-system" namespace as of now.
+ if ns != kubeapi.NamespaceSystem {
+ return false
+ }
+ val, ok := annotations[CriticalPodAnnotationKey]
+ if ok && val == "" {
+ return true
+ }
+ return false
+}
+
+// IsCriticalPodBasedOnPriority checks if the given pod is a critical pod based on priority resolved from pod Spec.
+func IsCriticalPodBasedOnPriority(ns string, priority int32) bool {
+ // Critical pods are restricted to "kube-system" namespace as of now.
+ if ns != kubeapi.NamespaceSystem {
+ return false
+ }
+ if priority >= schedulerapi.SystemCriticalPriority {
+ return true
+ }
+ return false
+}
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go b/vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go
new file mode 100644
index 000000000..b0dff97a7
--- /dev/null
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/types/types.go
@@ -0,0 +1,100 @@
+/*
+Copyright 2015 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package types
+
+import (
+ "net/http"
+ "time"
+
+ "k8s.io/api/core/v1"
+ "k8s.io/apimachinery/pkg/types"
+)
+
+// TODO: Reconcile custom types in kubelet/types and this subpackage
+
+type HttpGetter interface {
+ Get(url string) (*http.Response, error)
+}
+
+// Timestamp wraps around time.Time and offers utilities to format and parse
+// the time using RFC3339Nano
+type Timestamp struct {
+ time time.Time
+}
+
+// NewTimestamp returns a Timestamp object using the current time.
+func NewTimestamp() *Timestamp {
+ return &Timestamp{time.Now()}
+}
+
+// ConvertToTimestamp takes a string, parses it using the RFC3339Nano layout,
+// and converts it to a Timestamp object.
+func ConvertToTimestamp(timeString string) *Timestamp {
+ parsed, _ := time.Parse(time.RFC3339Nano, timeString)
+ return &Timestamp{parsed}
+}
+
+// Get returns the time as time.Time.
+func (t *Timestamp) Get() time.Time {
+ return t.time
+}
+
+// GetString returns the time in the string format using the RFC3339Nano
+// layout.
+func (t *Timestamp) GetString() string {
+ return t.time.Format(time.RFC3339Nano)
+}
+
+// A type to help sort container statuses based on container names.
+type SortedContainerStatuses []v1.ContainerStatus
+
+func (s SortedContainerStatuses) Len() int { return len(s) }
+func (s SortedContainerStatuses) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
+
+func (s SortedContainerStatuses) Less(i, j int) bool {
+ return s[i].Name < s[j].Name
+}
+
+// SortInitContainerStatuses ensures that statuses are in the order that their
+// init container appears in the pod spec
+func SortInitContainerStatuses(p *v1.Pod, statuses []v1.ContainerStatus) {
+ containers := p.Spec.InitContainers
+ current := 0
+ for _, container := range containers {
+ for j := current; j < len(statuses); j++ {
+ if container.Name == statuses[j].Name {
+ statuses[current], statuses[j] = statuses[j], statuses[current]
+ current++
+ break
+ }
+ }
+ }
+}
+
+// Reservation represents reserved resources for non-pod components.
+type Reservation struct {
+ // System represents resources reserved for non-kubernetes components.
+ System v1.ResourceList
+ // Kubernetes represents resources reserved for kubernetes system components.
+ Kubernetes v1.ResourceList
+}
+
+// A pod UID which has been translated/resolved to the representation known to kubelets.
+type ResolvedPodUID types.UID
+
+// A pod UID for a mirror pod.
+type MirrorPodUID types.UID
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/pod.go b/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/pod.go
index da20d42e8..45c0d8b4b 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/pod.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/pod.go
@@ -21,8 +21,8 @@ import (
"strings"
"time"
+ "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
- "k8s.io/kubernetes/pkg/api/v1"
)
type podHandler func(*v1.Pod) string
@@ -51,7 +51,7 @@ func PodWithDeletionTimestamp(pod *v1.Pod) string {
return Pod(pod) + deletionTimestamp
}
-// Pods returns a string representating a list of pods in a human
+// Pods returns a string representation a list of pods in a human
// readable format.
func Pods(pods []*v1.Pod) string {
return aggregatePods(pods, Pod)
diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/resources.go b/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/resources.go
index bc50bc9c6..2a64c5b72 100644
--- a/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/resources.go
+++ b/vendor/k8s.io/kubernetes/pkg/kubelet/util/format/resources.go
@@ -21,7 +21,7 @@ import (
"sort"
"strings"
- "k8s.io/kubernetes/pkg/api/v1"
+ "k8s.io/api/core/v1"
)
// ResourceList returns a string representation of a resource list in a human readable format.