protos/configuration/configuration.pb.go (2,386 lines of code) (raw):

// //Copyright 2022 Google LLC // //Licensed under the Apache License, Version 2.0 (the "License"); //you may not use this file except in compliance with the License. //You may obtain a copy of the License at // //https://www.apache.org/licenses/LICENSE-2.0 // //Unless required by applicable law or agreed to in writing, software //distributed under the License is distributed on an "AS IS" BASIS, //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //See the License for the specific language governing permissions and //limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v4.23.4 // source: protos/configuration/configuration.proto package configuration import ( instanceinfo "github.com/GoogleCloudPlatform/sapagent/protos/instanceinfo" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RunOn int32 const ( RunOn_RUN_ON_UNSPECIFIED RunOn = 0 RunOn_PRIMARY RunOn = 1 RunOn_SECONDARY RunOn = 2 RunOn_ALL RunOn = 3 ) // Enum value maps for RunOn. var ( RunOn_name = map[int32]string{ 0: "RUN_ON_UNSPECIFIED", 1: "PRIMARY", 2: "SECONDARY", 3: "ALL", } RunOn_value = map[string]int32{ "RUN_ON_UNSPECIFIED": 0, "PRIMARY": 1, "SECONDARY": 2, "ALL": 3, } ) func (x RunOn) Enum() *RunOn { p := new(RunOn) *p = x return p } func (x RunOn) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RunOn) Descriptor() protoreflect.EnumDescriptor { return file_protos_configuration_configuration_proto_enumTypes[0].Descriptor() } func (RunOn) Type() protoreflect.EnumType { return &file_protos_configuration_configuration_proto_enumTypes[0] } func (x RunOn) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RunOn.Descriptor instead. func (RunOn) EnumDescriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{0} } type MetricType int32 const ( MetricType_METRIC_UNSPECIFIED MetricType = 0 MetricType_METRIC_LABEL MetricType = 1 MetricType_METRIC_GAUGE MetricType = 2 MetricType_METRIC_CUMULATIVE MetricType = 3 ) // Enum value maps for MetricType. var ( MetricType_name = map[int32]string{ 0: "METRIC_UNSPECIFIED", 1: "METRIC_LABEL", 2: "METRIC_GAUGE", 3: "METRIC_CUMULATIVE", } MetricType_value = map[string]int32{ "METRIC_UNSPECIFIED": 0, "METRIC_LABEL": 1, "METRIC_GAUGE": 2, "METRIC_CUMULATIVE": 3, } ) func (x MetricType) Enum() *MetricType { p := new(MetricType) *p = x return p } func (x MetricType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MetricType) Descriptor() protoreflect.EnumDescriptor { return file_protos_configuration_configuration_proto_enumTypes[1].Descriptor() } func (MetricType) Type() protoreflect.EnumType { return &file_protos_configuration_configuration_proto_enumTypes[1] } func (x MetricType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MetricType.Descriptor instead. func (MetricType) EnumDescriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{1} } type ValueType int32 const ( ValueType_VALUE_UNSPECIFIED ValueType = 0 ValueType_VALUE_BOOL ValueType = 1 ValueType_VALUE_INT64 ValueType = 2 ValueType_VALUE_STRING ValueType = 3 ValueType_VALUE_DOUBLE ValueType = 4 ) // Enum value maps for ValueType. var ( ValueType_name = map[int32]string{ 0: "VALUE_UNSPECIFIED", 1: "VALUE_BOOL", 2: "VALUE_INT64", 3: "VALUE_STRING", 4: "VALUE_DOUBLE", } ValueType_value = map[string]int32{ "VALUE_UNSPECIFIED": 0, "VALUE_BOOL": 1, "VALUE_INT64": 2, "VALUE_STRING": 3, "VALUE_DOUBLE": 4, } ) func (x ValueType) Enum() *ValueType { p := new(ValueType) *p = x return p } func (x ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ValueType) Descriptor() protoreflect.EnumDescriptor { return file_protos_configuration_configuration_proto_enumTypes[2].Descriptor() } func (ValueType) Type() protoreflect.EnumType { return &file_protos_configuration_configuration_proto_enumTypes[2] } func (x ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ValueType.Descriptor instead. func (ValueType) EnumDescriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{2} } type TargetEnvironment int32 const ( TargetEnvironment_TARGET_ENVIRONMENT_UNSPECIFIED TargetEnvironment = 0 TargetEnvironment_PRODUCTION TargetEnvironment = 1 TargetEnvironment_STAGING TargetEnvironment = 2 TargetEnvironment_DEVELOPMENT TargetEnvironment = 3 TargetEnvironment_INTEGRATION TargetEnvironment = 4 TargetEnvironment_AUTOPUSH TargetEnvironment = 5 ) // Enum value maps for TargetEnvironment. var ( TargetEnvironment_name = map[int32]string{ 0: "TARGET_ENVIRONMENT_UNSPECIFIED", 1: "PRODUCTION", 2: "STAGING", 3: "DEVELOPMENT", 4: "INTEGRATION", 5: "AUTOPUSH", } TargetEnvironment_value = map[string]int32{ "TARGET_ENVIRONMENT_UNSPECIFIED": 0, "PRODUCTION": 1, "STAGING": 2, "DEVELOPMENT": 3, "INTEGRATION": 4, "AUTOPUSH": 5, } ) func (x TargetEnvironment) Enum() *TargetEnvironment { p := new(TargetEnvironment) *p = x return p } func (x TargetEnvironment) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TargetEnvironment) Descriptor() protoreflect.EnumDescriptor { return file_protos_configuration_configuration_proto_enumTypes[3].Descriptor() } func (TargetEnvironment) Type() protoreflect.EnumType { return &file_protos_configuration_configuration_proto_enumTypes[3] } func (x TargetEnvironment) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TargetEnvironment.Descriptor instead. func (TargetEnvironment) EnumDescriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{3} } type Configuration_LogLevel int32 const ( Configuration_UNDEFINED Configuration_LogLevel = 0 Configuration_DEBUG Configuration_LogLevel = 1 Configuration_INFO Configuration_LogLevel = 2 Configuration_WARNING Configuration_LogLevel = 3 Configuration_ERROR Configuration_LogLevel = 4 ) // Enum value maps for Configuration_LogLevel. var ( Configuration_LogLevel_name = map[int32]string{ 0: "UNDEFINED", 1: "DEBUG", 2: "INFO", 3: "WARNING", 4: "ERROR", } Configuration_LogLevel_value = map[string]int32{ "UNDEFINED": 0, "DEBUG": 1, "INFO": 2, "WARNING": 3, "ERROR": 4, } ) func (x Configuration_LogLevel) Enum() *Configuration_LogLevel { p := new(Configuration_LogLevel) *p = x return p } func (x Configuration_LogLevel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Configuration_LogLevel) Descriptor() protoreflect.EnumDescriptor { return file_protos_configuration_configuration_proto_enumTypes[4].Descriptor() } func (Configuration_LogLevel) Type() protoreflect.EnumType { return &file_protos_configuration_configuration_proto_enumTypes[4] } func (x Configuration_LogLevel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Configuration_LogLevel.Descriptor instead. func (Configuration_LogLevel) EnumDescriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{0, 0} } type Configuration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProvideSapHostAgentMetrics *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=provide_sap_host_agent_metrics,json=provideSapHostAgentMetrics,proto3" json:"provide_sap_host_agent_metrics,omitempty"` BareMetal bool `protobuf:"varint,2,opt,name=bare_metal,json=bareMetal,proto3" json:"bare_metal,omitempty"` ServiceEndpointOverride string `protobuf:"bytes,3,opt,name=service_endpoint_override,json=serviceEndpointOverride,proto3" json:"service_endpoint_override,omitempty"` LogLevel Configuration_LogLevel `protobuf:"varint,4,opt,name=log_level,json=logLevel,proto3,enum=sapagent.protos.configuration.Configuration_LogLevel" json:"log_level,omitempty"` CollectionConfiguration *CollectionConfiguration `protobuf:"bytes,5,opt,name=collection_configuration,json=collectionConfiguration,proto3" json:"collection_configuration,omitempty"` CloudProperties *instanceinfo.CloudProperties `protobuf:"bytes,6,opt,name=cloud_properties,json=cloudProperties,proto3" json:"cloud_properties,omitempty"` AgentProperties *AgentProperties `protobuf:"bytes,7,opt,name=agent_properties,json=agentProperties,proto3" json:"agent_properties,omitempty"` HanaMonitoringConfiguration *HANAMonitoringConfiguration `protobuf:"bytes,8,opt,name=hana_monitoring_configuration,json=hanaMonitoringConfiguration,proto3" json:"hana_monitoring_configuration,omitempty"` LogToCloud *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=log_to_cloud,json=logToCloud,proto3" json:"log_to_cloud,omitempty"` DiscoveryConfiguration *DiscoveryConfiguration `protobuf:"bytes,10,opt,name=discovery_configuration,json=discoveryConfiguration,proto3" json:"discovery_configuration,omitempty"` SupportConfiguration *SupportConfiguration `protobuf:"bytes,11,opt,name=support_configuration,json=supportConfiguration,proto3" json:"support_configuration,omitempty"` UapConfiguration *UAPConfiguration `protobuf:"bytes,12,opt,name=uap_configuration,json=uapConfiguration,proto3" json:"uap_configuration,omitempty"` GcbdrConfiguration *GCBDRConfiguration `protobuf:"bytes,13,opt,name=gcbdr_configuration,json=gcbdrConfiguration,proto3" json:"gcbdr_configuration,omitempty"` } func (x *Configuration) Reset() { *x = Configuration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Configuration) String() string { return protoimpl.X.MessageStringOf(x) } func (*Configuration) ProtoMessage() {} func (x *Configuration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[0] 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 Configuration.ProtoReflect.Descriptor instead. func (*Configuration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{0} } func (x *Configuration) GetProvideSapHostAgentMetrics() *wrapperspb.BoolValue { if x != nil { return x.ProvideSapHostAgentMetrics } return nil } func (x *Configuration) GetBareMetal() bool { if x != nil { return x.BareMetal } return false } func (x *Configuration) GetServiceEndpointOverride() string { if x != nil { return x.ServiceEndpointOverride } return "" } func (x *Configuration) GetLogLevel() Configuration_LogLevel { if x != nil { return x.LogLevel } return Configuration_UNDEFINED } func (x *Configuration) GetCollectionConfiguration() *CollectionConfiguration { if x != nil { return x.CollectionConfiguration } return nil } func (x *Configuration) GetCloudProperties() *instanceinfo.CloudProperties { if x != nil { return x.CloudProperties } return nil } func (x *Configuration) GetAgentProperties() *AgentProperties { if x != nil { return x.AgentProperties } return nil } func (x *Configuration) GetHanaMonitoringConfiguration() *HANAMonitoringConfiguration { if x != nil { return x.HanaMonitoringConfiguration } return nil } func (x *Configuration) GetLogToCloud() *wrapperspb.BoolValue { if x != nil { return x.LogToCloud } return nil } func (x *Configuration) GetDiscoveryConfiguration() *DiscoveryConfiguration { if x != nil { return x.DiscoveryConfiguration } return nil } func (x *Configuration) GetSupportConfiguration() *SupportConfiguration { if x != nil { return x.SupportConfiguration } return nil } func (x *Configuration) GetUapConfiguration() *UAPConfiguration { if x != nil { return x.UapConfiguration } return nil } func (x *Configuration) GetGcbdrConfiguration() *GCBDRConfiguration { if x != nil { return x.GcbdrConfiguration } return nil } type CollectionConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CollectWorkloadValidationMetrics *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=collect_workload_validation_metrics,json=collectWorkloadValidationMetrics,proto3" json:"collect_workload_validation_metrics,omitempty"` WorkloadValidationMetricsFrequency int64 `protobuf:"varint,2,opt,name=workload_validation_metrics_frequency,json=workloadValidationMetricsFrequency,proto3" json:"workload_validation_metrics_frequency,omitempty"` CollectProcessMetrics bool `protobuf:"varint,3,opt,name=collect_process_metrics,json=collectProcessMetrics,proto3" json:"collect_process_metrics,omitempty"` ProcessMetricsFrequency int64 `protobuf:"varint,4,opt,name=process_metrics_frequency,json=processMetricsFrequency,proto3" json:"process_metrics_frequency,omitempty"` // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. ProcessMetricsSendFrequency int64 `protobuf:"varint,5,opt,name=process_metrics_send_frequency,json=processMetricsSendFrequency,proto3" json:"process_metrics_send_frequency,omitempty"` WorkloadValidationRemoteCollection *WorkloadValidationRemoteCollection `protobuf:"bytes,6,opt,name=workload_validation_remote_collection,json=workloadValidationRemoteCollection,proto3" json:"workload_validation_remote_collection,omitempty"` CollectExperimentalMetrics bool `protobuf:"varint,7,opt,name=collect_experimental_metrics,json=collectExperimentalMetrics,proto3" json:"collect_experimental_metrics,omitempty"` HanaMetricsConfig *HANAMetricsConfig `protobuf:"bytes,8,opt,name=hana_metrics_config,json=hanaMetricsConfig,proto3" json:"hana_metrics_config,omitempty"` // HANA DB user credentials for process metrics. // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. SapSystemDiscovery *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=sap_system_discovery,json=sapSystemDiscovery,proto3" json:"sap_system_discovery,omitempty"` CollectAgentMetrics bool `protobuf:"varint,10,opt,name=collect_agent_metrics,json=collectAgentMetrics,proto3" json:"collect_agent_metrics,omitempty"` AgentMetricsFrequency int64 `protobuf:"varint,11,opt,name=agent_metrics_frequency,json=agentMetricsFrequency,proto3" json:"agent_metrics_frequency,omitempty"` HeartbeatFrequency int64 `protobuf:"varint,12,opt,name=heartbeat_frequency,json=heartbeatFrequency,proto3" json:"heartbeat_frequency,omitempty"` MissedHeartbeatThreshold int64 `protobuf:"varint,13,opt,name=missed_heartbeat_threshold,json=missedHeartbeatThreshold,proto3" json:"missed_heartbeat_threshold,omitempty"` AgentHealthFrequency int64 `protobuf:"varint,14,opt,name=agent_health_frequency,json=agentHealthFrequency,proto3" json:"agent_health_frequency,omitempty"` WorkloadValidationDbMetricsFrequency int64 `protobuf:"varint,15,opt,name=workload_validation_db_metrics_frequency,json=workloadValidationDbMetricsFrequency,proto3" json:"workload_validation_db_metrics_frequency,omitempty"` WorkloadValidationDbMetricsConfig *HANAMetricsConfig `protobuf:"bytes,16,opt,name=workload_validation_db_metrics_config,json=workloadValidationDbMetricsConfig,proto3" json:"workload_validation_db_metrics_config,omitempty"` // HANA DB user credentials for WLM DB based metrics. DataWarehouseEndpoint string `protobuf:"bytes,17,opt,name=data_warehouse_endpoint,json=dataWarehouseEndpoint,proto3" json:"data_warehouse_endpoint,omitempty"` SlowProcessMetricsFrequency int64 `protobuf:"varint,18,opt,name=slow_process_metrics_frequency,json=slowProcessMetricsFrequency,proto3" json:"slow_process_metrics_frequency,omitempty"` ProcessMetricsToSkip []string `protobuf:"bytes,19,rep,name=process_metrics_to_skip,json=processMetricsToSkip,proto3" json:"process_metrics_to_skip,omitempty"` // List of process metrics to skip during metrics collection // Ex: ["/sap/nw/abap/sessions", "/sap/nw/abap/rfc"]. WorkloadValidationCollectionDefinition *WorkloadValidationCollectionDefinition `protobuf:"bytes,20,opt,name=workload_validation_collection_definition,json=workloadValidationCollectionDefinition,proto3" json:"workload_validation_collection_definition,omitempty"` // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. CollectReliabilityMetrics *wrapperspb.BoolValue `protobuf:"bytes,21,opt,name=collect_reliability_metrics,json=collectReliabilityMetrics,proto3" json:"collect_reliability_metrics,omitempty"` // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. ReliabilityMetricsFrequency int64 `protobuf:"varint,22,opt,name=reliability_metrics_frequency,json=reliabilityMetricsFrequency,proto3" json:"reliability_metrics_frequency,omitempty"` MetricEventsLogDelaySeconds int64 `protobuf:"varint,23,opt,name=metric_events_log_delay_seconds,json=metricEventsLogDelaySeconds,proto3" json:"metric_events_log_delay_seconds,omitempty"` } func (x *CollectionConfiguration) Reset() { *x = CollectionConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectionConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectionConfiguration) ProtoMessage() {} func (x *CollectionConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[1] 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 CollectionConfiguration.ProtoReflect.Descriptor instead. func (*CollectionConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{1} } func (x *CollectionConfiguration) GetCollectWorkloadValidationMetrics() *wrapperspb.BoolValue { if x != nil { return x.CollectWorkloadValidationMetrics } return nil } func (x *CollectionConfiguration) GetWorkloadValidationMetricsFrequency() int64 { if x != nil { return x.WorkloadValidationMetricsFrequency } return 0 } func (x *CollectionConfiguration) GetCollectProcessMetrics() bool { if x != nil { return x.CollectProcessMetrics } return false } func (x *CollectionConfiguration) GetProcessMetricsFrequency() int64 { if x != nil { return x.ProcessMetricsFrequency } return 0 } // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. func (x *CollectionConfiguration) GetProcessMetricsSendFrequency() int64 { if x != nil { return x.ProcessMetricsSendFrequency } return 0 } func (x *CollectionConfiguration) GetWorkloadValidationRemoteCollection() *WorkloadValidationRemoteCollection { if x != nil { return x.WorkloadValidationRemoteCollection } return nil } func (x *CollectionConfiguration) GetCollectExperimentalMetrics() bool { if x != nil { return x.CollectExperimentalMetrics } return false } func (x *CollectionConfiguration) GetHanaMetricsConfig() *HANAMetricsConfig { if x != nil { return x.HanaMetricsConfig } return nil } // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. func (x *CollectionConfiguration) GetSapSystemDiscovery() *wrapperspb.BoolValue { if x != nil { return x.SapSystemDiscovery } return nil } func (x *CollectionConfiguration) GetCollectAgentMetrics() bool { if x != nil { return x.CollectAgentMetrics } return false } func (x *CollectionConfiguration) GetAgentMetricsFrequency() int64 { if x != nil { return x.AgentMetricsFrequency } return 0 } func (x *CollectionConfiguration) GetHeartbeatFrequency() int64 { if x != nil { return x.HeartbeatFrequency } return 0 } func (x *CollectionConfiguration) GetMissedHeartbeatThreshold() int64 { if x != nil { return x.MissedHeartbeatThreshold } return 0 } func (x *CollectionConfiguration) GetAgentHealthFrequency() int64 { if x != nil { return x.AgentHealthFrequency } return 0 } func (x *CollectionConfiguration) GetWorkloadValidationDbMetricsFrequency() int64 { if x != nil { return x.WorkloadValidationDbMetricsFrequency } return 0 } func (x *CollectionConfiguration) GetWorkloadValidationDbMetricsConfig() *HANAMetricsConfig { if x != nil { return x.WorkloadValidationDbMetricsConfig } return nil } func (x *CollectionConfiguration) GetDataWarehouseEndpoint() string { if x != nil { return x.DataWarehouseEndpoint } return "" } func (x *CollectionConfiguration) GetSlowProcessMetricsFrequency() int64 { if x != nil { return x.SlowProcessMetricsFrequency } return 0 } func (x *CollectionConfiguration) GetProcessMetricsToSkip() []string { if x != nil { return x.ProcessMetricsToSkip } return nil } func (x *CollectionConfiguration) GetWorkloadValidationCollectionDefinition() *WorkloadValidationCollectionDefinition { if x != nil { return x.WorkloadValidationCollectionDefinition } return nil } // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. func (x *CollectionConfiguration) GetCollectReliabilityMetrics() *wrapperspb.BoolValue { if x != nil { return x.CollectReliabilityMetrics } return nil } // Deprecated: Marked as deprecated in protos/configuration/configuration.proto. func (x *CollectionConfiguration) GetReliabilityMetricsFrequency() int64 { if x != nil { return x.ReliabilityMetricsFrequency } return 0 } func (x *CollectionConfiguration) GetMetricEventsLogDelaySeconds() int64 { if x != nil { return x.MetricEventsLogDelaySeconds } return 0 } type AgentProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` LogUsageMetrics bool `protobuf:"varint,3,opt,name=log_usage_metrics,json=logUsageMetrics,proto3" json:"log_usage_metrics,omitempty"` } func (x *AgentProperties) Reset() { *x = AgentProperties{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AgentProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*AgentProperties) ProtoMessage() {} func (x *AgentProperties) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[2] 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 AgentProperties.ProtoReflect.Descriptor instead. func (*AgentProperties) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{2} } func (x *AgentProperties) GetVersion() string { if x != nil { return x.Version } return "" } func (x *AgentProperties) GetName() string { if x != nil { return x.Name } return "" } func (x *AgentProperties) GetLogUsageMetrics() bool { if x != nil { return x.LogUsageMetrics } return false } type WorkloadValidationRemoteCollection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RemoteCollectionBinary string `protobuf:"bytes,1,opt,name=remote_collection_binary,json=remoteCollectionBinary,proto3" json:"remote_collection_binary,omitempty"` ConcurrentCollections int64 `protobuf:"varint,2,opt,name=concurrent_collections,json=concurrentCollections,proto3" json:"concurrent_collections,omitempty"` RemoteCollectionGcloud *RemoteCollectionGcloud `protobuf:"bytes,3,opt,name=remote_collection_gcloud,json=remoteCollectionGcloud,proto3" json:"remote_collection_gcloud,omitempty"` RemoteCollectionSsh *RemoteCollectionSsh `protobuf:"bytes,4,opt,name=remote_collection_ssh,json=remoteCollectionSsh,proto3" json:"remote_collection_ssh,omitempty"` RemoteCollectionInstances []*RemoteCollectionInstance `protobuf:"bytes,5,rep,name=remote_collection_instances,json=remoteCollectionInstances,proto3" json:"remote_collection_instances,omitempty"` } func (x *WorkloadValidationRemoteCollection) Reset() { *x = WorkloadValidationRemoteCollection{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkloadValidationRemoteCollection) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkloadValidationRemoteCollection) ProtoMessage() {} func (x *WorkloadValidationRemoteCollection) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[3] 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 WorkloadValidationRemoteCollection.ProtoReflect.Descriptor instead. func (*WorkloadValidationRemoteCollection) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{3} } func (x *WorkloadValidationRemoteCollection) GetRemoteCollectionBinary() string { if x != nil { return x.RemoteCollectionBinary } return "" } func (x *WorkloadValidationRemoteCollection) GetConcurrentCollections() int64 { if x != nil { return x.ConcurrentCollections } return 0 } func (x *WorkloadValidationRemoteCollection) GetRemoteCollectionGcloud() *RemoteCollectionGcloud { if x != nil { return x.RemoteCollectionGcloud } return nil } func (x *WorkloadValidationRemoteCollection) GetRemoteCollectionSsh() *RemoteCollectionSsh { if x != nil { return x.RemoteCollectionSsh } return nil } func (x *WorkloadValidationRemoteCollection) GetRemoteCollectionInstances() []*RemoteCollectionInstance { if x != nil { return x.RemoteCollectionInstances } return nil } type RemoteCollectionInstance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` InstanceName string `protobuf:"bytes,4,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` SshHostAddress string `protobuf:"bytes,5,opt,name=ssh_host_address,json=sshHostAddress,proto3" json:"ssh_host_address,omitempty"` } func (x *RemoteCollectionInstance) Reset() { *x = RemoteCollectionInstance{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteCollectionInstance) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteCollectionInstance) ProtoMessage() {} func (x *RemoteCollectionInstance) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[4] 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 RemoteCollectionInstance.ProtoReflect.Descriptor instead. func (*RemoteCollectionInstance) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{4} } func (x *RemoteCollectionInstance) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *RemoteCollectionInstance) GetZone() string { if x != nil { return x.Zone } return "" } func (x *RemoteCollectionInstance) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *RemoteCollectionInstance) GetInstanceName() string { if x != nil { return x.InstanceName } return "" } func (x *RemoteCollectionInstance) GetSshHostAddress() string { if x != nil { return x.SshHostAddress } return "" } type RemoteCollectionGcloud struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // user that will be used when issue gcloud ssh commands, if omitted then the // owner of the systemd service is used, usually root. SshUsername string `protobuf:"bytes,1,opt,name=ssh_username,json=sshUsername,proto3" json:"ssh_username,omitempty"` UseInternalIp bool `protobuf:"varint,2,opt,name=use_internal_ip,json=useInternalIp,proto3" json:"use_internal_ip,omitempty"` TunnelThroughIap bool `protobuf:"varint,3,opt,name=tunnel_through_iap,json=tunnelThroughIap,proto3" json:"tunnel_through_iap,omitempty"` GcloudArgs string `protobuf:"bytes,4,opt,name=gcloud_args,json=gcloudArgs,proto3" json:"gcloud_args,omitempty"` } func (x *RemoteCollectionGcloud) Reset() { *x = RemoteCollectionGcloud{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteCollectionGcloud) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteCollectionGcloud) ProtoMessage() {} func (x *RemoteCollectionGcloud) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[5] 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 RemoteCollectionGcloud.ProtoReflect.Descriptor instead. func (*RemoteCollectionGcloud) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{5} } func (x *RemoteCollectionGcloud) GetSshUsername() string { if x != nil { return x.SshUsername } return "" } func (x *RemoteCollectionGcloud) GetUseInternalIp() bool { if x != nil { return x.UseInternalIp } return false } func (x *RemoteCollectionGcloud) GetTunnelThroughIap() bool { if x != nil { return x.TunnelThroughIap } return false } func (x *RemoteCollectionGcloud) GetGcloudArgs() string { if x != nil { return x.GcloudArgs } return "" } type RemoteCollectionSsh struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SshUsername string `protobuf:"bytes,1,opt,name=ssh_username,json=sshUsername,proto3" json:"ssh_username,omitempty"` SshPrivateKeyPath string `protobuf:"bytes,2,opt,name=ssh_private_key_path,json=sshPrivateKeyPath,proto3" json:"ssh_private_key_path,omitempty"` } func (x *RemoteCollectionSsh) Reset() { *x = RemoteCollectionSsh{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteCollectionSsh) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteCollectionSsh) ProtoMessage() {} func (x *RemoteCollectionSsh) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[6] 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 RemoteCollectionSsh.ProtoReflect.Descriptor instead. func (*RemoteCollectionSsh) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{6} } func (x *RemoteCollectionSsh) GetSshUsername() string { if x != nil { return x.SshUsername } return "" } func (x *RemoteCollectionSsh) GetSshPrivateKeyPath() string { if x != nil { return x.SshPrivateKeyPath } return "" } type WorkloadValidationCollectionDefinition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConfigTargetEnvironment TargetEnvironment `protobuf:"varint,1,opt,name=config_target_environment,json=configTargetEnvironment,proto3,enum=sapagent.protos.configuration.TargetEnvironment" json:"config_target_environment,omitempty"` FetchLatestConfig *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=fetch_latest_config,json=fetchLatestConfig,proto3" json:"fetch_latest_config,omitempty"` } func (x *WorkloadValidationCollectionDefinition) Reset() { *x = WorkloadValidationCollectionDefinition{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkloadValidationCollectionDefinition) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkloadValidationCollectionDefinition) ProtoMessage() {} func (x *WorkloadValidationCollectionDefinition) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[7] 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 WorkloadValidationCollectionDefinition.ProtoReflect.Descriptor instead. func (*WorkloadValidationCollectionDefinition) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{7} } func (x *WorkloadValidationCollectionDefinition) GetConfigTargetEnvironment() TargetEnvironment { if x != nil { return x.ConfigTargetEnvironment } return TargetEnvironment_TARGET_ENVIRONMENT_UNSPECIFIED } func (x *WorkloadValidationCollectionDefinition) GetFetchLatestConfig() *wrapperspb.BoolValue { if x != nil { return x.FetchLatestConfig } return nil } type HANAMetricsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HanaDbUser string `protobuf:"bytes,1,opt,name=hana_db_user,json=hanaDbUser,proto3" json:"hana_db_user,omitempty"` HanaDbPassword string `protobuf:"bytes,2,opt,name=hana_db_password,json=hanaDbPassword,proto3" json:"hana_db_password,omitempty"` HanaDbPasswordSecretName string `protobuf:"bytes,3,opt,name=hana_db_password_secret_name,json=hanaDbPasswordSecretName,proto3" json:"hana_db_password_secret_name,omitempty"` Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"` Port string `protobuf:"bytes,5,opt,name=port,proto3" json:"port,omitempty"` HdbuserstoreKey string `protobuf:"bytes,6,opt,name=hdbuserstore_key,json=hdbuserstoreKey,proto3" json:"hdbuserstore_key,omitempty"` Sid string `protobuf:"bytes,7,opt,name=sid,proto3" json:"sid,omitempty"` } func (x *HANAMetricsConfig) Reset() { *x = HANAMetricsConfig{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HANAMetricsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HANAMetricsConfig) ProtoMessage() {} func (x *HANAMetricsConfig) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[8] 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 HANAMetricsConfig.ProtoReflect.Descriptor instead. func (*HANAMetricsConfig) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{8} } func (x *HANAMetricsConfig) GetHanaDbUser() string { if x != nil { return x.HanaDbUser } return "" } func (x *HANAMetricsConfig) GetHanaDbPassword() string { if x != nil { return x.HanaDbPassword } return "" } func (x *HANAMetricsConfig) GetHanaDbPasswordSecretName() string { if x != nil { return x.HanaDbPasswordSecretName } return "" } func (x *HANAMetricsConfig) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *HANAMetricsConfig) GetPort() string { if x != nil { return x.Port } return "" } func (x *HANAMetricsConfig) GetHdbuserstoreKey() string { if x != nil { return x.HdbuserstoreKey } return "" } func (x *HANAMetricsConfig) GetSid() string { if x != nil { return x.Sid } return "" } type HANAMonitoringConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SampleIntervalSec int64 `protobuf:"varint,1,opt,name=sample_interval_sec,json=sampleIntervalSec,proto3" json:"sample_interval_sec,omitempty"` QueryTimeoutSec int64 `protobuf:"varint,2,opt,name=query_timeout_sec,json=queryTimeoutSec,proto3" json:"query_timeout_sec,omitempty"` ExecutionThreads int64 `protobuf:"varint,3,opt,name=execution_threads,json=executionThreads,proto3" json:"execution_threads,omitempty"` HanaInstances []*HANAInstance `protobuf:"bytes,4,rep,name=hana_instances,json=hanaInstances,proto3" json:"hana_instances,omitempty"` Queries []*Query `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` SendQueryResponseTime bool `protobuf:"varint,7,opt,name=send_query_response_time,json=sendQueryResponseTime,proto3" json:"send_query_response_time,omitempty"` // If provided, a connection will try to be established to the HANA database // before running the queries. ConnectionTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=connection_timeout,json=connectionTimeout,proto3" json:"connection_timeout,omitempty"` MaxConnectRetries *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=max_connect_retries,json=maxConnectRetries,proto3" json:"max_connect_retries,omitempty"` } func (x *HANAMonitoringConfiguration) Reset() { *x = HANAMonitoringConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HANAMonitoringConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*HANAMonitoringConfiguration) ProtoMessage() {} func (x *HANAMonitoringConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[9] 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 HANAMonitoringConfiguration.ProtoReflect.Descriptor instead. func (*HANAMonitoringConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{9} } func (x *HANAMonitoringConfiguration) GetSampleIntervalSec() int64 { if x != nil { return x.SampleIntervalSec } return 0 } func (x *HANAMonitoringConfiguration) GetQueryTimeoutSec() int64 { if x != nil { return x.QueryTimeoutSec } return 0 } func (x *HANAMonitoringConfiguration) GetExecutionThreads() int64 { if x != nil { return x.ExecutionThreads } return 0 } func (x *HANAMonitoringConfiguration) GetHanaInstances() []*HANAInstance { if x != nil { return x.HanaInstances } return nil } func (x *HANAMonitoringConfiguration) GetQueries() []*Query { if x != nil { return x.Queries } return nil } func (x *HANAMonitoringConfiguration) GetEnabled() bool { if x != nil { return x.Enabled } return false } func (x *HANAMonitoringConfiguration) GetSendQueryResponseTime() bool { if x != nil { return x.SendQueryResponseTime } return false } func (x *HANAMonitoringConfiguration) GetConnectionTimeout() *durationpb.Duration { if x != nil { return x.ConnectionTimeout } return nil } func (x *HANAMonitoringConfiguration) GetMaxConnectRetries() *wrapperspb.Int32Value { if x != nil { return x.MaxConnectRetries } return nil } type HANAInstance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Sid string `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"` Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` User string `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"` Password string `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"` SecretName string `protobuf:"bytes,7,opt,name=secret_name,json=secretName,proto3" json:"secret_name,omitempty"` EnableSsl bool `protobuf:"varint,8,opt,name=enable_ssl,json=enableSsl,proto3" json:"enable_ssl,omitempty"` HostNameInCertificate string `protobuf:"bytes,9,opt,name=host_name_in_certificate,json=hostNameInCertificate,proto3" json:"host_name_in_certificate,omitempty"` TlsRootCaFile string `protobuf:"bytes,10,opt,name=tls_root_ca_file,json=tlsRootCaFile,proto3" json:"tls_root_ca_file,omitempty"` HdbuserstoreKey string `protobuf:"bytes,11,opt,name=hdbuserstore_key,json=hdbuserstoreKey,proto3" json:"hdbuserstore_key,omitempty"` QueriesToRun *QueriesToRun `protobuf:"bytes,12,opt,name=queries_to_run,json=queriesToRun,proto3" json:"queries_to_run,omitempty"` IsLocal bool `protobuf:"varint,13,opt,name=is_local,json=isLocal,proto3" json:"is_local,omitempty"` InstanceNum string `protobuf:"bytes,14,opt,name=instance_num,json=instanceNum,proto3" json:"instance_num,omitempty"` } func (x *HANAInstance) Reset() { *x = HANAInstance{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HANAInstance) String() string { return protoimpl.X.MessageStringOf(x) } func (*HANAInstance) ProtoMessage() {} func (x *HANAInstance) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[10] 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 HANAInstance.ProtoReflect.Descriptor instead. func (*HANAInstance) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{10} } func (x *HANAInstance) GetName() string { if x != nil { return x.Name } return "" } func (x *HANAInstance) GetSid() string { if x != nil { return x.Sid } return "" } func (x *HANAInstance) GetHost() string { if x != nil { return x.Host } return "" } func (x *HANAInstance) GetPort() string { if x != nil { return x.Port } return "" } func (x *HANAInstance) GetUser() string { if x != nil { return x.User } return "" } func (x *HANAInstance) GetPassword() string { if x != nil { return x.Password } return "" } func (x *HANAInstance) GetSecretName() string { if x != nil { return x.SecretName } return "" } func (x *HANAInstance) GetEnableSsl() bool { if x != nil { return x.EnableSsl } return false } func (x *HANAInstance) GetHostNameInCertificate() string { if x != nil { return x.HostNameInCertificate } return "" } func (x *HANAInstance) GetTlsRootCaFile() string { if x != nil { return x.TlsRootCaFile } return "" } func (x *HANAInstance) GetHdbuserstoreKey() string { if x != nil { return x.HdbuserstoreKey } return "" } func (x *HANAInstance) GetQueriesToRun() *QueriesToRun { if x != nil { return x.QueriesToRun } return nil } func (x *HANAInstance) GetIsLocal() bool { if x != nil { return x.IsLocal } return false } func (x *HANAInstance) GetInstanceNum() string { if x != nil { return x.InstanceNum } return "" } type QueriesToRun struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RunAll bool `protobuf:"varint,1,opt,name=run_all,json=runAll,proto3" json:"run_all,omitempty"` QueryNames []string `protobuf:"bytes,2,rep,name=query_names,json=queryNames,proto3" json:"query_names,omitempty"` } func (x *QueriesToRun) Reset() { *x = QueriesToRun{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueriesToRun) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueriesToRun) ProtoMessage() {} func (x *QueriesToRun) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[11] 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 QueriesToRun.ProtoReflect.Descriptor instead. func (*QueriesToRun) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{11} } func (x *QueriesToRun) GetRunAll() bool { if x != nil { return x.RunAll } return false } func (x *QueriesToRun) GetQueryNames() []string { if x != nil { return x.QueryNames } return nil } type Query struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Sql string `protobuf:"bytes,3,opt,name=sql,proto3" json:"sql,omitempty"` SampleIntervalSec int64 `protobuf:"varint,4,opt,name=sample_interval_sec,json=sampleIntervalSec,proto3" json:"sample_interval_sec,omitempty"` Columns []*Column `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"` RunOn RunOn `protobuf:"varint,6,opt,name=run_on,json=runOn,proto3,enum=sapagent.protos.configuration.RunOn" json:"run_on,omitempty"` } func (x *Query) Reset() { *x = Query{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Query) String() string { return protoimpl.X.MessageStringOf(x) } func (*Query) ProtoMessage() {} func (x *Query) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[12] 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 Query.ProtoReflect.Descriptor instead. func (*Query) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{12} } func (x *Query) GetEnabled() bool { if x != nil { return x.Enabled } return false } func (x *Query) GetName() string { if x != nil { return x.Name } return "" } func (x *Query) GetSql() string { if x != nil { return x.Sql } return "" } func (x *Query) GetSampleIntervalSec() int64 { if x != nil { return x.SampleIntervalSec } return 0 } func (x *Query) GetColumns() []*Column { if x != nil { return x.Columns } return nil } func (x *Query) GetRunOn() RunOn { if x != nil { return x.RunOn } return RunOn_RUN_ON_UNSPECIFIED } type Column struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` MetricType MetricType `protobuf:"varint,2,opt,name=metric_type,json=metricType,proto3,enum=sapagent.protos.configuration.MetricType" json:"metric_type,omitempty"` ValueType ValueType `protobuf:"varint,3,opt,name=value_type,json=valueType,proto3,enum=sapagent.protos.configuration.ValueType" json:"value_type,omitempty"` NameOverride string `protobuf:"bytes,4,opt,name=name_override,json=nameOverride,proto3" json:"name_override,omitempty"` } func (x *Column) Reset() { *x = Column{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Column) String() string { return protoimpl.X.MessageStringOf(x) } func (*Column) ProtoMessage() {} func (x *Column) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[13] 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 Column.ProtoReflect.Descriptor instead. func (*Column) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{13} } func (x *Column) GetName() string { if x != nil { return x.Name } return "" } func (x *Column) GetMetricType() MetricType { if x != nil { return x.MetricType } return MetricType_METRIC_UNSPECIFIED } func (x *Column) GetValueType() ValueType { if x != nil { return x.ValueType } return ValueType_VALUE_UNSPECIFIED } func (x *Column) GetNameOverride() string { if x != nil { return x.NameOverride } return "" } type DiscoveryConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EnableDiscovery *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable_discovery,json=enableDiscovery,proto3" json:"enable_discovery,omitempty"` SystemDiscoveryUpdateFrequency *durationpb.Duration `protobuf:"bytes,2,opt,name=system_discovery_update_frequency,json=systemDiscoveryUpdateFrequency,proto3" json:"system_discovery_update_frequency,omitempty"` SapInstancesUpdateFrequency *durationpb.Duration `protobuf:"bytes,3,opt,name=sap_instances_update_frequency,json=sapInstancesUpdateFrequency,proto3" json:"sap_instances_update_frequency,omitempty"` EnableWorkloadDiscovery *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=enable_workload_discovery,json=enableWorkloadDiscovery,proto3" json:"enable_workload_discovery,omitempty"` } func (x *DiscoveryConfiguration) Reset() { *x = DiscoveryConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiscoveryConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiscoveryConfiguration) ProtoMessage() {} func (x *DiscoveryConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[14] 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 DiscoveryConfiguration.ProtoReflect.Descriptor instead. func (*DiscoveryConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{14} } func (x *DiscoveryConfiguration) GetEnableDiscovery() *wrapperspb.BoolValue { if x != nil { return x.EnableDiscovery } return nil } func (x *DiscoveryConfiguration) GetSystemDiscoveryUpdateFrequency() *durationpb.Duration { if x != nil { return x.SystemDiscoveryUpdateFrequency } return nil } func (x *DiscoveryConfiguration) GetSapInstancesUpdateFrequency() *durationpb.Duration { if x != nil { return x.SapInstancesUpdateFrequency } return nil } func (x *DiscoveryConfiguration) GetEnableWorkloadDiscovery() *wrapperspb.BoolValue { if x != nil { return x.EnableWorkloadDiscovery } return nil } type SupportConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SendWorkloadValidationMetricsToCloudMonitoring *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=send_workload_validation_metrics_to_cloud_monitoring,json=sendWorkloadValidationMetricsToCloudMonitoring,proto3" json:"send_workload_validation_metrics_to_cloud_monitoring,omitempty"` } func (x *SupportConfiguration) Reset() { *x = SupportConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SupportConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*SupportConfiguration) ProtoMessage() {} func (x *SupportConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[15] 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 SupportConfiguration.ProtoReflect.Descriptor instead. func (*SupportConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{15} } func (x *SupportConfiguration) GetSendWorkloadValidationMetricsToCloudMonitoring() *wrapperspb.BoolValue { if x != nil { return x.SendWorkloadValidationMetricsToCloudMonitoring } return nil } type UAPConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Enabled *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` TestChannelEnabled *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=test_channel_enabled,json=testChannelEnabled,proto3" json:"test_channel_enabled,omitempty"` } func (x *UAPConfiguration) Reset() { *x = UAPConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UAPConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*UAPConfiguration) ProtoMessage() {} func (x *UAPConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[16] 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 UAPConfiguration.ProtoReflect.Descriptor instead. func (*UAPConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{16} } func (x *UAPConfiguration) GetEnabled() *wrapperspb.BoolValue { if x != nil { return x.Enabled } return nil } func (x *UAPConfiguration) GetTestChannelEnabled() *wrapperspb.BoolValue { if x != nil { return x.TestChannelEnabled } return nil } type GCBDRConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommunicationEnabled *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=communication_enabled,json=communicationEnabled,proto3" json:"communication_enabled,omitempty"` TestChannelEnabled *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=test_channel_enabled,json=testChannelEnabled,proto3" json:"test_channel_enabled,omitempty"` Environment TargetEnvironment `protobuf:"varint,3,opt,name=environment,proto3,enum=sapagent.protos.configuration.TargetEnvironment" json:"environment,omitempty"` } func (x *GCBDRConfiguration) Reset() { *x = GCBDRConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_protos_configuration_configuration_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GCBDRConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*GCBDRConfiguration) ProtoMessage() {} func (x *GCBDRConfiguration) ProtoReflect() protoreflect.Message { mi := &file_protos_configuration_configuration_proto_msgTypes[17] 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 GCBDRConfiguration.ProtoReflect.Descriptor instead. func (*GCBDRConfiguration) Descriptor() ([]byte, []int) { return file_protos_configuration_configuration_proto_rawDescGZIP(), []int{17} } func (x *GCBDRConfiguration) GetCommunicationEnabled() *wrapperspb.BoolValue { if x != nil { return x.CommunicationEnabled } return nil } func (x *GCBDRConfiguration) GetTestChannelEnabled() *wrapperspb.BoolValue { if x != nil { return x.TestChannelEnabled } return nil } func (x *GCBDRConfiguration) GetEnvironment() TargetEnvironment { if x != nil { return x.Environment } return TargetEnvironment_TARGET_ENVIRONMENT_UNSPECIFIED } var File_protos_configuration_configuration_proto protoreflect.FileDescriptor var file_protos_configuration_configuration_proto_rawDesc = []byte{ 0x0a, 0x28, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x09, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x53, 0x61, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x71, 0x0a, 0x18, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x1d, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x41, 0x4e, 0x41, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x68, 0x61, 0x6e, 0x61, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x6e, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x11, 0x75, 0x61, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x41, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x75, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x13, 0x67, 0x63, 0x62, 0x64, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x43, 0x42, 0x44, 0x52, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x67, 0x63, 0x62, 0x64, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x22, 0xd4, 0x0e, 0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x23, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x51, 0x0a, 0x25, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x47, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x94, 0x01, 0x0a, 0x25, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x22, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x60, 0x0a, 0x13, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x41, 0x4e, 0x41, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x61, 0x6e, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x14, 0x73, 0x61, 0x70, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x73, 0x61, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x56, 0x0a, 0x28, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x25, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x41, 0x4e, 0x41, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x21, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x6f, 0x53, 0x6b, 0x69, 0x70, 0x12, 0xa0, 0x01, 0x0a, 0x29, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x26, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x1b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x46, 0x0a, 0x1d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x1f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xe7, 0x03, 0x0a, 0x22, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6f, 0x0a, 0x18, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x66, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x68, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x68, 0x12, 0x77, 0x0a, 0x1b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x73, 0x68, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x73, 0x68, 0x48, 0x6f, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x73, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x73, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x69, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x49, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x69, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x73, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x73, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x73, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x22, 0x85, 0x02, 0x0a, 0x26, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x66, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8c, 0x02, 0x0a, 0x11, 0x48, 0x41, 0x4e, 0x41, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x64, 0x62, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x61, 0x6e, 0x61, 0x44, 0x62, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x6e, 0x61, 0x44, 0x62, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x1c, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x68, 0x61, 0x6e, 0x61, 0x44, 0x62, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x64, 0x62, 0x75, 0x73, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x64, 0x62, 0x75, 0x73, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0xa4, 0x04, 0x0a, 0x1b, 0x48, 0x41, 0x4e, 0x41, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x68, 0x61, 0x6e, 0x61, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x41, 0x4e, 0x41, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x68, 0x61, 0x6e, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xea, 0x03, 0x0a, 0x0c, 0x48, 0x41, 0x4e, 0x41, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x73, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x73, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x64, 0x62, 0x75, 0x73, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x64, 0x62, 0x75, 0x73, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x75, 0x6e, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x75, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x48, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x75, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x41, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x6e, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x4f, 0x6e, 0x22, 0xd6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xfd, 0x02, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x21, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x5e, 0x0a, 0x1e, 0x73, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x73, 0x61, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x56, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x88, 0x01, 0x0a, 0x34, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x96, 0x01, 0x0a, 0x10, 0x55, 0x41, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x14, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x47, 0x43, 0x42, 0x44, 0x52, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x14, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2a, 0x44, 0x0a, 0x05, 0x52, 0x75, 0x6e, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x55, 0x4e, 0x5f, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x2a, 0x5f, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x43, 0x55, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x2a, 0x67, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x2a, 0x84, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x55, 0x54, 0x4f, 0x50, 0x55, 0x53, 0x48, 0x10, 0x05, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x61, 0x70, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_protos_configuration_configuration_proto_rawDescOnce sync.Once file_protos_configuration_configuration_proto_rawDescData = file_protos_configuration_configuration_proto_rawDesc ) func file_protos_configuration_configuration_proto_rawDescGZIP() []byte { file_protos_configuration_configuration_proto_rawDescOnce.Do(func() { file_protos_configuration_configuration_proto_rawDescData = protoimpl.X.CompressGZIP(file_protos_configuration_configuration_proto_rawDescData) }) return file_protos_configuration_configuration_proto_rawDescData } var file_protos_configuration_configuration_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_protos_configuration_configuration_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_protos_configuration_configuration_proto_goTypes = []interface{}{ (RunOn)(0), // 0: sapagent.protos.configuration.RunOn (MetricType)(0), // 1: sapagent.protos.configuration.MetricType (ValueType)(0), // 2: sapagent.protos.configuration.ValueType (TargetEnvironment)(0), // 3: sapagent.protos.configuration.TargetEnvironment (Configuration_LogLevel)(0), // 4: sapagent.protos.configuration.Configuration.LogLevel (*Configuration)(nil), // 5: sapagent.protos.configuration.Configuration (*CollectionConfiguration)(nil), // 6: sapagent.protos.configuration.CollectionConfiguration (*AgentProperties)(nil), // 7: sapagent.protos.configuration.AgentProperties (*WorkloadValidationRemoteCollection)(nil), // 8: sapagent.protos.configuration.WorkloadValidationRemoteCollection (*RemoteCollectionInstance)(nil), // 9: sapagent.protos.configuration.RemoteCollectionInstance (*RemoteCollectionGcloud)(nil), // 10: sapagent.protos.configuration.RemoteCollectionGcloud (*RemoteCollectionSsh)(nil), // 11: sapagent.protos.configuration.RemoteCollectionSsh (*WorkloadValidationCollectionDefinition)(nil), // 12: sapagent.protos.configuration.WorkloadValidationCollectionDefinition (*HANAMetricsConfig)(nil), // 13: sapagent.protos.configuration.HANAMetricsConfig (*HANAMonitoringConfiguration)(nil), // 14: sapagent.protos.configuration.HANAMonitoringConfiguration (*HANAInstance)(nil), // 15: sapagent.protos.configuration.HANAInstance (*QueriesToRun)(nil), // 16: sapagent.protos.configuration.QueriesToRun (*Query)(nil), // 17: sapagent.protos.configuration.Query (*Column)(nil), // 18: sapagent.protos.configuration.Column (*DiscoveryConfiguration)(nil), // 19: sapagent.protos.configuration.DiscoveryConfiguration (*SupportConfiguration)(nil), // 20: sapagent.protos.configuration.SupportConfiguration (*UAPConfiguration)(nil), // 21: sapagent.protos.configuration.UAPConfiguration (*GCBDRConfiguration)(nil), // 22: sapagent.protos.configuration.GCBDRConfiguration (*wrapperspb.BoolValue)(nil), // 23: google.protobuf.BoolValue (*instanceinfo.CloudProperties)(nil), // 24: sapagent.protos.instanceinfo.CloudProperties (*durationpb.Duration)(nil), // 25: google.protobuf.Duration (*wrapperspb.Int32Value)(nil), // 26: google.protobuf.Int32Value } var file_protos_configuration_configuration_proto_depIdxs = []int32{ 23, // 0: sapagent.protos.configuration.Configuration.provide_sap_host_agent_metrics:type_name -> google.protobuf.BoolValue 4, // 1: sapagent.protos.configuration.Configuration.log_level:type_name -> sapagent.protos.configuration.Configuration.LogLevel 6, // 2: sapagent.protos.configuration.Configuration.collection_configuration:type_name -> sapagent.protos.configuration.CollectionConfiguration 24, // 3: sapagent.protos.configuration.Configuration.cloud_properties:type_name -> sapagent.protos.instanceinfo.CloudProperties 7, // 4: sapagent.protos.configuration.Configuration.agent_properties:type_name -> sapagent.protos.configuration.AgentProperties 14, // 5: sapagent.protos.configuration.Configuration.hana_monitoring_configuration:type_name -> sapagent.protos.configuration.HANAMonitoringConfiguration 23, // 6: sapagent.protos.configuration.Configuration.log_to_cloud:type_name -> google.protobuf.BoolValue 19, // 7: sapagent.protos.configuration.Configuration.discovery_configuration:type_name -> sapagent.protos.configuration.DiscoveryConfiguration 20, // 8: sapagent.protos.configuration.Configuration.support_configuration:type_name -> sapagent.protos.configuration.SupportConfiguration 21, // 9: sapagent.protos.configuration.Configuration.uap_configuration:type_name -> sapagent.protos.configuration.UAPConfiguration 22, // 10: sapagent.protos.configuration.Configuration.gcbdr_configuration:type_name -> sapagent.protos.configuration.GCBDRConfiguration 23, // 11: sapagent.protos.configuration.CollectionConfiguration.collect_workload_validation_metrics:type_name -> google.protobuf.BoolValue 8, // 12: sapagent.protos.configuration.CollectionConfiguration.workload_validation_remote_collection:type_name -> sapagent.protos.configuration.WorkloadValidationRemoteCollection 13, // 13: sapagent.protos.configuration.CollectionConfiguration.hana_metrics_config:type_name -> sapagent.protos.configuration.HANAMetricsConfig 23, // 14: sapagent.protos.configuration.CollectionConfiguration.sap_system_discovery:type_name -> google.protobuf.BoolValue 13, // 15: sapagent.protos.configuration.CollectionConfiguration.workload_validation_db_metrics_config:type_name -> sapagent.protos.configuration.HANAMetricsConfig 12, // 16: sapagent.protos.configuration.CollectionConfiguration.workload_validation_collection_definition:type_name -> sapagent.protos.configuration.WorkloadValidationCollectionDefinition 23, // 17: sapagent.protos.configuration.CollectionConfiguration.collect_reliability_metrics:type_name -> google.protobuf.BoolValue 10, // 18: sapagent.protos.configuration.WorkloadValidationRemoteCollection.remote_collection_gcloud:type_name -> sapagent.protos.configuration.RemoteCollectionGcloud 11, // 19: sapagent.protos.configuration.WorkloadValidationRemoteCollection.remote_collection_ssh:type_name -> sapagent.protos.configuration.RemoteCollectionSsh 9, // 20: sapagent.protos.configuration.WorkloadValidationRemoteCollection.remote_collection_instances:type_name -> sapagent.protos.configuration.RemoteCollectionInstance 3, // 21: sapagent.protos.configuration.WorkloadValidationCollectionDefinition.config_target_environment:type_name -> sapagent.protos.configuration.TargetEnvironment 23, // 22: sapagent.protos.configuration.WorkloadValidationCollectionDefinition.fetch_latest_config:type_name -> google.protobuf.BoolValue 15, // 23: sapagent.protos.configuration.HANAMonitoringConfiguration.hana_instances:type_name -> sapagent.protos.configuration.HANAInstance 17, // 24: sapagent.protos.configuration.HANAMonitoringConfiguration.queries:type_name -> sapagent.protos.configuration.Query 25, // 25: sapagent.protos.configuration.HANAMonitoringConfiguration.connection_timeout:type_name -> google.protobuf.Duration 26, // 26: sapagent.protos.configuration.HANAMonitoringConfiguration.max_connect_retries:type_name -> google.protobuf.Int32Value 16, // 27: sapagent.protos.configuration.HANAInstance.queries_to_run:type_name -> sapagent.protos.configuration.QueriesToRun 18, // 28: sapagent.protos.configuration.Query.columns:type_name -> sapagent.protos.configuration.Column 0, // 29: sapagent.protos.configuration.Query.run_on:type_name -> sapagent.protos.configuration.RunOn 1, // 30: sapagent.protos.configuration.Column.metric_type:type_name -> sapagent.protos.configuration.MetricType 2, // 31: sapagent.protos.configuration.Column.value_type:type_name -> sapagent.protos.configuration.ValueType 23, // 32: sapagent.protos.configuration.DiscoveryConfiguration.enable_discovery:type_name -> google.protobuf.BoolValue 25, // 33: sapagent.protos.configuration.DiscoveryConfiguration.system_discovery_update_frequency:type_name -> google.protobuf.Duration 25, // 34: sapagent.protos.configuration.DiscoveryConfiguration.sap_instances_update_frequency:type_name -> google.protobuf.Duration 23, // 35: sapagent.protos.configuration.DiscoveryConfiguration.enable_workload_discovery:type_name -> google.protobuf.BoolValue 23, // 36: sapagent.protos.configuration.SupportConfiguration.send_workload_validation_metrics_to_cloud_monitoring:type_name -> google.protobuf.BoolValue 23, // 37: sapagent.protos.configuration.UAPConfiguration.enabled:type_name -> google.protobuf.BoolValue 23, // 38: sapagent.protos.configuration.UAPConfiguration.test_channel_enabled:type_name -> google.protobuf.BoolValue 23, // 39: sapagent.protos.configuration.GCBDRConfiguration.communication_enabled:type_name -> google.protobuf.BoolValue 23, // 40: sapagent.protos.configuration.GCBDRConfiguration.test_channel_enabled:type_name -> google.protobuf.BoolValue 3, // 41: sapagent.protos.configuration.GCBDRConfiguration.environment:type_name -> sapagent.protos.configuration.TargetEnvironment 42, // [42:42] is the sub-list for method output_type 42, // [42:42] is the sub-list for method input_type 42, // [42:42] is the sub-list for extension type_name 42, // [42:42] is the sub-list for extension extendee 0, // [0:42] is the sub-list for field type_name } func init() { file_protos_configuration_configuration_proto_init() } func file_protos_configuration_configuration_proto_init() { if File_protos_configuration_configuration_proto != nil { return } if !protoimpl.UnsafeEnabled { file_protos_configuration_configuration_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Configuration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectionConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AgentProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkloadValidationRemoteCollection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteCollectionInstance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteCollectionGcloud); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteCollectionSsh); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkloadValidationCollectionDefinition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HANAMetricsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HANAMonitoringConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HANAInstance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueriesToRun); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Query); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Column); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscoveryConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SupportConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UAPConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protos_configuration_configuration_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GCBDRConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protos_configuration_configuration_proto_rawDesc, NumEnums: 5, NumMessages: 18, NumExtensions: 0, NumServices: 0, }, GoTypes: file_protos_configuration_configuration_proto_goTypes, DependencyIndexes: file_protos_configuration_configuration_proto_depIdxs, EnumInfos: file_protos_configuration_configuration_proto_enumTypes, MessageInfos: file_protos_configuration_configuration_proto_msgTypes, }.Build() File_protos_configuration_configuration_proto = out.File file_protos_configuration_configuration_proto_rawDesc = nil file_protos_configuration_configuration_proto_goTypes = nil file_protos_configuration_configuration_proto_depIdxs = nil }