summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorWindrow14 <90297720+Windrow14@users.noreply.github.com>2023-12-14 14:41:31 +0800
committerGitHub <noreply@github.com>2023-12-14 14:41:31 +0800
commit59e67cff319670485d51aaa8b601f4aa5fd5a2f0 (patch)
treee9f8d14053565f14ea139a91c2b89c506a1b425a /pkg
parentModification according to comment. (diff)
parentMerge pull request #5305 from wbc6080/remove-protocol (diff)
downloadkubeedge-59e67cff319670485d51aaa8b601f4aa5fd5a2f0.tar.gz
Merge branch 'kubeedge:master' into feature/add_more_metaserver_non_resource_uris
Diffstat (limited to 'pkg')
-rw-r--r--pkg/apis/componentconfig/edgecore/v1alpha2/default_kubelet_configuration.go44
-rw-r--r--pkg/apis/componentconfig/edgecore/v1alpha2/types.go61
-rw-r--r--pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation.go21
-rw-r--r--pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_others.go25
-rw-r--r--pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_windows.go25
-rw-r--r--pkg/apis/devices/v1beta1/device_instance_types.go39
-rw-r--r--pkg/apis/devices/v1beta1/zz_generated.deepcopy.go84
-rw-r--r--pkg/apis/dmi/v1beta1/api.pb.go972
-rw-r--r--pkg/apis/dmi/v1beta1/api.proto30
-rw-r--r--pkg/apis/dmi/v1beta1/api_grpc.pb.go2
-rw-r--r--pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_edgeapplication.go5
-rw-r--r--pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_nodegroup.go5
-rw-r--r--pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_device.go5
-rw-r--r--pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_devicemodel.go5
-rw-r--r--pkg/client/clientset/versioned/typed/operations/v1alpha1/fake/fake_nodeupgradejob.go5
-rw-r--r--pkg/client/clientset/versioned/typed/policy/v1alpha1/fake/fake_serviceaccountaccess.go5
-rw-r--r--pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_clusterobjectsync.go5
-rw-r--r--pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_objectsync.go5
-rw-r--r--pkg/client/clientset/versioned/typed/rules/v1/fake/fake_rule.go57
-rw-r--r--pkg/client/clientset/versioned/typed/rules/v1/fake/fake_ruleendpoint.go51
-rw-r--r--pkg/metaserver/application.go2
21 files changed, 981 insertions, 472 deletions
diff --git a/pkg/apis/componentconfig/edgecore/v1alpha2/default_kubelet_configuration.go b/pkg/apis/componentconfig/edgecore/v1alpha2/default_kubelet_configuration.go
index ce382c6b6..dabaf5556 100644
--- a/pkg/apis/componentconfig/edgecore/v1alpha2/default_kubelet_configuration.go
+++ b/pkg/apis/componentconfig/edgecore/v1alpha2/default_kubelet_configuration.go
@@ -39,22 +39,25 @@ import (
// SetDefaultsKubeletConfiguration sets defaults for tailored kubelet configuration
func SetDefaultsKubeletConfiguration(obj *TailoredKubeletConfiguration) {
+ obj.StaticPodPath = constants.DefaultManifestsDir
obj.SyncFrequency = metav1.Duration{Duration: 1 * time.Minute}
obj.Address = constants.ServerAddress
obj.ReadOnlyPort = constants.ServerPort
obj.ClusterDomain = constants.DefaultClusterDomain
- obj.RegistryPullQPS = utilpointer.Int32Ptr(5)
+ obj.RegistryPullQPS = utilpointer.Int32(5)
obj.RegistryBurst = 10
- obj.EnableDebuggingHandlers = utilpointer.BoolPtr(true)
- obj.OOMScoreAdj = utilpointer.Int32Ptr(int32(qos.KubeletOOMScoreAdj))
+ obj.EventRecordQPS = utilpointer.Int32(50)
+ obj.EventBurst = 100
+ obj.EnableDebuggingHandlers = utilpointer.Bool(true)
+ obj.OOMScoreAdj = utilpointer.Int32(int32(qos.KubeletOOMScoreAdj))
obj.StreamingConnectionIdleTimeout = metav1.Duration{Duration: 4 * time.Hour}
obj.NodeStatusReportFrequency = metav1.Duration{Duration: 5 * time.Minute}
obj.NodeStatusUpdateFrequency = metav1.Duration{Duration: 10 * time.Second}
obj.NodeLeaseDurationSeconds = 40
obj.ImageMinimumGCAge = metav1.Duration{Duration: 2 * time.Minute}
// default is below docker's default dm.min_free_space of 90%
- obj.ImageGCHighThresholdPercent = utilpointer.Int32Ptr(constants.DefaultImageGCHighThreshold)
- obj.ImageGCLowThresholdPercent = utilpointer.Int32Ptr(constants.DefaultImageGCLowThreshold)
+ obj.ImageGCHighThresholdPercent = utilpointer.Int32(85)
+ obj.ImageGCLowThresholdPercent = utilpointer.Int32(80)
obj.VolumeStatsAggPeriod = metav1.Duration{Duration: time.Minute}
obj.CPUManagerPolicy = "none"
// Keep the same as default NodeStatusUpdateFrequency
@@ -68,36 +71,37 @@ func SetDefaultsKubeletConfiguration(obj *TailoredKubeletConfiguration) {
// default nil or negative value to -1 (implies node allocatable pid limit)
obj.PodPidsLimit = utilpointer.Int64(-1)
obj.CPUCFSQuotaPeriod = &metav1.Duration{Duration: 100 * time.Millisecond}
- obj.NodeStatusMaxImages = utilpointer.Int32Ptr(0)
+ obj.NodeStatusMaxImages = utilpointer.Int32(0)
obj.MaxOpenFiles = 1000000
obj.ContentType = "application/json"
- obj.SerializeImagePulls = utilpointer.BoolPtr(true)
+ obj.SerializeImagePulls = utilpointer.Bool(true)
obj.EvictionHard = eviction.DefaultEvictionHard
obj.EvictionPressureTransitionPeriod = metav1.Duration{Duration: 5 * time.Minute}
obj.EnableControllerAttachDetach = utilpointer.Bool(true)
- obj.MakeIPTablesUtilChains = utilpointer.BoolPtr(true)
- obj.IPTablesMasqueradeBit = utilpointer.Int32Ptr(configv1beta1.DefaultIPTablesMasqueradeBit)
- obj.IPTablesDropBit = utilpointer.Int32Ptr(configv1beta1.DefaultIPTablesDropBit)
- obj.FailSwapOn = utilpointer.BoolPtr(false)
+ obj.MakeIPTablesUtilChains = utilpointer.Bool(true)
+ obj.IPTablesMasqueradeBit = utilpointer.Int32(configv1beta1.DefaultIPTablesMasqueradeBit)
+ obj.IPTablesDropBit = utilpointer.Int32(configv1beta1.DefaultIPTablesDropBit)
+ obj.FailSwapOn = utilpointer.Bool(false)
obj.ContainerLogMaxSize = "10Mi"
- obj.ContainerLogMaxFiles = utilpointer.Int32Ptr(5)
+ obj.ContainerLogMaxFiles = utilpointer.Int32(5)
obj.ConfigMapAndSecretChangeDetectionStrategy = kubeletconfigv1beta1.GetChangeDetectionStrategy
obj.EnforceNodeAllocatable = DefaultNodeAllocatableEnforcement
obj.VolumePluginDir = constants.DefaultVolumePluginDir
// Use the Default LoggingConfiguration option
logsapi.SetRecommendedLoggingConfiguration(&obj.Logging)
- obj.EnableSystemLogHandler = utilpointer.BoolPtr(true)
- obj.EnableProfilingHandler = utilpointer.BoolPtr(true)
- obj.EnableDebugFlagsHandler = utilpointer.BoolPtr(true)
- obj.SeccompDefault = utilpointer.BoolPtr(false)
- obj.MemoryThrottlingFactor = utilpointer.Float64Ptr(configv1beta1.DefaultMemoryThrottlingFactor)
- obj.RegisterNode = utilpointer.BoolPtr(true)
+ obj.EnableSystemLogHandler = utilpointer.Bool(true)
+ obj.EnableProfilingHandler = utilpointer.Bool(true)
+ obj.EnableDebugFlagsHandler = utilpointer.Bool(true)
+ obj.SeccompDefault = utilpointer.Bool(false)
+ obj.MemoryThrottlingFactor = utilpointer.Float64(configv1beta1.DefaultMemoryThrottlingFactor)
+ obj.RegisterNode = utilpointer.Bool(true)
obj.EnforceNodeAllocatable = DefaultNodeAllocatableEnforcement
obj.CgroupDriver = DefaultCgroupDriver
obj.CgroupsPerQOS = utilpointer.Bool(DefaultCgroupsPerQOS)
obj.ResolverConfig = utilpointer.String(DefaultResolverConfig)
obj.CPUCFSQuota = utilpointer.Bool(DefaultCPUCFSQuota)
- // Add static pod default path
- obj.StaticPodPath = constants.DefaultManifestsDir
+ obj.LocalStorageCapacityIsolation = utilpointer.Bool(true)
+ obj.ContainerRuntimeEndpoint = constants.DefaultRemoteRuntimeEndpoint
+ obj.ImageServiceEndpoint = constants.DefaultRemoteImageEndpoint
}
diff --git a/pkg/apis/componentconfig/edgecore/v1alpha2/types.go b/pkg/apis/componentconfig/edgecore/v1alpha2/types.go
index 377d0cddc..624070a55 100644
--- a/pkg/apis/componentconfig/edgecore/v1alpha2/types.go
+++ b/pkg/apis/componentconfig/edgecore/v1alpha2/types.go
@@ -117,6 +117,11 @@ type Edged struct {
// TailoredKubeletConfiguration indicates the tailored kubelet configuration.
// It is derived from Kubernetes code `KubeletConfiguration` in package `k8s.io/kubelet/config/v1beta1` and made some variant.
type TailoredKubeletConfiguration struct {
+ // staticPodPath is the path to the directory containing local (static) pods to
+ // run, or the path to a single static pod file.
+ // Default: "/etc/kubeedge/manifests"
+ // +optional
+ StaticPodPath string `json:"staticPodPath,omitempty"`
// syncFrequency is the max period between synchronizing running
// containers and config.
// Default: "1m"
@@ -149,14 +154,14 @@ type TailoredKubeletConfiguration struct {
RegistryBurst int32 `json:"registryBurst,omitempty"`
// eventRecordQPS is the maximum event creations per second. If 0, there
// is no limit enforced. The value cannot be a negative number.
- // Default: 0
+ // Default: 50
// +optional
EventRecordQPS *int32 `json:"eventRecordQPS,omitempty"`
// eventBurst is the maximum size of a burst of event creations, temporarily
// allows event creations to burst to this number, while still not exceeding
// eventRecordQPS. This field cannot be a negative number and it is only used
// when eventRecordQPS > 0.
- // Default: 10
+ // Default: 100
// +optional
EventBurst int32 `json:"eventBurst,omitempty"`
// enableDebuggingHandlers enables server endpoints for log access
@@ -216,7 +221,6 @@ type TailoredKubeletConfiguration struct {
// The lease is currently renewed every 10s, per KEP-0009. In the future, the lease renewal interval
// may be set based on the lease duration.
// The field value must be greater than 0.
- // Requires the NodeLease feature gate to be enabled.
// Default: 40
// +optional
NodeLeaseDurationSeconds int32 `json:"nodeLeaseDurationSeconds,omitempty"`
@@ -259,7 +263,6 @@ type TailoredKubeletConfiguration struct {
SystemCgroups string `json:"systemCgroups,omitempty"`
// cgroupRoot is the root cgroup to use for pods. This is handled by the
// container runtime on a best effort basis.
- // Default: ""
// +optional
CgroupRoot string `json:"cgroupRoot,omitempty"`
// cgroupsPerQOS enable QoS based CGroup hierarchy: top level CGroups for QoS classes
@@ -319,6 +322,12 @@ type TailoredKubeletConfiguration struct {
// Default: "container"
// +optional
TopologyManagerScope string `json:"topologyManagerScope,omitempty"`
+ // TopologyManagerPolicyOptions is a set of key=value which allows to set extra options
+ // to fine tune the behaviour of the topology manager policies.
+ // Requires both the "TopologyManager" and "TopologyManagerPolicyOptions" feature gates to be enabled.
+ // Default: nil
+ // +optional
+ TopologyManagerPolicyOptions map[string]string `json:"topologyManagerPolicyOptions,omitempty"`
// qosReserved is a set of resource name to percentage pairs that specify
// the minimum percentage of a resource reserved for exclusive use by the
// guaranteed QoS tier.
@@ -362,6 +371,7 @@ type TailoredKubeletConfiguration struct {
PodPidsLimit *int64 `json:"podPidsLimit,omitempty"`
// resolvConf is the resolver configuration file used as the basis
// for the container DNS resolution configuration.
+ // If set to the empty string, will override the default and effectively disable DNS lookups.
// Default: "/etc/resolv.conf"
// +optional
ResolverConfig *string `json:"resolvConf,omitempty"`
@@ -398,6 +408,12 @@ type TailoredKubeletConfiguration struct {
// Default: true
// +optional
SerializeImagePulls *bool `json:"serializeImagePulls,omitempty"`
+ // MaxParallelImagePulls sets the maximum number of image pulls in parallel.
+ // This field cannot be set if SerializeImagePulls is true.
+ // Setting it to nil means no limit.
+ // Default: nil
+ // +optional
+ MaxParallelImagePulls *int32 `json:"maxParallelImagePulls,omitempty"`
// evictionHard is a map of signal names to quantities that defines hard eviction
// thresholds. For example: `{"memory.available": "300Mi"}`.
// To explicitly disable, pass a 0% or 100% threshold on an arbitrary resource.
@@ -597,6 +613,12 @@ type TailoredKubeletConfiguration struct {
// Default: true
// +optional
EnableSystemLogHandler *bool `json:"enableSystemLogHandler,omitempty"`
+ // enableSystemLogQuery enables the node log query feature on the /logs endpoint.
+ // EnableSystemLogHandler has to be enabled in addition for this feature to work.
+ // Default: false
+ // +featureGate=NodeLogQuery
+ // +optional
+ EnableSystemLogQuery *bool `json:"enableSystemLogQuery,omitempty"`
// shutdownGracePeriod specifies the total duration that the node should delay the
// shutdown and total grace period for pod termination during a node shutdown.
// Default: "0s"
@@ -696,11 +718,26 @@ type TailoredKubeletConfiguration struct {
// Default: true
// +optional
RegisterNode *bool `json:"registerNode,omitempty"`
- // staticPodPath is the path to the directory containing local (static) pods to
- // run, or the path to a single static pod file.
- // Default: "/etc/kubeedge/manifests"
+ // LocalStorageCapacityIsolation enables local ephemeral storage isolation feature. The default setting is true.
+ // This feature allows users to set request/limit for container's ephemeral storage and manage it in a similar way
+ // as cpu and memory. It also allows setting sizeLimit for emptyDir volume, which will trigger pod eviction if disk
+ // usage from the volume exceeds the limit.
+ // This feature depends on the capability of detecting correct root file system disk usage. For certain systems,
+ // such as kind rootless, if this capability cannot be supported, the feature LocalStorageCapacityIsolation should be
+ // disabled. Once disabled, user should not set request/limit for container's ephemeral storage, or sizeLimit for emptyDir.
+ // Default: true
// +optional
- StaticPodPath string `json:"staticPodPath,omitempty"`
+ LocalStorageCapacityIsolation *bool `json:"localStorageCapacityIsolation,omitempty"`
+ // ContainerRuntimeEndpoint is the endpoint of container runtime.
+ // Unix Domain Sockets are supported on Linux, while npipe and tcp endpoints are supported on Windows.
+ // Examples:'unix:///path/to/runtime.sock', 'npipe:////./pipe/runtime'
+ ContainerRuntimeEndpoint string `json:"containerRuntimeEndpoint"`
+ // ImageServiceEndpoint is the endpoint of container image service.
+ // Unix Domain Socket are supported on Linux, while npipe and tcp endpoints are supported on Windows.
+ // Examples:'unix:///path/to/runtime.sock', 'npipe:////./pipe/runtime'.
+ // If not specified, the value in containerRuntimeEndpoint is used.
+ // +optional
+ ImageServiceEndpoint string `json:"imageServiceEndpoint,omitempty"`
}
// TailoredKubeletFlag indicates the tailored kubelet flag
@@ -720,12 +757,12 @@ type TailoredKubeletFlag struct {
RootDirectory string `json:"rootDirectory,omitempty"`
// registerNode enables automatic registration with the apiserver.
// default true
- // DEPRECATED: This parameter should be set via the TailoredKubeletConfig
+ // DEPRECATED: This parameter will be removed at KubeEdge v1.17 and should be set via the TailoredKubeletConfig
RegisterNode bool `json:"registerNode,omitempty"`
// registerWithTaints are an array of taints to add to a node object when
// the edgecore registers itself. This only takes effect when registerNode
// is true and upon the initial registration of the node.
- // DEPRECATED: This parameter should be set via the TailoredKubeletConfig
+ // DEPRECATED: This parameter will be removed at KubeEdge v1.17 and should be set via the TailoredKubeletConfig
RegisterWithTaints []core.Taint `json:"registerWithTaints,omitempty"`
// WindowsService should be set to true if kubelet is running as a service on Windows.
// Its corresponding flag only gets registered in Windows builds.
@@ -738,9 +775,11 @@ type TailoredKubeletFlag struct {
WindowsPriorityClass string `json:"windowsPriorityClass,omitempty"`
// remoteRuntimeEndpoint is the endpoint of remote runtime service
// default "unix:///run/containerd/containerd.sock"
+ // DEPRECATED: This parameter will be removed in KubeEdge v1.17 and should be set via the ContainerRuntimeEndpoint on TailoredKubeletConfig
RemoteRuntimeEndpoint string `json:"remoteRuntimeEndpoint,omitempty"`
// remoteImageEndpoint is the endpoint of remote image service
// default "unix:///run/containerd/containerd.sock"
+ // DEPRECATED: This parameter will be removed in KubeEdge v1.17 and should be set via the ImageServiceEndpoint on TailoredKubeletConfig
RemoteImageEndpoint string `json:"remoteImageEndpoint,omitempty"`
// experimentalMounterPath is the path of mounter binary. Leave empty to use the default mount path
ExperimentalMounterPath string `json:"experimentalMounterPath,omitempty"`
@@ -761,6 +800,7 @@ type TailoredKubeletFlag struct {
MaxContainerCount int32 `json:"maxContainerCount,omitempty"`
// masterServiceNamespace is The namespace from which the kubernetes
// master services should be injected into pods.
+ // DEPRECATED: will be removed in KubeEdge v1.17
MasterServiceNamespace string `json:"masterServiceNamespace,omitempty"`
// registerSchedulable tells the edgecore to register the node as
// schedulable. Won't have any effect if register-node is false.
@@ -780,6 +820,7 @@ type ContainerRuntimeOptions struct {
// ContainerRuntime is the container runtime to use.
// only valid value "remote"
+ // ContainerRuntime is deprecated and will be removed at KubeEdge v1.17
ContainerRuntime string `json:"containerRuntime,omitempty"`
// RuntimeCgroups that container runtime is expected to be isolated in.
RuntimeCgroups string `json:"runtimeCgroups,omitempty"`
diff --git a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation.go b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation.go
index 76ef74a2e..6ed385136 100644
--- a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation.go
+++ b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation.go
@@ -22,6 +22,8 @@ import (
"path"
"k8s.io/apimachinery/pkg/util/validation/field"
+ "k8s.io/klog/v2"
+ "k8s.io/kubernetes/pkg/apis/core/validation"
"github.com/kubeedge/kubeedge/pkg/apis/componentconfig/edgecore/v1alpha2"
utilvalidation "github.com/kubeedge/kubeedge/pkg/util/validation"
@@ -55,6 +57,25 @@ func ValidateDataBase(db v1alpha2.DataBase) field.ErrorList {
return allErrs
}
+// ValidateModuleEdged validates `e` and returns an errorList if it is invalid
+func ValidateModuleEdged(e v1alpha2.Edged) field.ErrorList {
+ if !e.Enable {
+ return field.ErrorList{}
+ }
+ allErrs := field.ErrorList{}
+ messages := validation.ValidateNodeName(e.HostnameOverride, false)
+ for _, msg := range messages {
+ allErrs = append(allErrs, field.Invalid(field.NewPath("HostnameOverride"), e.HostnameOverride, msg))
+ }
+ if e.NodeIP == "" {
+ klog.Warningf("NodeIP is empty , use default ip which can connect to cloud.")
+ }
+ if err := ValidateCgroupDriver(e.TailoredKubeletConfig.CgroupDriver); err != nil {
+ allErrs = append(allErrs, err)
+ }
+ return allErrs
+}
+
// ValidateModuleEdgeHub validates `h` and returns an errorList if it is invalid
func ValidateModuleEdgeHub(h v1alpha2.EdgeHub) field.ErrorList {
if !h.Enable {
diff --git a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_others.go b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_others.go
index 9c88befe9..4a30bbe81 100644
--- a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_others.go
+++ b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_others.go
@@ -4,30 +4,17 @@ package validation
import (
"k8s.io/apimachinery/pkg/util/validation/field"
- "k8s.io/klog/v2"
- "k8s.io/kubernetes/pkg/apis/core/validation"
"github.com/kubeedge/kubeedge/pkg/apis/componentconfig/edgecore/v1alpha2"
)
-// ValidateModuleEdged validates `e` and returns an errorList if it is invalid
-func ValidateModuleEdged(e v1alpha2.Edged) field.ErrorList {
- if !e.Enable {
- return field.ErrorList{}
- }
- allErrs := field.ErrorList{}
- messages := validation.ValidateNodeName(e.HostnameOverride, false)
- for _, msg := range messages {
- allErrs = append(allErrs, field.Invalid(field.NewPath("HostnameOverride"), e.HostnameOverride, msg))
- }
- if e.NodeIP == "" {
- klog.Warningf("NodeIP is empty , use default ip which can connect to cloud.")
- }
- switch e.TailoredKubeletConfig.CgroupDriver {
+// ValidateCgroupDriver validates `edged.TailoredKubeletConfig.CgroupDriver` and returns an errorList if it is invalid
+func ValidateCgroupDriver(cgroupDriver string) *field.Error {
+ switch cgroupDriver {
case v1alpha2.CGroupDriverCGroupFS, v1alpha2.CGroupDriverSystemd:
default:
- allErrs = append(allErrs, field.Invalid(field.NewPath("CGroupDriver"), e.TailoredKubeletConfig.CgroupDriver,
- "CGroupDriver value error"))
+ return field.Invalid(field.NewPath("CGroupDriver"), cgroupDriver,
+ "CGroupDriver value error")
}
- return allErrs
+ return nil
}
diff --git a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_windows.go b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_windows.go
index ba5d7dee5..749cd5bd2 100644
--- a/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_windows.go
+++ b/pkg/apis/componentconfig/edgecore/v1alpha2/validation/validation_windows.go
@@ -2,26 +2,9 @@
package validation
-import (
- "k8s.io/apimachinery/pkg/util/validation/field"
- "k8s.io/klog/v2"
- "k8s.io/kubernetes/pkg/apis/core/validation"
+import "k8s.io/apimachinery/pkg/util/validation/field"
- "github.com/kubeedge/kubeedge/pkg/apis/componentconfig/edgecore/v1alpha2"
-)
-
-// ValidateModuleEdged validates `e` and returns an errorList if it is invalid
-func ValidateModuleEdged(e v1alpha2.Edged) field.ErrorList {
- if !e.Enable {
- return field.ErrorList{}
- }
- allErrs := field.ErrorList{}
- messages := validation.ValidateNodeName(e.HostnameOverride, false)
- for _, msg := range messages {
- allErrs = append(allErrs, field.Invalid(field.NewPath("HostnameOverride"), e.HostnameOverride, msg))
- }
- if e.NodeIP == "" {
- klog.Warningf("NodeIP is empty , use default ip which can connect to cloud.")
- }
- return allErrs
+// ValidateCgroupDriver validates `e` and returns an errorList if it is invalid
+func ValidateCgroupDriver(cgroupDriver string) *field.Error {
+ return nil
}
diff --git a/pkg/apis/devices/v1beta1/device_instance_types.go b/pkg/apis/devices/v1beta1/device_instance_types.go
index 80f923f25..3c4f706bf 100644
--- a/pkg/apis/devices/v1beta1/device_instance_types.go
+++ b/pkg/apis/devices/v1beta1/device_instance_types.go
@@ -156,6 +156,10 @@ type DBMethodConfig struct {
// method configuration for database
// +optional
Influxdb2 *DBMethodInfluxdb2 `json:"influxdb2,omitempty"`
+ // +optional
+ Redis *DBMethodRedis `json:"redis,omitempty"`
+ // +optional
+ TDEngine *DBMethodTDEngine `json:"TDEngine,omitempty"`
}
type DBMethodInfluxdb2 struct {
@@ -191,6 +195,41 @@ type Influxdb2DataConfig struct {
FieldKey string `json:"fieldKey,omitempty"`
}
+type DBMethodRedis struct {
+ // RedisClientConfig of redis database
+ // +optional
+ RedisClientConfig *RedisClientConfig `json:"redisClientConfig,omitempty"`
+}
+
+type RedisClientConfig struct {
+ // Addr of Redis database
+ // +optional
+ Addr string `json:"addr,omitempty"`
+ // Db of Redis database
+ // +optional
+ DB int `json:"db,omitempty"`
+ // Poolsize of Redis database
+ // +optional
+ Poolsize int `json:"poolsize,omitempty"`
+ // MinIdleConns of Redis database
+ // +optional
+ MinIdleConns int `json:"minIdleConns,omitempty"`
+}
+
+type DBMethodTDEngine struct {
+ // tdengineClientConfig of tdengine database
+ // +optional
+ TDEngineClientConfig *TDEngineClientConfig `json:"TDEngineClientConfig,omitempty"`
+}
+type TDEngineClientConfig struct {
+ // addr of tdEngine database
+ // +optional
+ Addr string `json:"addr,omitempty"`
+ // dbname of tdEngine database
+ // +optional
+ DBName string `json:"dbName,omitempty"`
+}
+
type VisitorConfig struct {
// Required: name of customized protocol
ProtocolName string `json:"protocolName,omitempty"`
diff --git a/pkg/apis/devices/v1beta1/zz_generated.deepcopy.go b/pkg/apis/devices/v1beta1/zz_generated.deepcopy.go
index ed6351149..e6d69278f 100644
--- a/pkg/apis/devices/v1beta1/zz_generated.deepcopy.go
+++ b/pkg/apis/devices/v1beta1/zz_generated.deepcopy.go
@@ -34,6 +34,16 @@ func (in *DBMethodConfig) DeepCopyInto(out *DBMethodConfig) {
*out = new(DBMethodInfluxdb2)
(*in).DeepCopyInto(*out)
}
+ if in.Redis != nil {
+ in, out := &in.Redis, &out.Redis
+ *out = new(DBMethodRedis)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.TDEngine != nil {
+ in, out := &in.TDEngine, &out.TDEngine
+ *out = new(DBMethodTDEngine)
+ (*in).DeepCopyInto(*out)
+ }
return
}
@@ -74,6 +84,48 @@ func (in *DBMethodInfluxdb2) DeepCopy() *DBMethodInfluxdb2 {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *DBMethodRedis) DeepCopyInto(out *DBMethodRedis) {
+ *out = *in
+ if in.RedisClientConfig != nil {
+ in, out := &in.RedisClientConfig, &out.RedisClientConfig
+ *out = new(RedisClientConfig)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBMethodRedis.
+func (in *DBMethodRedis) DeepCopy() *DBMethodRedis {
+ if in == nil {
+ return nil
+ }
+ out := new(DBMethodRedis)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *DBMethodTDEngine) DeepCopyInto(out *DBMethodTDEngine) {
+ *out = *in
+ if in.TDEngineClientConfig != nil {
+ in, out := &in.TDEngineClientConfig, &out.TDEngineClientConfig
+ *out = new(TDEngineClientConfig)
+ **out = **in
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBMethodTDEngine.
+func (in *DBMethodTDEngine) DeepCopy() *DBMethodTDEngine {
+ if in == nil {
+ return nil
+ }
+ out := new(DBMethodTDEngine)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Device) DeepCopyInto(out *Device) {
*out = *in
out.TypeMeta = in.TypeMeta
@@ -429,6 +481,38 @@ func (in *PushMethodMQTT) DeepCopy() *PushMethodMQTT {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *RedisClientConfig) DeepCopyInto(out *RedisClientConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisClientConfig.
+func (in *RedisClientConfig) DeepCopy() *RedisClientConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(RedisClientConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *TDEngineClientConfig) DeepCopyInto(out *TDEngineClientConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TDEngineClientConfig.
+func (in *TDEngineClientConfig) DeepCopy() *TDEngineClientConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(TDEngineClientConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Twin) DeepCopyInto(out *Twin) {
*out = *in
in.Reported.DeepCopyInto(&out.Reported)
diff --git a/pkg/apis/dmi/v1beta1/api.pb.go b/pkg/apis/dmi/v1beta1/api.pb.go
index 19e252dbd..1a89812c6 100644
--- a/pkg/apis/dmi/v1beta1/api.pb.go
+++ b/pkg/apis/dmi/v1beta1/api.pb.go
@@ -1,5 +1,5 @@
/*
-Copyright 2022 The KubeEdge Authors.
+Copyright 2023 The KubeEdge Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -19,8 +19,8 @@ Copyright 2022 The KubeEdge Authors.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.26.0
-// protoc v3.19.4
+// protoc-gen-go v1.31.0
+// protoc v3.20.3
// source: api.proto
package v1beta1
@@ -1089,6 +1089,8 @@ type DBMethod struct {
// the config of database .
Influxdb2 *DBMethodInfluxdb2 `protobuf:"bytes,1,opt,name=influxdb2,proto3" json:"influxdb2,omitempty"`
+ Redis *DBMethodRedis `protobuf:"bytes,2,opt,name=redis,proto3" json:"redis,omitempty"`
+ Tdengine *DBMethodTDEngine `protobuf:"bytes,3,opt,name=tdengine,proto3" json:"tdengine,omitempty"`
}
func (x *DBMethod) Reset() {
@@ -1130,6 +1132,20 @@ func (x *DBMethod) GetInfluxdb2() *DBMethodInfluxdb2 {
return nil
}
+func (x *DBMethod) GetRedis() *DBMethodRedis {
+ if x != nil {
+ return x.Redis
+ }
+ return nil
+}
+
+func (x *DBMethod) GetTdengine() *DBMethodTDEngine {
+ if x != nil {
+ return x.Tdengine
+ }
+ return nil
+}
+
type DBMethodInfluxdb2 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1316,6 +1332,234 @@ func (x *Influxdb2ClientConfig) GetBucket() string {
return ""
}
+type DBMethodRedis struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // data config when push data to redis
+ RedisClientConfig *RedisClientConfig `protobuf:"bytes,1,opt,name=redisClientConfig,proto3" json:"redisClientConfig,omitempty"`
+}
+
+func (x *DBMethodRedis) Reset() {
+ *x = DBMethodRedis{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_api_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBMethodRedis) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBMethodRedis) ProtoMessage() {}
+
+func (x *DBMethodRedis) ProtoReflect() protoreflect.Message {
+ mi := &file_api_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBMethodRedis.ProtoReflect.Descriptor instead.
+func (*DBMethodRedis) Descriptor() ([]byte, []int) {
+ return file_api_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *DBMethodRedis) GetRedisClientConfig() *RedisClientConfig {
+ if x != nil {
+ return x.RedisClientConfig
+ }
+ return nil
+}
+
+type RedisClientConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // redis address
+ Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
+ // number of redis db
+ Db int32 `protobuf:"varint,2,opt,name=db,proto3" json:"db,omitempty"`
+ // number of redis poolsize
+ Poolsize int32 `protobuf:"varint,3,opt,name=poolsize,proto3" json:"poolsize,omitempty"`
+ // number of redis minidleconns
+ MinIdleConns int32 `protobuf:"varint,4,opt,name=minIdleConns,proto3" json:"minIdleConns,omitempty"`
+}
+
+func (x *RedisClientConfig) Reset() {
+ *x = RedisClientConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_api_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RedisClientConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RedisClientConfig) ProtoMessage() {}
+
+func (x *RedisClientConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_api_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RedisClientConfig.ProtoReflect.Descriptor instead.
+func (*RedisClientConfig) Descriptor() ([]byte, []int) {
+ return file_api_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *RedisClientConfig) GetAddr() string {
+ if x != nil {
+ return x.Addr
+ }
+ return ""
+}
+
+func (x *RedisClientConfig) GetDb() int32 {
+ if x != nil {
+ return x.Db
+ }
+ return 0
+}
+
+func (x *RedisClientConfig) GetPoolsize() int32 {
+ if x != nil {
+ return x.Poolsize
+ }
+ return 0
+}
+
+func (x *RedisClientConfig) GetMinIdleConns() int32 {
+ if x != nil {
+ return x.MinIdleConns
+ }
+ return 0
+}
+
+type DBMethodTDEngine struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // data config when push data to tdengine
+ TdEngineClientConfig *TDEngineClientConfig `protobuf:"bytes,1,opt,name=tdEngineClientConfig,proto3" json:"tdEngineClientConfig,omitempty"`
+}
+
+func (x *DBMethodTDEngine) Reset() {
+ *x = DBMethodTDEngine{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_api_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBMethodTDEngine) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBMethodTDEngine) ProtoMessage() {}
+
+func (x *DBMethodTDEngine) ProtoReflect() protoreflect.Message {
+ mi := &file_api_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBMethodTDEngine.ProtoReflect.Descriptor instead.
+func (*DBMethodTDEngine) Descriptor() ([]byte, []int) {
+ return file_api_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *DBMethodTDEngine) GetTdEngineClientConfig() *TDEngineClientConfig {
+ if x != nil {
+ return x.TdEngineClientConfig
+ }
+ return nil
+}
+
+type TDEngineClientConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // tdengine address,like 127.0.0.1:6041
+ Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
+ // tdengine database name
+ Dbname string `protobuf:"bytes,2,opt,name=dbname,proto3" json:"dbname,omitempty"`
+}
+
+func (x *TDEngineClientConfig) Reset() {
+ *x = TDEngineClientConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_api_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TDEngineClientConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TDEngineClientConfig) ProtoMessage() {}
+
+func (x *TDEngineClientConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_api_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TDEngineClientConfig.ProtoReflect.Descriptor instead.
+func (*TDEngineClientConfig) Descriptor() ([]byte, []int) {
+ return file_api_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *TDEngineClientConfig) GetAddr() string {
+ if x != nil {
+ return x.Addr
+ }
+ return ""
+}
+
+func (x *TDEngineClientConfig) GetDbname() string {
+ if x != nil {
+ return x.Dbname
+ }
+ return ""
+}
+
// MapperInfo is the information of mapper.
type MapperInfo struct {
state protoimpl.MessageState
@@ -1339,7 +1583,7 @@ type MapperInfo struct {
func (x *MapperInfo) Reset() {
*x = MapperInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[19]
+ mi := &file_api_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1352,7 +1596,7 @@ func (x *MapperInfo) String() string {
func (*MapperInfo) ProtoMessage() {}
func (x *MapperInfo) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[19]
+ mi := &file_api_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1365,7 +1609,7 @@ func (x *MapperInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use MapperInfo.ProtoReflect.Descriptor instead.
func (*MapperInfo) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{19}
+ return file_api_proto_rawDescGZIP(), []int{23}
}
func (x *MapperInfo) GetName() string {
@@ -1422,7 +1666,7 @@ type ReportDeviceStatusRequest struct {
func (x *ReportDeviceStatusRequest) Reset() {
*x = ReportDeviceStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[20]
+ mi := &file_api_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1435,7 +1679,7 @@ func (x *ReportDeviceStatusRequest) String() string {
func (*ReportDeviceStatusRequest) ProtoMessage() {}
func (x *ReportDeviceStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[20]
+ mi := &file_api_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1448,7 +1692,7 @@ func (x *ReportDeviceStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReportDeviceStatusRequest.ProtoReflect.Descriptor instead.
func (*ReportDeviceStatusRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{20}
+ return file_api_proto_rawDescGZIP(), []int{24}
}
func (x *ReportDeviceStatusRequest) GetDeviceName() string {
@@ -1478,7 +1722,7 @@ type DeviceStatus struct {
func (x *DeviceStatus) Reset() {
*x = DeviceStatus{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[21]
+ mi := &file_api_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1491,7 +1735,7 @@ func (x *DeviceStatus) String() string {
func (*DeviceStatus) ProtoMessage() {}
func (x *DeviceStatus) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[21]
+ mi := &file_api_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1504,7 +1748,7 @@ func (x *DeviceStatus) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeviceStatus.ProtoReflect.Descriptor instead.
func (*DeviceStatus) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{21}
+ return file_api_proto_rawDescGZIP(), []int{25}
}
func (x *DeviceStatus) GetTwins() []*Twin {
@@ -1531,7 +1775,7 @@ type Twin struct {
func (x *Twin) Reset() {
*x = Twin{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[22]
+ mi := &file_api_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1544,7 +1788,7 @@ func (x *Twin) String() string {
func (*Twin) ProtoMessage() {}
func (x *Twin) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[22]
+ mi := &file_api_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1557,7 +1801,7 @@ func (x *Twin) ProtoReflect() protoreflect.Message {
// Deprecated: Use Twin.ProtoReflect.Descriptor instead.
func (*Twin) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{22}
+ return file_api_proto_rawDescGZIP(), []int{26}
}
func (x *Twin) GetPropertyName() string {
@@ -1596,7 +1840,7 @@ type TwinProperty struct {
func (x *TwinProperty) Reset() {
*x = TwinProperty{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[23]
+ mi := &file_api_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1609,7 +1853,7 @@ func (x *TwinProperty) String() string {
func (*TwinProperty) ProtoMessage() {}
func (x *TwinProperty) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[23]
+ mi := &file_api_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1622,7 +1866,7 @@ func (x *TwinProperty) ProtoReflect() protoreflect.Message {
// Deprecated: Use TwinProperty.ProtoReflect.Descriptor instead.
func (*TwinProperty) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{23}
+ return file_api_proto_rawDescGZIP(), []int{27}
}
func (x *TwinProperty) GetValue() string {
@@ -1648,7 +1892,7 @@ type ReportDeviceStatusResponse struct {
func (x *ReportDeviceStatusResponse) Reset() {
*x = ReportDeviceStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[24]
+ mi := &file_api_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1661,7 +1905,7 @@ func (x *ReportDeviceStatusResponse) String() string {
func (*ReportDeviceStatusResponse) ProtoMessage() {}
func (x *ReportDeviceStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[24]
+ mi := &file_api_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1674,7 +1918,7 @@ func (x *ReportDeviceStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReportDeviceStatusResponse.ProtoReflect.Descriptor instead.
func (*ReportDeviceStatusResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{24}
+ return file_api_proto_rawDescGZIP(), []int{28}
}
type RegisterDeviceRequest struct {
@@ -1688,7 +1932,7 @@ type RegisterDeviceRequest struct {
func (x *RegisterDeviceRequest) Reset() {
*x = RegisterDeviceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[25]
+ mi := &file_api_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1701,7 +1945,7 @@ func (x *RegisterDeviceRequest) String() string {
func (*RegisterDeviceRequest) ProtoMessage() {}
func (x *RegisterDeviceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[25]
+ mi := &file_api_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1714,7 +1958,7 @@ func (x *RegisterDeviceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RegisterDeviceRequest.ProtoReflect.Descriptor instead.
func (*RegisterDeviceRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{25}
+ return file_api_proto_rawDescGZIP(), []int{29}
}
func (x *RegisterDeviceRequest) GetDevice() *Device {
@@ -1735,7 +1979,7 @@ type RegisterDeviceResponse struct {
func (x *RegisterDeviceResponse) Reset() {
*x = RegisterDeviceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[26]
+ mi := &file_api_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1748,7 +1992,7 @@ func (x *RegisterDeviceResponse) String() string {
func (*RegisterDeviceResponse) ProtoMessage() {}
func (x *RegisterDeviceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[26]
+ mi := &file_api_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1761,7 +2005,7 @@ func (x *RegisterDeviceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RegisterDeviceResponse.ProtoReflect.Descriptor instead.
func (*RegisterDeviceResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{26}
+ return file_api_proto_rawDescGZIP(), []int{30}
}
func (x *RegisterDeviceResponse) GetDeviceName() string {
@@ -1782,7 +2026,7 @@ type CreateDeviceModelRequest struct {
func (x *CreateDeviceModelRequest) Reset() {
*x = CreateDeviceModelRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[27]
+ mi := &file_api_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1795,7 +2039,7 @@ func (x *CreateDeviceModelRequest) String() string {
func (*CreateDeviceModelRequest) ProtoMessage() {}
func (x *CreateDeviceModelRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[27]
+ mi := &file_api_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1808,7 +2052,7 @@ func (x *CreateDeviceModelRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateDeviceModelRequest.ProtoReflect.Descriptor instead.
func (*CreateDeviceModelRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{27}
+ return file_api_proto_rawDescGZIP(), []int{31}
}
func (x *CreateDeviceModelRequest) GetModel() *DeviceModel {
@@ -1829,7 +2073,7 @@ type CreateDeviceModelResponse struct {
func (x *CreateDeviceModelResponse) Reset() {
*x = CreateDeviceModelResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[28]
+ mi := &file_api_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1842,7 +2086,7 @@ func (x *CreateDeviceModelResponse) String() string {
func (*CreateDeviceModelResponse) ProtoMessage() {}
func (x *CreateDeviceModelResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[28]
+ mi := &file_api_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1855,7 +2099,7 @@ func (x *CreateDeviceModelResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateDeviceModelResponse.ProtoReflect.Descriptor instead.
func (*CreateDeviceModelResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{28}
+ return file_api_proto_rawDescGZIP(), []int{32}
}
func (x *CreateDeviceModelResponse) GetDeviceModelName() string {
@@ -1876,7 +2120,7 @@ type RemoveDeviceRequest struct {
func (x *RemoveDeviceRequest) Reset() {
*x = RemoveDeviceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[29]
+ mi := &file_api_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1889,7 +2133,7 @@ func (x *RemoveDeviceRequest) String() string {
func (*RemoveDeviceRequest) ProtoMessage() {}
func (x *RemoveDeviceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[29]
+ mi := &file_api_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1902,7 +2146,7 @@ func (x *RemoveDeviceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveDeviceRequest.ProtoReflect.Descriptor instead.
func (*RemoveDeviceRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{29}
+ return file_api_proto_rawDescGZIP(), []int{33}
}
func (x *RemoveDeviceRequest) GetDeviceName() string {
@@ -1921,7 +2165,7 @@ type RemoveDeviceResponse struct {
func (x *RemoveDeviceResponse) Reset() {
*x = RemoveDeviceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[30]
+ mi := &file_api_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1934,7 +2178,7 @@ func (x *RemoveDeviceResponse) String() string {
func (*RemoveDeviceResponse) ProtoMessage() {}
func (x *RemoveDeviceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[30]
+ mi := &file_api_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1947,7 +2191,7 @@ func (x *RemoveDeviceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveDeviceResponse.ProtoReflect.Descriptor instead.
func (*RemoveDeviceResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{30}
+ return file_api_proto_rawDescGZIP(), []int{34}
}
type RemoveDeviceModelRequest struct {
@@ -1961,7 +2205,7 @@ type RemoveDeviceModelRequest struct {
func (x *RemoveDeviceModelRequest) Reset() {
*x = RemoveDeviceModelRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[31]
+ mi := &file_api_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1974,7 +2218,7 @@ func (x *RemoveDeviceModelRequest) String() string {
func (*RemoveDeviceModelRequest) ProtoMessage() {}
func (x *RemoveDeviceModelRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[31]
+ mi := &file_api_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1987,7 +2231,7 @@ func (x *RemoveDeviceModelRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveDeviceModelRequest.ProtoReflect.Descriptor instead.
func (*RemoveDeviceModelRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{31}
+ return file_api_proto_rawDescGZIP(), []int{35}
}
func (x *RemoveDeviceModelRequest) GetModelName() string {
@@ -2006,7 +2250,7 @@ type RemoveDeviceModelResponse struct {
func (x *RemoveDeviceModelResponse) Reset() {
*x = RemoveDeviceModelResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[32]
+ mi := &file_api_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2019,7 +2263,7 @@ func (x *RemoveDeviceModelResponse) String() string {
func (*RemoveDeviceModelResponse) ProtoMessage() {}
func (x *RemoveDeviceModelResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[32]
+ mi := &file_api_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2032,7 +2276,7 @@ func (x *RemoveDeviceModelResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveDeviceModelResponse.ProtoReflect.Descriptor instead.
func (*RemoveDeviceModelResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{32}
+ return file_api_proto_rawDescGZIP(), []int{36}
}
type UpdateDeviceRequest struct {
@@ -2046,7 +2290,7 @@ type UpdateDeviceRequest struct {
func (x *UpdateDeviceRequest) Reset() {
*x = UpdateDeviceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[33]
+ mi := &file_api_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2059,7 +2303,7 @@ func (x *UpdateDeviceRequest) String() string {
func (*UpdateDeviceRequest) ProtoMessage() {}
func (x *UpdateDeviceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[33]
+ mi := &file_api_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2072,7 +2316,7 @@ func (x *UpdateDeviceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateDeviceRequest.ProtoReflect.Descriptor instead.
func (*UpdateDeviceRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{33}
+ return file_api_proto_rawDescGZIP(), []int{37}
}
func (x *UpdateDeviceRequest) GetDevice() *Device {
@@ -2091,7 +2335,7 @@ type UpdateDeviceResponse struct {
func (x *UpdateDeviceResponse) Reset() {
*x = UpdateDeviceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[34]
+ mi := &file_api_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2104,7 +2348,7 @@ func (x *UpdateDeviceResponse) String() string {
func (*UpdateDeviceResponse) ProtoMessage() {}
func (x *UpdateDeviceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[34]
+ mi := &file_api_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2117,7 +2361,7 @@ func (x *UpdateDeviceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateDeviceResponse.ProtoReflect.Descriptor instead.
func (*UpdateDeviceResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{34}
+ return file_api_proto_rawDescGZIP(), []int{38}
}
type UpdateDeviceModelRequest struct {
@@ -2131,7 +2375,7 @@ type UpdateDeviceModelRequest struct {
func (x *UpdateDeviceModelRequest) Reset() {
*x = UpdateDeviceModelRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[35]
+ mi := &file_api_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2144,7 +2388,7 @@ func (x *UpdateDeviceModelRequest) String() string {
func (*UpdateDeviceModelRequest) ProtoMessage() {}
func (x *UpdateDeviceModelRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[35]
+ mi := &file_api_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2157,7 +2401,7 @@ func (x *UpdateDeviceModelRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateDeviceModelRequest.ProtoReflect.Descriptor instead.
func (*UpdateDeviceModelRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{35}
+ return file_api_proto_rawDescGZIP(), []int{39}
}
func (x *UpdateDeviceModelRequest) GetModel() *DeviceModel {
@@ -2176,7 +2420,7 @@ type UpdateDeviceModelResponse struct {
func (x *UpdateDeviceModelResponse) Reset() {
*x = UpdateDeviceModelResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[36]
+ mi := &file_api_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2189,7 +2433,7 @@ func (x *UpdateDeviceModelResponse) String() string {
func (*UpdateDeviceModelResponse) ProtoMessage() {}
func (x *UpdateDeviceModelResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[36]
+ mi := &file_api_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2202,7 +2446,7 @@ func (x *UpdateDeviceModelResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateDeviceModelResponse.ProtoReflect.Descriptor instead.
func (*UpdateDeviceModelResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{36}
+ return file_api_proto_rawDescGZIP(), []int{40}
}
type GetDeviceRequest struct {
@@ -2216,7 +2460,7 @@ type GetDeviceRequest struct {
func (x *GetDeviceRequest) Reset() {
*x = GetDeviceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[37]
+ mi := &file_api_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2229,7 +2473,7 @@ func (x *GetDeviceRequest) String() string {
func (*GetDeviceRequest) ProtoMessage() {}
func (x *GetDeviceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[37]
+ mi := &file_api_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2242,7 +2486,7 @@ func (x *GetDeviceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDeviceRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceRequest) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{37}
+ return file_api_proto_rawDescGZIP(), []int{41}
}
func (x *GetDeviceRequest) GetDeviceName() string {
@@ -2263,7 +2507,7 @@ type GetDeviceResponse struct {
func (x *GetDeviceResponse) Reset() {
*x = GetDeviceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_api_proto_msgTypes[38]
+ mi := &file_api_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2276,7 +2520,7 @@ func (x *GetDeviceResponse) String() string {
func (*GetDeviceResponse) ProtoMessage() {}
func (x *GetDeviceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_api_proto_msgTypes[38]
+ mi := &file_api_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2289,7 +2533,7 @@ func (x *GetDeviceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetDeviceResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceResponse) Descriptor() ([]byte, []int) {
- return file_api_proto_rawDescGZIP(), []int{38}
+ return file_api_proto_rawDescGZIP(), []int{42}
}
func (x *GetDeviceResponse) GetDevice() *Device {
@@ -2440,184 +2684,214 @@ var file_api_proto_rawDesc = []byte{
0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x74,
- 0x61, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x44, 0x0a, 0x08, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f,
- 0x64, 0x12, 0x38, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44,
- 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32,
- 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x22, 0xb9, 0x01, 0x0a, 0x11,
+ 0x61, 0x69, 0x6e, 0x65, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68,
+ 0x6f, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62,
- 0x32, 0x12, 0x54, 0x0a, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6c, 0x75,
+ 0x32, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x12, 0x2c, 0x0a, 0x05,
+ 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65,
+ 0x64, 0x69, 0x73, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x64,
+ 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76,
+ 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54,
+ 0x44, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x74, 0x64, 0x65, 0x6e, 0x67, 0x69, 0x6e,
+ 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x11, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x6e,
+ 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x12, 0x54, 0x0a, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x75,
0x78, 0x64, 0x62, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x52, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e,
- 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x75,
- 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62,
+ 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a,
+ 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x62,
+ 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61,
+ 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78,
+ 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc4, 0x01,
+ 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x61, 0x73,
+ 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x52, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74,
- 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6c,
- 0x75, 0x78, 0x64, 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
- 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e,
- 0x74, 0x12, 0x37, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
- 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64,
- 0x62, 0x32, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x67,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69,
- 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69,
- 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x1a, 0x36, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53,
- 0x0a, 0x15, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e,
- 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x49, 0x6e,
- 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a,
- 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
- 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x7a, 0x0a,
- 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
- 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x72, 0x65,
- 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72,
- 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x33, 0x0a, 0x0c, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x05, 0x74, 0x77, 0x69,
- 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
- 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x52, 0x05, 0x74, 0x77, 0x69, 0x6e, 0x73, 0x22, 0x9e,
- 0x01, 0x0a, 0x04, 0x54, 0x77, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65,
- 0x72, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70,
- 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x6f,
- 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
- 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0f, 0x6f, 0x62, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08,
- 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f,
- 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x22,
- 0xa2, 0x01, 0x0a, 0x0c, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
- 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x69, 0x67, 0x2e, 0x54, 0x61, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x74, 0x61, 0x67,
+ 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x1a, 0x36, 0x0a, 0x08,
+ 0x54, 0x61, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x40, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x64,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31,
- 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e,
- 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x46,
- 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f,
- 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x6d, 0x6f,
- 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x62, 0x65,
- 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52,
- 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x45, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a,
- 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x18,
- 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65,
- 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64,
- 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x62,
- 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x18, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f,
- 0x64, 0x65, 0x6c, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x32, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x62, 0x65,
- 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x32, 0xcc, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x4d,
- 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x2e,
- 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65,
- 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
- 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65,
- 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x5f, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
- 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x31, 0x62,
- 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x32, 0xe8, 0x04, 0x0a, 0x13, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x70,
- 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x52, 0x65, 0x67,
- 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x31,
- 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x31,
- 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d,
- 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c,
- 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76,
- 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a,
- 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x2e,
- 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x31,
- 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x12, 0x21, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x15, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x64, 0x62,
+ 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12,
+ 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72,
+ 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x59, 0x0a, 0x0d, 0x44, 0x42, 0x4d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x64, 0x69, 0x73, 0x12, 0x48, 0x0a, 0x11, 0x72, 0x65,
+ 0x64, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x11, 0x72, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x22, 0x77, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64,
+ 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a,
+ 0x02, 0x64, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x64, 0x62, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e,
+ 0x49, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x0c, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x73, 0x22, 0x65, 0x0a,
+ 0x10, 0x44, 0x42, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x44, 0x45, 0x6e, 0x67, 0x69, 0x6e,
+ 0x65, 0x12, 0x51, 0x0a, 0x14, 0x74, 0x64, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x44, 0x45, 0x6e, 0x67, 0x69,
+ 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14,
+ 0x74, 0x64, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x22, 0x42, 0x0a, 0x14, 0x54, 0x44, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04,
+ 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72,
+ 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
+ 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+ 0x3d, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e,
+ 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x33,
+ 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23,
+ 0x0a, 0x05, 0x74, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x52, 0x05, 0x74, 0x77,
+ 0x69, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x04, 0x54, 0x77, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c,
+ 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x3f, 0x0a, 0x0f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69,
+ 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
+ 0x52, 0x0f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65,
+ 0x64, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x77,
+ 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x65, 0x64, 0x22, 0xa2, 0x01, 0x0a, 0x0c, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f,
+ 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e,
+ 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x77, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70,
+ 0x65, 0x72, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x70,
+ 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x27, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x2a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d,
+ 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x45, 0x0a, 0x19, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x52, 0x65,
- 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
- 0x21, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x21, 0x2e,
- 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65,
- 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
- 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a,
- 0x2e, 0x2f, 0x3b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x33,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61,
+ 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a,
+ 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x27, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0f, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x46, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05,
+ 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65,
+ 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x11, 0x47, 0x65, 0x74,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27,
+ 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
+ 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52,
+ 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x32, 0xcc, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x53, 0x0a, 0x0e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
+ 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x31,
+ 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x23, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xe8, 0x04, 0x0a, 0x13, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53,
+ 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x1e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1f, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x21, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64,
+ 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65,
+ 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d,
+ 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x21, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
+ 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f,
+ 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a,
+ 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64,
+ 0x65, 0x6c, 0x12, 0x21, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x47,
+ 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
+ 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65,
+ 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2632,7 +2906,7 @@ func file_api_proto_rawDescGZIP() []byte {
return file_api_proto_rawDescData
}
-var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
+var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
var file_api_proto_goTypes = []interface{}{
(*MapperRegisterRequest)(nil), // 0: v1beta1.MapperRegisterRequest
(*MapperRegisterResponse)(nil), // 1: v1beta1.MapperRegisterResponse
@@ -2653,89 +2927,97 @@ var file_api_proto_goTypes = []interface{}{
(*DBMethodInfluxdb2)(nil), // 16: v1beta1.DBMethodInfluxdb2
(*Influxdb2DataConfig)(nil), // 17: v1beta1.Influxdb2DataConfig
(*Influxdb2ClientConfig)(nil), // 18: v1beta1.Influxdb2ClientConfig
- (*MapperInfo)(nil), // 19: v1beta1.MapperInfo
- (*ReportDeviceStatusRequest)(nil), // 20: v1beta1.ReportDeviceStatusRequest
- (*DeviceStatus)(nil), // 21: v1beta1.DeviceStatus
- (*Twin)(nil), // 22: v1beta1.Twin
- (*TwinProperty)(nil), // 23: v1beta1.TwinProperty
- (*ReportDeviceStatusResponse)(nil), // 24: v1beta1.ReportDeviceStatusResponse
- (*RegisterDeviceRequest)(nil), // 25: v1beta1.RegisterDeviceRequest
- (*RegisterDeviceResponse)(nil), // 26: v1beta1.RegisterDeviceResponse
- (*CreateDeviceModelRequest)(nil), // 27: v1beta1.CreateDeviceModelRequest
- (*CreateDeviceModelResponse)(nil), // 28: v1beta1.CreateDeviceModelResponse
- (*RemoveDeviceRequest)(nil), // 29: v1beta1.RemoveDeviceRequest
- (*RemoveDeviceResponse)(nil), // 30: v1beta1.RemoveDeviceResponse
- (*RemoveDeviceModelRequest)(nil), // 31: v1beta1.RemoveDeviceModelRequest
- (*RemoveDeviceModelResponse)(nil), // 32: v1beta1.RemoveDeviceModelResponse
- (*UpdateDeviceRequest)(nil), // 33: v1beta1.UpdateDeviceRequest
- (*UpdateDeviceResponse)(nil), // 34: v1beta1.UpdateDeviceResponse
- (*UpdateDeviceModelRequest)(nil), // 35: v1beta1.UpdateDeviceModelRequest
- (*UpdateDeviceModelResponse)(nil), // 36: v1beta1.UpdateDeviceModelResponse
- (*GetDeviceRequest)(nil), // 37: v1beta1.GetDeviceRequest
- (*GetDeviceResponse)(nil), // 38: v1beta1.GetDeviceResponse
- nil, // 39: v1beta1.CustomizedValue.DataEntry
- nil, // 40: v1beta1.Influxdb2DataConfig.TagEntry
- nil, // 41: v1beta1.TwinProperty.MetadataEntry
- (*anypb.Any)(nil), // 42: google.protobuf.Any
+ (*DBMethodRedis)(nil), // 19: v1beta1.DBMethodRedis
+ (*RedisClientConfig)(nil), // 20: v1beta1.RedisClientConfig
+ (*DBMethodTDEngine)(nil), // 21: v1beta1.DBMethodTDEngine
+ (*TDEngineClientConfig)(nil), // 22: v1beta1.TDEngineClientConfig
+ (*MapperInfo)(nil), // 23: v1beta1.MapperInfo
+ (*ReportDeviceStatusRequest)(nil), // 24: v1beta1.ReportDeviceStatusRequest
+ (*DeviceStatus)(nil), // 25: v1beta1.DeviceStatus
+ (*Twin)(nil), // 26: v1beta1.Twin
+ (*TwinProperty)(nil), // 27: v1beta1.TwinProperty
+ (*ReportDeviceStatusResponse)(nil), // 28: v1beta1.ReportDeviceStatusResponse
+ (*RegisterDeviceRequest)(nil), // 29: v1beta1.RegisterDeviceRequest
+ (*RegisterDeviceResponse)(nil), // 30: v1beta1.RegisterDeviceResponse
+ (*CreateDeviceModelRequest)(nil), // 31: v1beta1.CreateDeviceModelRequest
+ (*CreateDeviceModelResponse)(nil), // 32: v1beta1.CreateDeviceModelResponse
+ (*RemoveDeviceRequest)(nil), // 33: v1beta1.RemoveDeviceRequest
+ (*RemoveDeviceResponse)(nil), // 34: v1beta1.RemoveDeviceResponse
+ (*RemoveDeviceModelRequest)(nil), // 35: v1beta1.RemoveDeviceModelRequest
+ (*RemoveDeviceModelResponse)(nil), // 36: v1beta1.RemoveDeviceModelResponse
+ (*UpdateDeviceRequest)(nil), // 37: v1beta1.UpdateDeviceRequest
+ (*UpdateDeviceResponse)(nil), // 38: v1beta1.UpdateDeviceResponse
+ (*UpdateDeviceModelRequest)(nil), // 39: v1beta1.UpdateDeviceModelRequest
+ (*UpdateDeviceModelResponse)(nil), // 40: v1beta1.UpdateDeviceModelResponse
+ (*GetDeviceRequest)(nil), // 41: v1beta1.GetDeviceRequest
+ (*GetDeviceResponse)(nil), // 42: v1beta1.GetDeviceResponse
+ nil, // 43: v1beta1.CustomizedValue.DataEntry
+ nil, // 44: v1beta1.Influxdb2DataConfig.TagEntry
+ nil, // 45: v1beta1.TwinProperty.MetadataEntry
+ (*anypb.Any)(nil), // 46: google.protobuf.Any
}
var file_api_proto_depIdxs = []int32{
- 19, // 0: v1beta1.MapperRegisterRequest.mapper:type_name -> v1beta1.MapperInfo
+ 23, // 0: v1beta1.MapperRegisterRequest.mapper:type_name -> v1beta1.MapperInfo
2, // 1: v1beta1.MapperRegisterResponse.modelList:type_name -> v1beta1.DeviceModel
6, // 2: v1beta1.MapperRegisterResponse.deviceList:type_name -> v1beta1.Device
3, // 3: v1beta1.DeviceModel.spec:type_name -> v1beta1.DeviceModelSpec
4, // 4: v1beta1.DeviceModelSpec.properties:type_name -> v1beta1.ModelProperty
5, // 5: v1beta1.DeviceModelSpec.commands:type_name -> v1beta1.DeviceCommand
7, // 6: v1beta1.Device.spec:type_name -> v1beta1.DeviceSpec
- 21, // 7: v1beta1.Device.status:type_name -> v1beta1.DeviceStatus
+ 25, // 7: v1beta1.Device.status:type_name -> v1beta1.DeviceStatus
9, // 8: v1beta1.DeviceSpec.protocol:type_name -> v1beta1.ProtocolConfig
8, // 9: v1beta1.DeviceSpec.properties:type_name -> v1beta1.DeviceProperty
- 23, // 10: v1beta1.DeviceProperty.desired:type_name -> v1beta1.TwinProperty
+ 27, // 10: v1beta1.DeviceProperty.desired:type_name -> v1beta1.TwinProperty
10, // 11: v1beta1.DeviceProperty.visitors:type_name -> v1beta1.VisitorConfig
12, // 12: v1beta1.DeviceProperty.pushMethod:type_name -> v1beta1.PushMethod
11, // 13: v1beta1.ProtocolConfig.configData:type_name -> v1beta1.CustomizedValue
11, // 14: v1beta1.VisitorConfig.configData:type_name -> v1beta1.CustomizedValue
- 39, // 15: v1beta1.CustomizedValue.data:type_name -> v1beta1.CustomizedValue.DataEntry
+ 43, // 15: v1beta1.CustomizedValue.data:type_name -> v1beta1.CustomizedValue.DataEntry
13, // 16: v1beta1.PushMethod.http:type_name -> v1beta1.PushMethodHTTP
14, // 17: v1beta1.PushMethod.mqtt:type_name -> v1beta1.PushMethodMQTT
15, // 18: v1beta1.PushMethod.dbMethod:type_name -> v1beta1.DBMethod
16, // 19: v1beta1.DBMethod.influxdb2:type_name -> v1beta1.DBMethodInfluxdb2
- 18, // 20: v1beta1.DBMethodInfluxdb2.influxdb2ClientConfig:type_name -> v1beta1.Influxdb2ClientConfig
- 17, // 21: v1beta1.DBMethodInfluxdb2.influxdb2DataConfig:type_name -> v1beta1.Influxdb2DataConfig
- 40, // 22: v1beta1.Influxdb2DataConfig.tag:type_name -> v1beta1.Influxdb2DataConfig.TagEntry
- 21, // 23: v1beta1.ReportDeviceStatusRequest.reportedDevice:type_name -> v1beta1.DeviceStatus
- 22, // 24: v1beta1.DeviceStatus.twins:type_name -> v1beta1.Twin
- 23, // 25: v1beta1.Twin.observedDesired:type_name -> v1beta1.TwinProperty
- 23, // 26: v1beta1.Twin.reported:type_name -> v1beta1.TwinProperty
- 41, // 27: v1beta1.TwinProperty.metadata:type_name -> v1beta1.TwinProperty.MetadataEntry
- 6, // 28: v1beta1.RegisterDeviceRequest.device:type_name -> v1beta1.Device
- 2, // 29: v1beta1.CreateDeviceModelRequest.model:type_name -> v1beta1.DeviceModel
- 6, // 30: v1beta1.UpdateDeviceRequest.device:type_name -> v1beta1.Device
- 2, // 31: v1beta1.UpdateDeviceModelRequest.model:type_name -> v1beta1.DeviceModel
- 6, // 32: v1beta1.GetDeviceResponse.device:type_name -> v1beta1.Device
- 42, // 33: v1beta1.CustomizedValue.DataEntry.value:type_name -> google.protobuf.Any
- 0, // 34: v1beta1.DeviceManagerService.MapperRegister:input_type -> v1beta1.MapperRegisterRequest
- 20, // 35: v1beta1.DeviceManagerService.ReportDeviceStatus:input_type -> v1beta1.ReportDeviceStatusRequest
- 25, // 36: v1beta1.DeviceMapperService.RegisterDevice:input_type -> v1beta1.RegisterDeviceRequest
- 29, // 37: v1beta1.DeviceMapperService.RemoveDevice:input_type -> v1beta1.RemoveDeviceRequest
- 33, // 38: v1beta1.DeviceMapperService.UpdateDevice:input_type -> v1beta1.UpdateDeviceRequest
- 27, // 39: v1beta1.DeviceMapperService.CreateDeviceModel:input_type -> v1beta1.CreateDeviceModelRequest
- 31, // 40: v1beta1.DeviceMapperService.RemoveDeviceModel:input_type -> v1beta1.RemoveDeviceModelRequest
- 35, // 41: v1beta1.DeviceMapperService.UpdateDeviceModel:input_type -> v1beta1.UpdateDeviceModelRequest
- 37, // 42: v1beta1.DeviceMapperService.GetDevice:input_type -> v1beta1.GetDeviceRequest
- 1, // 43: v1beta1.DeviceManagerService.MapperRegister:output_type -> v1beta1.MapperRegisterResponse
- 24, // 44: v1beta1.DeviceManagerService.ReportDeviceStatus:output_type -> v1beta1.ReportDeviceStatusResponse
- 26, // 45: v1beta1.DeviceMapperService.RegisterDevice:output_type -> v1beta1.RegisterDeviceResponse
- 30, // 46: v1beta1.DeviceMapperService.RemoveDevice:output_type -> v1beta1.RemoveDeviceResponse
- 34, // 47: v1beta1.DeviceMapperService.UpdateDevice:output_type -> v1beta1.UpdateDeviceResponse
- 28, // 48: v1beta1.DeviceMapperService.CreateDeviceModel:output_type -> v1beta1.CreateDeviceModelResponse
- 32, // 49: v1beta1.DeviceMapperService.RemoveDeviceModel:output_type -> v1beta1.RemoveDeviceModelResponse
- 36, // 50: v1beta1.DeviceMapperService.UpdateDeviceModel:output_type -> v1beta1.UpdateDeviceModelResponse
- 38, // 51: v1beta1.DeviceMapperService.GetDevice:output_type -> v1beta1.GetDeviceResponse
- 43, // [43:52] is the sub-list for method output_type
- 34, // [34:43] is the sub-list for method input_type
- 34, // [34:34] is the sub-list for extension type_name
- 34, // [34:34] is the sub-list for extension extendee
- 0, // [0:34] is the sub-list for field type_name
+ 19, // 20: v1beta1.DBMethod.redis:type_name -> v1beta1.DBMethodRedis
+ 21, // 21: v1beta1.DBMethod.tdengine:type_name -> v1beta1.DBMethodTDEngine
+ 18, // 22: v1beta1.DBMethodInfluxdb2.influxdb2ClientConfig:type_name -> v1beta1.Influxdb2ClientConfig
+ 17, // 23: v1beta1.DBMethodInfluxdb2.influxdb2DataConfig:type_name -> v1beta1.Influxdb2DataConfig
+ 44, // 24: v1beta1.Influxdb2DataConfig.tag:type_name -> v1beta1.Influxdb2DataConfig.TagEntry
+ 20, // 25: v1beta1.DBMethodRedis.redisClientConfig:type_name -> v1beta1.RedisClientConfig
+ 22, // 26: v1beta1.DBMethodTDEngine.tdEngineClientConfig:type_name -> v1beta1.TDEngineClientConfig
+ 25, // 27: v1beta1.ReportDeviceStatusRequest.reportedDevice:type_name -> v1beta1.DeviceStatus
+ 26, // 28: v1beta1.DeviceStatus.twins:type_name -> v1beta1.Twin
+ 27, // 29: v1beta1.Twin.observedDesired:type_name -> v1beta1.TwinProperty
+ 27, // 30: v1beta1.Twin.reported:type_name -> v1beta1.TwinProperty
+ 45, // 31: v1beta1.TwinProperty.metadata:type_name -> v1beta1.TwinProperty.MetadataEntry
+ 6, // 32: v1beta1.RegisterDeviceRequest.device:type_name -> v1beta1.Device
+ 2, // 33: v1beta1.CreateDeviceModelRequest.model:type_name -> v1beta1.DeviceModel
+ 6, // 34: v1beta1.UpdateDeviceRequest.device:type_name -> v1beta1.Device
+ 2, // 35: v1beta1.UpdateDeviceModelRequest.model:type_name -> v1beta1.DeviceModel
+ 6, // 36: v1beta1.GetDeviceResponse.device:type_name -> v1beta1.Device
+ 46, // 37: v1beta1.CustomizedValue.DataEntry.value:type_name -> google.protobuf.Any
+ 0, // 38: v1beta1.DeviceManagerService.MapperRegister:input_type -> v1beta1.MapperRegisterRequest
+ 24, // 39: v1beta1.DeviceManagerService.ReportDeviceStatus:input_type -> v1beta1.ReportDeviceStatusRequest
+ 29, // 40: v1beta1.DeviceMapperService.RegisterDevice:input_type -> v1beta1.RegisterDeviceRequest
+ 33, // 41: v1beta1.DeviceMapperService.RemoveDevice:input_type -> v1beta1.RemoveDeviceRequest
+ 37, // 42: v1beta1.DeviceMapperService.UpdateDevice:input_type -> v1beta1.UpdateDeviceRequest
+ 31, // 43: v1beta1.DeviceMapperService.CreateDeviceModel:input_type -> v1beta1.CreateDeviceModelRequest
+ 35, // 44: v1beta1.DeviceMapperService.RemoveDeviceModel:input_type -> v1beta1.RemoveDeviceModelRequest
+ 39, // 45: v1beta1.DeviceMapperService.UpdateDeviceModel:input_type -> v1beta1.UpdateDeviceModelRequest
+ 41, // 46: v1beta1.DeviceMapperService.GetDevice:input_type -> v1beta1.GetDeviceRequest
+ 1, // 47: v1beta1.DeviceManagerService.MapperRegister:output_type -> v1beta1.MapperRegisterResponse
+ 28, // 48: v1beta1.DeviceManagerService.ReportDeviceStatus:output_type -> v1beta1.ReportDeviceStatusResponse
+ 30, // 49: v1beta1.DeviceMapperService.RegisterDevice:output_type -> v1beta1.RegisterDeviceResponse
+ 34, // 50: v1beta1.DeviceMapperService.RemoveDevice:output_type -> v1beta1.RemoveDeviceResponse
+ 38, // 51: v1beta1.DeviceMapperService.UpdateDevice:output_type -> v1beta1.UpdateDeviceResponse
+ 32, // 52: v1beta1.DeviceMapperService.CreateDeviceModel:output_type -> v1beta1.CreateDeviceModelResponse
+ 36, // 53: v1beta1.DeviceMapperService.RemoveDeviceModel:output_type -> v1beta1.RemoveDeviceModelResponse
+ 40, // 54: v1beta1.DeviceMapperService.UpdateDeviceModel:output_type -> v1beta1.UpdateDeviceModelResponse
+ 42, // 55: v1beta1.DeviceMapperService.GetDevice:output_type -> v1beta1.GetDeviceResponse
+ 47, // [47:56] is the sub-list for method output_type
+ 38, // [38:47] is the sub-list for method input_type
+ 38, // [38:38] is the sub-list for extension type_name
+ 38, // [38:38] is the sub-list for extension extendee
+ 0, // [0:38] is the sub-list for field type_name
}
func init() { file_api_proto_init() }
@@ -2973,7 +3255,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MapperInfo); i {
+ switch v := v.(*DBMethodRedis); i {
case 0:
return &v.state
case 1:
@@ -2985,7 +3267,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReportDeviceStatusRequest); i {
+ switch v := v.(*RedisClientConfig); i {
case 0:
return &v.state
case 1:
@@ -2997,7 +3279,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeviceStatus); i {
+ switch v := v.(*DBMethodTDEngine); i {
case 0:
return &v.state
case 1:
@@ -3009,7 +3291,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Twin); i {
+ switch v := v.(*TDEngineClientConfig); i {
case 0:
return &v.state
case 1:
@@ -3021,7 +3303,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TwinProperty); i {
+ switch v := v.(*MapperInfo); i {
case 0:
return &v.state
case 1:
@@ -3033,7 +3315,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReportDeviceStatusResponse); i {
+ switch v := v.(*ReportDeviceStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -3045,7 +3327,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RegisterDeviceRequest); i {
+ switch v := v.(*DeviceStatus); i {
case 0:
return &v.state
case 1:
@@ -3057,7 +3339,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RegisterDeviceResponse); i {
+ switch v := v.(*Twin); i {
case 0:
return &v.state
case 1:
@@ -3069,7 +3351,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CreateDeviceModelRequest); i {
+ switch v := v.(*TwinProperty); i {
case 0:
return &v.state
case 1:
@@ -3081,7 +3363,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CreateDeviceModelResponse); i {
+ switch v := v.(*ReportDeviceStatusResponse); i {
case 0:
return &v.state
case 1:
@@ -3093,7 +3375,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveDeviceRequest); i {
+ switch v := v.(*RegisterDeviceRequest); i {
case 0:
return &v.state
case 1:
@@ -3105,7 +3387,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveDeviceResponse); i {
+ switch v := v.(*RegisterDeviceResponse); i {
case 0:
return &v.state
case 1:
@@ -3117,7 +3399,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveDeviceModelRequest); i {
+ switch v := v.(*CreateDeviceModelRequest); i {
case 0:
return &v.state
case 1:
@@ -3129,7 +3411,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveDeviceModelResponse); i {
+ switch v := v.(*CreateDeviceModelResponse); i {
case 0:
return &v.state
case 1:
@@ -3141,7 +3423,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateDeviceRequest); i {
+ switch v := v.(*RemoveDeviceRequest); i {
case 0:
return &v.state
case 1:
@@ -3153,7 +3435,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateDeviceResponse); i {
+ switch v := v.(*RemoveDeviceResponse); i {
case 0:
return &v.state
case 1:
@@ -3165,7 +3447,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateDeviceModelRequest); i {
+ switch v := v.(*RemoveDeviceModelRequest); i {
case 0:
return &v.state
case 1:
@@ -3177,7 +3459,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateDeviceModelResponse); i {
+ switch v := v.(*RemoveDeviceModelResponse); i {
case 0:
return &v.state
case 1:
@@ -3189,7 +3471,7 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetDeviceRequest); i {
+ switch v := v.(*UpdateDeviceRequest); i {
case 0:
return &v.state
case 1:
@@ -3201,6 +3483,54 @@ func file_api_proto_init() {
}
}
file_api_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateDeviceResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_api_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateDeviceModelRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_api_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateDeviceModelResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_api_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDeviceRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_api_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetDeviceResponse); i {
case 0:
return &v.state
@@ -3219,7 +3549,7 @@ func file_api_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_proto_rawDesc,
NumEnums: 0,
- NumMessages: 42,
+ NumMessages: 46,
NumExtensions: 0,
NumServices: 2,
},
diff --git a/pkg/apis/dmi/v1beta1/api.proto b/pkg/apis/dmi/v1beta1/api.proto
index a6f948599..ae112e773 100644
--- a/pkg/apis/dmi/v1beta1/api.proto
+++ b/pkg/apis/dmi/v1beta1/api.proto
@@ -245,6 +245,8 @@ message PushMethodMQTT {
message DBMethod{
// the config of database .
DBMethodInfluxdb2 influxdb2 = 1;
+ DBMethodRedis redis = 2;
+ DBMethodTDEngine tdengine = 3;
}
message DBMethodInfluxdb2{
@@ -269,6 +271,34 @@ message Influxdb2ClientConfig{
string bucket = 3;
}
+message DBMethodRedis{
+ // data config when push data to redis
+ RedisClientConfig redisClientConfig = 1;
+}
+
+message RedisClientConfig{
+ // redis address
+ string addr = 1;
+ // number of redis db
+ int32 db = 2;
+ // number of redis poolsize
+ int32 poolsize = 3;
+ // number of redis minidleconns
+ int32 minIdleConns =4;
+}
+
+message DBMethodTDEngine{
+ // data config when push data to tdengine
+ TDEngineClientConfig tdEngineClientConfig = 1;
+}
+
+message TDEngineClientConfig{
+ // tdengine address,like 127.0.0.1:6041
+ string addr = 1;
+ // tdengine database name
+ string dbname = 2;
+}
+
// MapperInfo is the information of mapper.
message MapperInfo {
// name of the mapper.
diff --git a/pkg/apis/dmi/v1beta1/api_grpc.pb.go b/pkg/apis/dmi/v1beta1/api_grpc.pb.go
index 092fdb34f..8d37c66a9 100644
--- a/pkg/apis/dmi/v1beta1/api_grpc.pb.go
+++ b/pkg/apis/dmi/v1beta1/api_grpc.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
-// - protoc v3.19.4
+// - protoc v3.20.3
// source: api.proto
package v1beta1
diff --git a/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_edgeapplication.go b/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_edgeapplication.go
index 213c6a3c4..e06a07a6e 100644
--- a/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_edgeapplication.go
+++ b/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_edgeapplication.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/apps/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,9 +35,9 @@ type FakeEdgeApplications struct {
ns string
}
-var edgeapplicationsResource = schema.GroupVersionResource{Group: "apps.kubeedge.io", Version: "v1alpha1", Resource: "edgeapplications"}
+var edgeapplicationsResource = v1alpha1.SchemeGroupVersion.WithResource("edgeapplications")
-var edgeapplicationsKind = schema.GroupVersionKind{Group: "apps.kubeedge.io", Version: "v1alpha1", Kind: "EdgeApplication"}
+var edgeapplicationsKind = v1alpha1.SchemeGroupVersion.WithKind("EdgeApplication")
// Get takes name of the edgeApplication, and returns the corresponding edgeApplication object, and an error if there is any.
func (c *FakeEdgeApplications) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.EdgeApplication, err error) {
diff --git a/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_nodegroup.go b/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_nodegroup.go
index bfd9de808..73093ec20 100644
--- a/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_nodegroup.go
+++ b/pkg/client/clientset/versioned/typed/apps/v1alpha1/fake/fake_nodegroup.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/apps/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -35,9 +34,9 @@ type FakeNodeGroups struct {
Fake *FakeAppsV1alpha1
}
-var nodegroupsResource = schema.GroupVersionResource{Group: "apps.kubeedge.io", Version: "v1alpha1", Resource: "nodegroups"}
+var nodegroupsResource = v1alpha1.SchemeGroupVersion.WithResource("nodegroups")
-var nodegroupsKind = schema.GroupVersionKind{Group: "apps.kubeedge.io", Version: "v1alpha1", Kind: "NodeGroup"}
+var nodegroupsKind = v1alpha1.SchemeGroupVersion.WithKind("NodeGroup")
// Get takes name of the nodeGroup, and returns the corresponding nodeGroup object, and an error if there is any.
func (c *FakeNodeGroups) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.NodeGroup, err error) {
diff --git a/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_device.go b/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_device.go
index 299a2ec76..27e509d9d 100644
--- a/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_device.go
+++ b/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_device.go
@@ -24,7 +24,6 @@ import (
v1beta1 "github.com/kubeedge/kubeedge/pkg/apis/devices/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,9 +35,9 @@ type FakeDevices struct {
ns string
}
-var devicesResource = schema.GroupVersionResource{Group: "devices", Version: "v1beta1", Resource: "devices"}
+var devicesResource = v1beta1.SchemeGroupVersion.WithResource("devices")
-var devicesKind = schema.GroupVersionKind{Group: "devices", Version: "v1beta1", Kind: "Device"}
+var devicesKind = v1beta1.SchemeGroupVersion.WithKind("Device")
// Get takes name of the device, and returns the corresponding device object, and an error if there is any.
func (c *FakeDevices) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Device, err error) {
diff --git a/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_devicemodel.go b/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_devicemodel.go
index 798f59a7a..9005bbbee 100644
--- a/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_devicemodel.go
+++ b/pkg/client/clientset/versioned/typed/devices/v1beta1/fake/fake_devicemodel.go
@@ -24,7 +24,6 @@ import (
v1beta1 "github.com/kubeedge/kubeedge/pkg/apis/devices/v1beta1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,9 +35,9 @@ type FakeDeviceModels struct {
ns string
}
-var devicemodelsResource = schema.GroupVersionResource{Group: "devices", Version: "v1beta1", Resource: "devicemodels"}
+var devicemodelsResource = v1beta1.SchemeGroupVersion.WithResource("devicemodels")
-var devicemodelsKind = schema.GroupVersionKind{Group: "devices", Version: "v1beta1", Kind: "DeviceModel"}
+var devicemodelsKind = v1beta1.SchemeGroupVersion.WithKind("DeviceModel")
// Get takes name of the deviceModel, and returns the corresponding deviceModel object, and an error if there is any.
func (c *FakeDeviceModels) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.DeviceModel, err error) {
diff --git a/pkg/client/clientset/versioned/typed/operations/v1alpha1/fake/fake_nodeupgradejob.go b/pkg/client/clientset/versioned/typed/operations/v1alpha1/fake/fake_nodeupgradejob.go
index e0a46a9da..705067bb3 100644
--- a/pkg/client/clientset/versioned/typed/operations/v1alpha1/fake/fake_nodeupgradejob.go
+++ b/pkg/client/clientset/versioned/typed/operations/v1alpha1/fake/fake_nodeupgradejob.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/operations/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -35,9 +34,9 @@ type FakeNodeUpgradeJobs struct {
Fake *FakeOperationsV1alpha1
}
-var nodeupgradejobsResource = schema.GroupVersionResource{Group: "operations", Version: "v1alpha1", Resource: "nodeupgradejobs"}
+var nodeupgradejobsResource = v1alpha1.SchemeGroupVersion.WithResource("nodeupgradejobs")
-var nodeupgradejobsKind = schema.GroupVersionKind{Group: "operations", Version: "v1alpha1", Kind: "NodeUpgradeJob"}
+var nodeupgradejobsKind = v1alpha1.SchemeGroupVersion.WithKind("NodeUpgradeJob")
// Get takes name of the nodeUpgradeJob, and returns the corresponding nodeUpgradeJob object, and an error if there is any.
func (c *FakeNodeUpgradeJobs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.NodeUpgradeJob, err error) {
diff --git a/pkg/client/clientset/versioned/typed/policy/v1alpha1/fake/fake_serviceaccountaccess.go b/pkg/client/clientset/versioned/typed/policy/v1alpha1/fake/fake_serviceaccountaccess.go
index 318c14bb4..c1ef1c9cd 100644
--- a/pkg/client/clientset/versioned/typed/policy/v1alpha1/fake/fake_serviceaccountaccess.go
+++ b/pkg/client/clientset/versioned/typed/policy/v1alpha1/fake/fake_serviceaccountaccess.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/policy/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,9 +35,9 @@ type FakeServiceAccountAccesses struct {
ns string
}
-var serviceaccountaccessesResource = schema.GroupVersionResource{Group: "policy.kubeedge.io", Version: "v1alpha1", Resource: "serviceaccountaccesses"}
+var serviceaccountaccessesResource = v1alpha1.SchemeGroupVersion.WithResource("serviceaccountaccesses")
-var serviceaccountaccessesKind = schema.GroupVersionKind{Group: "policy.kubeedge.io", Version: "v1alpha1", Kind: "ServiceAccountAccess"}
+var serviceaccountaccessesKind = v1alpha1.SchemeGroupVersion.WithKind("ServiceAccountAccess")
// Get takes name of the serviceAccountAccess, and returns the corresponding serviceAccountAccess object, and an error if there is any.
func (c *FakeServiceAccountAccesses) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.ServiceAccountAccess, err error) {
diff --git a/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_clusterobjectsync.go b/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_clusterobjectsync.go
index c185b3937..275c47e10 100644
--- a/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_clusterobjectsync.go
+++ b/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_clusterobjectsync.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/reliablesyncs/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -35,9 +34,9 @@ type FakeClusterObjectSyncs struct {
Fake *FakeReliablesyncsV1alpha1
}
-var clusterobjectsyncsResource = schema.GroupVersionResource{Group: "reliablesyncs.kubeedge.io", Version: "v1alpha1", Resource: "clusterobjectsyncs"}
+var clusterobjectsyncsResource = v1alpha1.SchemeGroupVersion.WithResource("clusterobjectsyncs")
-var clusterobjectsyncsKind = schema.GroupVersionKind{Group: "reliablesyncs.kubeedge.io", Version: "v1alpha1", Kind: "ClusterObjectSync"}
+var clusterobjectsyncsKind = v1alpha1.SchemeGroupVersion.WithKind("ClusterObjectSync")
// Get takes name of the clusterObjectSync, and returns the corresponding clusterObjectSync object, and an error if there is any.
func (c *FakeClusterObjectSyncs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.ClusterObjectSync, err error) {
diff --git a/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_objectsync.go b/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_objectsync.go
index da9960d1b..2411738cb 100644
--- a/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_objectsync.go
+++ b/pkg/client/clientset/versioned/typed/reliablesyncs/v1alpha1/fake/fake_objectsync.go
@@ -24,7 +24,6 @@ import (
v1alpha1 "github.com/kubeedge/kubeedge/pkg/apis/reliablesyncs/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,9 +35,9 @@ type FakeObjectSyncs struct {
ns string
}
-var objectsyncsResource = schema.GroupVersionResource{Group: "reliablesyncs.kubeedge.io", Version: "v1alpha1", Resource: "objectsyncs"}
+var objectsyncsResource = v1alpha1.SchemeGroupVersion.WithResource("objectsyncs")
-var objectsyncsKind = schema.GroupVersionKind{Group: "reliablesyncs.kubeedge.io", Version: "v1alpha1", Kind: "ObjectSync"}
+var objectsyncsKind = v1alpha1.SchemeGroupVersion.WithKind("ObjectSync")
// Get takes name of the objectSync, and returns the corresponding objectSync object, and an error if there is any.
func (c *FakeObjectSyncs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.ObjectSync, err error) {
diff --git a/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_rule.go b/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_rule.go
index 1c77c62e3..550c97bf0 100644
--- a/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_rule.go
+++ b/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_rule.go
@@ -21,10 +21,9 @@ package fake
import (
"context"
- rulesv1 "github.com/kubeedge/kubeedge/pkg/apis/rules/v1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ v1 "github.com/kubeedge/kubeedge/pkg/apis/rules/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,25 +35,25 @@ type FakeRules struct {
ns string
}
-var rulesResource = schema.GroupVersionResource{Group: "rules.kubeedge.io", Version: "v1", Resource: "rules"}
+var rulesResource = v1.SchemeGroupVersion.WithResource("rules")
-var rulesKind = schema.GroupVersionKind{Group: "rules.kubeedge.io", Version: "v1", Kind: "Rule"}
+var rulesKind = v1.SchemeGroupVersion.WithKind("Rule")
// Get takes name of the rule, and returns the corresponding rule object, and an error if there is any.
-func (c *FakeRules) Get(ctx context.Context, name string, options v1.GetOptions) (result *rulesv1.Rule, err error) {
+func (c *FakeRules) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Rule, err error) {
obj, err := c.Fake.
- Invokes(testing.NewGetAction(rulesResource, c.ns, name), &rulesv1.Rule{})
+ Invokes(testing.NewGetAction(rulesResource, c.ns, name), &v1.Rule{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.Rule), err
+ return obj.(*v1.Rule), err
}
// List takes label and field selectors, and returns the list of Rules that match those selectors.
-func (c *FakeRules) List(ctx context.Context, opts v1.ListOptions) (result *rulesv1.RuleList, err error) {
+func (c *FakeRules) List(ctx context.Context, opts metav1.ListOptions) (result *v1.RuleList, err error) {
obj, err := c.Fake.
- Invokes(testing.NewListAction(rulesResource, rulesKind, c.ns, opts), &rulesv1.RuleList{})
+ Invokes(testing.NewListAction(rulesResource, rulesKind, c.ns, opts), &v1.RuleList{})
if obj == nil {
return nil, err
@@ -64,8 +63,8 @@ func (c *FakeRules) List(ctx context.Context, opts v1.ListOptions) (result *rule
if label == nil {
label = labels.Everything()
}
- list := &rulesv1.RuleList{ListMeta: obj.(*rulesv1.RuleList).ListMeta}
- for _, item := range obj.(*rulesv1.RuleList).Items {
+ list := &v1.RuleList{ListMeta: obj.(*v1.RuleList).ListMeta}
+ for _, item := range obj.(*v1.RuleList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
@@ -74,69 +73,69 @@ func (c *FakeRules) List(ctx context.Context, opts v1.ListOptions) (result *rule
}
// Watch returns a watch.Interface that watches the requested rules.
-func (c *FakeRules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
+func (c *FakeRules) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(rulesResource, c.ns, opts))
}
// Create takes the representation of a rule and creates it. Returns the server's representation of the rule, and an error, if there is any.
-func (c *FakeRules) Create(ctx context.Context, rule *rulesv1.Rule, opts v1.CreateOptions) (result *rulesv1.Rule, err error) {
+func (c *FakeRules) Create(ctx context.Context, rule *v1.Rule, opts metav1.CreateOptions) (result *v1.Rule, err error) {
obj, err := c.Fake.
- Invokes(testing.NewCreateAction(rulesResource, c.ns, rule), &rulesv1.Rule{})
+ Invokes(testing.NewCreateAction(rulesResource, c.ns, rule), &v1.Rule{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.Rule), err
+ return obj.(*v1.Rule), err
}
// Update takes the representation of a rule and updates it. Returns the server's representation of the rule, and an error, if there is any.
-func (c *FakeRules) Update(ctx context.Context, rule *rulesv1.Rule, opts v1.UpdateOptions) (result *rulesv1.Rule, err error) {
+func (c *FakeRules) Update(ctx context.Context, rule *v1.Rule, opts metav1.UpdateOptions) (result *v1.Rule, err error) {
obj, err := c.Fake.
- Invokes(testing.NewUpdateAction(rulesResource, c.ns, rule), &rulesv1.Rule{})
+ Invokes(testing.NewUpdateAction(rulesResource, c.ns, rule), &v1.Rule{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.Rule), err
+ return obj.(*v1.Rule), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakeRules) UpdateStatus(ctx context.Context, rule *rulesv1.Rule, opts v1.UpdateOptions) (*rulesv1.Rule, error) {
+func (c *FakeRules) UpdateStatus(ctx context.Context, rule *v1.Rule, opts metav1.UpdateOptions) (*v1.Rule, error) {
obj, err := c.Fake.
- Invokes(testing.NewUpdateSubresourceAction(rulesResource, "status", c.ns, rule), &rulesv1.Rule{})
+ Invokes(testing.NewUpdateSubresourceAction(rulesResource, "status", c.ns, rule), &v1.Rule{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.Rule), err
+ return obj.(*v1.Rule), err
}
// Delete takes name of the rule and deletes it. Returns an error if one occurs.
-func (c *FakeRules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
+func (c *FakeRules) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error {
_, err := c.Fake.
- Invokes(testing.NewDeleteActionWithOptions(rulesResource, c.ns, name, opts), &rulesv1.Rule{})
+ Invokes(testing.NewDeleteActionWithOptions(rulesResource, c.ns, name, opts), &v1.Rule{})
return err
}
// DeleteCollection deletes a collection of objects.
-func (c *FakeRules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
+func (c *FakeRules) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error {
action := testing.NewDeleteCollectionAction(rulesResource, c.ns, listOpts)
- _, err := c.Fake.Invokes(action, &rulesv1.RuleList{})
+ _, err := c.Fake.Invokes(action, &v1.RuleList{})
return err
}
// Patch applies the patch and returns the patched rule.
-func (c *FakeRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *rulesv1.Rule, err error) {
+func (c *FakeRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Rule, err error) {
obj, err := c.Fake.
- Invokes(testing.NewPatchSubresourceAction(rulesResource, c.ns, name, pt, data, subresources...), &rulesv1.Rule{})
+ Invokes(testing.NewPatchSubresourceAction(rulesResource, c.ns, name, pt, data, subresources...), &v1.Rule{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.Rule), err
+ return obj.(*v1.Rule), err
}
diff --git a/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_ruleendpoint.go b/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_ruleendpoint.go
index b8c323423..d7b46b4ec 100644
--- a/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_ruleendpoint.go
+++ b/pkg/client/clientset/versioned/typed/rules/v1/fake/fake_ruleendpoint.go
@@ -21,10 +21,9 @@ package fake
import (
"context"
- rulesv1 "github.com/kubeedge/kubeedge/pkg/apis/rules/v1"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ v1 "github.com/kubeedge/kubeedge/pkg/apis/rules/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
- schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
@@ -36,25 +35,25 @@ type FakeRuleEndpoints struct {
ns string
}
-var ruleendpointsResource = schema.GroupVersionResource{Group: "rules.kubeedge.io", Version: "v1", Resource: "ruleendpoints"}
+var ruleendpointsResource = v1.SchemeGroupVersion.WithResource("ruleendpoints")
-var ruleendpointsKind = schema.GroupVersionKind{Group: "rules.kubeedge.io", Version: "v1", Kind: "RuleEndpoint"}
+var ruleendpointsKind = v1.SchemeGroupVersion.WithKind("RuleEndpoint")
// Get takes name of the ruleEndpoint, and returns the corresponding ruleEndpoint object, and an error if there is any.
-func (c *FakeRuleEndpoints) Get(ctx context.Context, name string, options v1.GetOptions) (result *rulesv1.RuleEndpoint, err error) {
+func (c *FakeRuleEndpoints) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.RuleEndpoint, err error) {
obj, err := c.Fake.
- Invokes(testing.NewGetAction(ruleendpointsResource, c.ns, name), &rulesv1.RuleEndpoint{})
+ Invokes(testing.NewGetAction(ruleendpointsResource, c.ns, name), &v1.RuleEndpoint{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.RuleEndpoint), err
+ return obj.(*v1.RuleEndpoint), err
}
// List takes label and field selectors, and returns the list of RuleEndpoints that match those selectors.
-func (c *FakeRuleEndpoints) List(ctx context.Context, opts v1.ListOptions) (result *rulesv1.RuleEndpointList, err error) {
+func (c *FakeRuleEndpoints) List(ctx context.Context, opts metav1.ListOptions) (result *v1.RuleEndpointList, err error) {
obj, err := c.Fake.
- Invokes(testing.NewListAction(ruleendpointsResource, ruleendpointsKind, c.ns, opts), &rulesv1.RuleEndpointList{})
+ Invokes(testing.NewListAction(ruleendpointsResource, ruleendpointsKind, c.ns, opts), &v1.RuleEndpointList{})
if obj == nil {
return nil, err
@@ -64,8 +63,8 @@ func (c *FakeRuleEndpoints) List(ctx context.Context, opts v1.ListOptions) (resu
if label == nil {
label = labels.Everything()
}
- list := &rulesv1.RuleEndpointList{ListMeta: obj.(*rulesv1.RuleEndpointList).ListMeta}
- for _, item := range obj.(*rulesv1.RuleEndpointList).Items {
+ list := &v1.RuleEndpointList{ListMeta: obj.(*v1.RuleEndpointList).ListMeta}
+ for _, item := range obj.(*v1.RuleEndpointList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
@@ -74,57 +73,57 @@ func (c *FakeRuleEndpoints) List(ctx context.Context, opts v1.ListOptions) (resu
}
// Watch returns a watch.Interface that watches the requested ruleEndpoints.
-func (c *FakeRuleEndpoints) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
+func (c *FakeRuleEndpoints) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(ruleendpointsResource, c.ns, opts))
}
// Create takes the representation of a ruleEndpoint and creates it. Returns the server's representation of the ruleEndpoint, and an error, if there is any.
-func (c *FakeRuleEndpoints) Create(ctx context.Context, ruleEndpoint *rulesv1.RuleEndpoint, opts v1.CreateOptions) (result *rulesv1.RuleEndpoint, err error) {
+func (c *FakeRuleEndpoints) Create(ctx context.Context, ruleEndpoint *v1.RuleEndpoint, opts metav1.CreateOptions) (result *v1.RuleEndpoint, err error) {
obj, err := c.Fake.
- Invokes(testing.NewCreateAction(ruleendpointsResource, c.ns, ruleEndpoint), &rulesv1.RuleEndpoint{})
+ Invokes(testing.NewCreateAction(ruleendpointsResource, c.ns, ruleEndpoint), &v1.RuleEndpoint{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.RuleEndpoint), err
+ return obj.(*v1.RuleEndpoint), err
}
// Update takes the representation of a ruleEndpoint and updates it. Returns the server's representation of the ruleEndpoint, and an error, if there is any.
-func (c *FakeRuleEndpoints) Update(ctx context.Context, ruleEndpoint *rulesv1.RuleEndpoint, opts v1.UpdateOptions) (result *rulesv1.RuleEndpoint, err error) {
+func (c *FakeRuleEndpoints) Update(ctx context.Context, ruleEndpoint *v1.RuleEndpoint, opts metav1.UpdateOptions) (result *v1.RuleEndpoint, err error) {
obj, err := c.Fake.
- Invokes(testing.NewUpdateAction(ruleendpointsResource, c.ns, ruleEndpoint), &rulesv1.RuleEndpoint{})
+ Invokes(testing.NewUpdateAction(ruleendpointsResource, c.ns, ruleEndpoint), &v1.RuleEndpoint{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.RuleEndpoint), err
+ return obj.(*v1.RuleEndpoint), err
}
// Delete takes name of the ruleEndpoint and deletes it. Returns an error if one occurs.
-func (c *FakeRuleEndpoints) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
+func (c *FakeRuleEndpoints) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error {
_, err := c.Fake.
- Invokes(testing.NewDeleteActionWithOptions(ruleendpointsResource, c.ns, name, opts), &rulesv1.RuleEndpoint{})
+ Invokes(testing.NewDeleteActionWithOptions(ruleendpointsResource, c.ns, name, opts), &v1.RuleEndpoint{})
return err
}
// DeleteCollection deletes a collection of objects.
-func (c *FakeRuleEndpoints) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
+func (c *FakeRuleEndpoints) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error {
action := testing.NewDeleteCollectionAction(ruleendpointsResource, c.ns, listOpts)
- _, err := c.Fake.Invokes(action, &rulesv1.RuleEndpointList{})
+ _, err := c.Fake.Invokes(action, &v1.RuleEndpointList{})
return err
}
// Patch applies the patch and returns the patched ruleEndpoint.
-func (c *FakeRuleEndpoints) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *rulesv1.RuleEndpoint, err error) {
+func (c *FakeRuleEndpoints) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.RuleEndpoint, err error) {
obj, err := c.Fake.
- Invokes(testing.NewPatchSubresourceAction(ruleendpointsResource, c.ns, name, pt, data, subresources...), &rulesv1.RuleEndpoint{})
+ Invokes(testing.NewPatchSubresourceAction(ruleendpointsResource, c.ns, name, pt, data, subresources...), &v1.RuleEndpoint{})
if obj == nil {
return nil, err
}
- return obj.(*rulesv1.RuleEndpoint), err
+ return obj.(*v1.RuleEndpoint), err
}
diff --git a/pkg/metaserver/application.go b/pkg/metaserver/application.go
index ccd64361f..39debd754 100644
--- a/pkg/metaserver/application.go
+++ b/pkg/metaserver/application.go
@@ -125,7 +125,7 @@ func (a *Application) RespContent() interface{} {
func (a *Application) OptionTo(i interface{}) error {
err := json.Unmarshal(a.Option, i)
if err != nil {
- return fmt.Errorf("failed to prase Option bytes, %v", err)
+ return fmt.Errorf("failed to parse Option bytes, %v", err)
}
return nil
}