...

Source file src/google.golang.org/genproto/googleapis/cloud/timeseriesinsights/v1/timeseries_insights.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/timeseriesinsights/v1

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/cloud/timeseriesinsights/v1/timeseries_insights.proto
    20  
    21  package timeseriesinsights
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	status "google.golang.org/genproto/googleapis/rpc/status"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status1 "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    36  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    37  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    38  )
    39  
    40  const (
    41  	// Verify that this generated code is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    43  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    44  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    45  )
    46  
    47  // DataSet state.
    48  type DataSet_State int32
    49  
    50  const (
    51  	// Unspecified / undefined state.
    52  	DataSet_STATE_UNSPECIFIED DataSet_State = 0
    53  	// Dataset is unknown to the system; we have never seen this dataset before
    54  	// or we have seen this dataset but have fully GC-ed it.
    55  	DataSet_UNKNOWN DataSet_State = 1
    56  	// Dataset processing is pending.
    57  	DataSet_PENDING DataSet_State = 2
    58  	// Dataset is loading.
    59  	DataSet_LOADING DataSet_State = 3
    60  	// Dataset is loaded and can be queried.
    61  	DataSet_LOADED DataSet_State = 4
    62  	// Dataset is unloading.
    63  	DataSet_UNLOADING DataSet_State = 5
    64  	// Dataset is unloaded and is removed from the system.
    65  	DataSet_UNLOADED DataSet_State = 6
    66  	// Dataset processing failed.
    67  	DataSet_FAILED DataSet_State = 7
    68  )
    69  
    70  // Enum value maps for DataSet_State.
    71  var (
    72  	DataSet_State_name = map[int32]string{
    73  		0: "STATE_UNSPECIFIED",
    74  		1: "UNKNOWN",
    75  		2: "PENDING",
    76  		3: "LOADING",
    77  		4: "LOADED",
    78  		5: "UNLOADING",
    79  		6: "UNLOADED",
    80  		7: "FAILED",
    81  	}
    82  	DataSet_State_value = map[string]int32{
    83  		"STATE_UNSPECIFIED": 0,
    84  		"UNKNOWN":           1,
    85  		"PENDING":           2,
    86  		"LOADING":           3,
    87  		"LOADED":            4,
    88  		"UNLOADING":         5,
    89  		"UNLOADED":          6,
    90  		"FAILED":            7,
    91  	}
    92  )
    93  
    94  func (x DataSet_State) Enum() *DataSet_State {
    95  	p := new(DataSet_State)
    96  	*p = x
    97  	return p
    98  }
    99  
   100  func (x DataSet_State) String() string {
   101  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   102  }
   103  
   104  func (DataSet_State) Descriptor() protoreflect.EnumDescriptor {
   105  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[0].Descriptor()
   106  }
   107  
   108  func (DataSet_State) Type() protoreflect.EnumType {
   109  	return &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[0]
   110  }
   111  
   112  func (x DataSet_State) Number() protoreflect.EnumNumber {
   113  	return protoreflect.EnumNumber(x)
   114  }
   115  
   116  // Deprecated: Use DataSet_State.Descriptor instead.
   117  func (DataSet_State) EnumDescriptor() ([]byte, []int) {
   118  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{2, 0}
   119  }
   120  
   121  // A time period of a fixed interval.
   122  type ForecastParams_Period int32
   123  
   124  const (
   125  	// Unknown or simply not given.
   126  	ForecastParams_PERIOD_UNSPECIFIED ForecastParams_Period = 0
   127  	// 1 hour
   128  	ForecastParams_HOURLY ForecastParams_Period = 5
   129  	// 24 hours
   130  	ForecastParams_DAILY ForecastParams_Period = 1
   131  	// 7 days
   132  	ForecastParams_WEEKLY ForecastParams_Period = 2
   133  	// 30 days
   134  	ForecastParams_MONTHLY ForecastParams_Period = 3
   135  	// 365 days
   136  	ForecastParams_YEARLY ForecastParams_Period = 4
   137  )
   138  
   139  // Enum value maps for ForecastParams_Period.
   140  var (
   141  	ForecastParams_Period_name = map[int32]string{
   142  		0: "PERIOD_UNSPECIFIED",
   143  		5: "HOURLY",
   144  		1: "DAILY",
   145  		2: "WEEKLY",
   146  		3: "MONTHLY",
   147  		4: "YEARLY",
   148  	}
   149  	ForecastParams_Period_value = map[string]int32{
   150  		"PERIOD_UNSPECIFIED": 0,
   151  		"HOURLY":             5,
   152  		"DAILY":              1,
   153  		"WEEKLY":             2,
   154  		"MONTHLY":            3,
   155  		"YEARLY":             4,
   156  	}
   157  )
   158  
   159  func (x ForecastParams_Period) Enum() *ForecastParams_Period {
   160  	p := new(ForecastParams_Period)
   161  	*p = x
   162  	return p
   163  }
   164  
   165  func (x ForecastParams_Period) String() string {
   166  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   167  }
   168  
   169  func (ForecastParams_Period) Descriptor() protoreflect.EnumDescriptor {
   170  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[1].Descriptor()
   171  }
   172  
   173  func (ForecastParams_Period) Type() protoreflect.EnumType {
   174  	return &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[1]
   175  }
   176  
   177  func (x ForecastParams_Period) Number() protoreflect.EnumNumber {
   178  	return protoreflect.EnumNumber(x)
   179  }
   180  
   181  // Deprecated: Use ForecastParams_Period.Descriptor instead.
   182  func (ForecastParams_Period) EnumDescriptor() ([]byte, []int) {
   183  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{12, 0}
   184  }
   185  
   186  // Methods by which we can aggregate multiple events by a given
   187  // [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric].
   188  type TimeseriesParams_AggregationMethod int32
   189  
   190  const (
   191  	// Unspecified.
   192  	TimeseriesParams_AGGREGATION_METHOD_UNSPECIFIED TimeseriesParams_AggregationMethod = 0
   193  	// Aggregate multiple events by summing up the values found in the
   194  	// [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric] dimension.
   195  	TimeseriesParams_SUM TimeseriesParams_AggregationMethod = 1
   196  	// Aggregate multiple events by averaging out the values found in the
   197  	// [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric] dimension.
   198  	TimeseriesParams_AVERAGE TimeseriesParams_AggregationMethod = 2
   199  )
   200  
   201  // Enum value maps for TimeseriesParams_AggregationMethod.
   202  var (
   203  	TimeseriesParams_AggregationMethod_name = map[int32]string{
   204  		0: "AGGREGATION_METHOD_UNSPECIFIED",
   205  		1: "SUM",
   206  		2: "AVERAGE",
   207  	}
   208  	TimeseriesParams_AggregationMethod_value = map[string]int32{
   209  		"AGGREGATION_METHOD_UNSPECIFIED": 0,
   210  		"SUM":                            1,
   211  		"AVERAGE":                        2,
   212  	}
   213  )
   214  
   215  func (x TimeseriesParams_AggregationMethod) Enum() *TimeseriesParams_AggregationMethod {
   216  	p := new(TimeseriesParams_AggregationMethod)
   217  	*p = x
   218  	return p
   219  }
   220  
   221  func (x TimeseriesParams_AggregationMethod) String() string {
   222  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   223  }
   224  
   225  func (TimeseriesParams_AggregationMethod) Descriptor() protoreflect.EnumDescriptor {
   226  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[2].Descriptor()
   227  }
   228  
   229  func (TimeseriesParams_AggregationMethod) Type() protoreflect.EnumType {
   230  	return &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes[2]
   231  }
   232  
   233  func (x TimeseriesParams_AggregationMethod) Number() protoreflect.EnumNumber {
   234  	return protoreflect.EnumNumber(x)
   235  }
   236  
   237  // Deprecated: Use TimeseriesParams_AggregationMethod.Descriptor instead.
   238  func (TimeseriesParams_AggregationMethod) EnumDescriptor() ([]byte, []int) {
   239  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{17, 0}
   240  }
   241  
   242  // Mapping of BigQuery columns to timestamp, group_id and dimensions.
   243  type BigqueryMapping struct {
   244  	state         protoimpl.MessageState
   245  	sizeCache     protoimpl.SizeCache
   246  	unknownFields protoimpl.UnknownFields
   247  
   248  	// The column which should be used as the event timestamps. If not specified
   249  	// 'Timestamp' is used by default. The column may have TIMESTAMP or INT64
   250  	// type (the latter is interpreted as microseconds since the Unix epoch).
   251  	TimestampColumn string `protobuf:"bytes,1,opt,name=timestamp_column,json=timestampColumn,proto3" json:"timestamp_column,omitempty"`
   252  	// The column which should be used as the group ID (grouping events into
   253  	// sessions). If not specified 'GroupId' is used by default, if the input
   254  	// table does not have such a column, random unique group IDs are
   255  	// generated automatically (different group ID per input row).
   256  	GroupIdColumn string `protobuf:"bytes,2,opt,name=group_id_column,json=groupIdColumn,proto3" json:"group_id_column,omitempty"`
   257  	// The list of columns that should be translated to dimensions. If empty,
   258  	// all columns are translated to dimensions. The timestamp and group_id
   259  	// columns should not be listed here again. Columns are expected to have
   260  	// primitive types (STRING, INT64, FLOAT64 or NUMERIC).
   261  	DimensionColumn []string `protobuf:"bytes,3,rep,name=dimension_column,json=dimensionColumn,proto3" json:"dimension_column,omitempty"`
   262  }
   263  
   264  func (x *BigqueryMapping) Reset() {
   265  	*x = BigqueryMapping{}
   266  	if protoimpl.UnsafeEnabled {
   267  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[0]
   268  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   269  		ms.StoreMessageInfo(mi)
   270  	}
   271  }
   272  
   273  func (x *BigqueryMapping) String() string {
   274  	return protoimpl.X.MessageStringOf(x)
   275  }
   276  
   277  func (*BigqueryMapping) ProtoMessage() {}
   278  
   279  func (x *BigqueryMapping) ProtoReflect() protoreflect.Message {
   280  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[0]
   281  	if protoimpl.UnsafeEnabled && x != nil {
   282  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   283  		if ms.LoadMessageInfo() == nil {
   284  			ms.StoreMessageInfo(mi)
   285  		}
   286  		return ms
   287  	}
   288  	return mi.MessageOf(x)
   289  }
   290  
   291  // Deprecated: Use BigqueryMapping.ProtoReflect.Descriptor instead.
   292  func (*BigqueryMapping) Descriptor() ([]byte, []int) {
   293  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{0}
   294  }
   295  
   296  func (x *BigqueryMapping) GetTimestampColumn() string {
   297  	if x != nil {
   298  		return x.TimestampColumn
   299  	}
   300  	return ""
   301  }
   302  
   303  func (x *BigqueryMapping) GetGroupIdColumn() string {
   304  	if x != nil {
   305  		return x.GroupIdColumn
   306  	}
   307  	return ""
   308  }
   309  
   310  func (x *BigqueryMapping) GetDimensionColumn() []string {
   311  	if x != nil {
   312  		return x.DimensionColumn
   313  	}
   314  	return nil
   315  }
   316  
   317  // A data source consists of multiple [Event][google.cloud.timeseriesinsights.v1.Event] objects stored on
   318  // Cloud Storage.  Each Event should be in JSON format, with one Event
   319  // per line, also known as JSON Lines format.
   320  type DataSource struct {
   321  	state         protoimpl.MessageState
   322  	sizeCache     protoimpl.SizeCache
   323  	unknownFields protoimpl.UnknownFields
   324  
   325  	// Data source URI.
   326  	//
   327  	// 1) Google Cloud Storage files (JSON) are defined in the following form.
   328  	// `gs://bucket_name/object_name`. For more information on Cloud Storage URIs,
   329  	// please see https://cloud.google.com/storage/docs/reference-uris.
   330  	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
   331  	// For BigQuery inputs defines the columns that should be used for dimensions
   332  	// (including time and group ID).
   333  	BqMapping *BigqueryMapping `protobuf:"bytes,2,opt,name=bq_mapping,json=bqMapping,proto3" json:"bq_mapping,omitempty"`
   334  }
   335  
   336  func (x *DataSource) Reset() {
   337  	*x = DataSource{}
   338  	if protoimpl.UnsafeEnabled {
   339  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[1]
   340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   341  		ms.StoreMessageInfo(mi)
   342  	}
   343  }
   344  
   345  func (x *DataSource) String() string {
   346  	return protoimpl.X.MessageStringOf(x)
   347  }
   348  
   349  func (*DataSource) ProtoMessage() {}
   350  
   351  func (x *DataSource) ProtoReflect() protoreflect.Message {
   352  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[1]
   353  	if protoimpl.UnsafeEnabled && x != nil {
   354  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   355  		if ms.LoadMessageInfo() == nil {
   356  			ms.StoreMessageInfo(mi)
   357  		}
   358  		return ms
   359  	}
   360  	return mi.MessageOf(x)
   361  }
   362  
   363  // Deprecated: Use DataSource.ProtoReflect.Descriptor instead.
   364  func (*DataSource) Descriptor() ([]byte, []int) {
   365  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{1}
   366  }
   367  
   368  func (x *DataSource) GetUri() string {
   369  	if x != nil {
   370  		return x.Uri
   371  	}
   372  	return ""
   373  }
   374  
   375  func (x *DataSource) GetBqMapping() *BigqueryMapping {
   376  	if x != nil {
   377  		return x.BqMapping
   378  	}
   379  	return nil
   380  }
   381  
   382  // A collection of data sources sent for processing.
   383  type DataSet struct {
   384  	state         protoimpl.MessageState
   385  	sizeCache     protoimpl.SizeCache
   386  	unknownFields protoimpl.UnknownFields
   387  
   388  	// The dataset name, which will be used for querying, status and unload
   389  	// requests. This must be unique within a project.
   390  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   391  	// [Data dimension names][google.cloud.timeseriesinsights.v1.EventDimension.name] allowed for this `DataSet`.
   392  	//
   393  	// If left empty, all dimension names are included. This field works as a
   394  	// filter to avoid regenerating the data.
   395  	DataNames []string `protobuf:"bytes,2,rep,name=data_names,json=dataNames,proto3" json:"data_names,omitempty"`
   396  	// Input data.
   397  	DataSources []*DataSource `protobuf:"bytes,3,rep,name=data_sources,json=dataSources,proto3" json:"data_sources,omitempty"`
   398  	// Dataset state in the system.
   399  	State DataSet_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.timeseriesinsights.v1.DataSet_State" json:"state,omitempty"`
   400  	// Dataset processing status.
   401  	Status *status.Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
   402  	// Periodically we discard dataset [Event][google.cloud.timeseriesinsights.v1.Event] objects that have
   403  	// timestamps older than 'ttl'.  Omitting this field or a zero value means no
   404  	// events are discarded.
   405  	Ttl *durationpb.Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
   406  }
   407  
   408  func (x *DataSet) Reset() {
   409  	*x = DataSet{}
   410  	if protoimpl.UnsafeEnabled {
   411  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[2]
   412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   413  		ms.StoreMessageInfo(mi)
   414  	}
   415  }
   416  
   417  func (x *DataSet) String() string {
   418  	return protoimpl.X.MessageStringOf(x)
   419  }
   420  
   421  func (*DataSet) ProtoMessage() {}
   422  
   423  func (x *DataSet) ProtoReflect() protoreflect.Message {
   424  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[2]
   425  	if protoimpl.UnsafeEnabled && x != nil {
   426  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   427  		if ms.LoadMessageInfo() == nil {
   428  			ms.StoreMessageInfo(mi)
   429  		}
   430  		return ms
   431  	}
   432  	return mi.MessageOf(x)
   433  }
   434  
   435  // Deprecated: Use DataSet.ProtoReflect.Descriptor instead.
   436  func (*DataSet) Descriptor() ([]byte, []int) {
   437  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{2}
   438  }
   439  
   440  func (x *DataSet) GetName() string {
   441  	if x != nil {
   442  		return x.Name
   443  	}
   444  	return ""
   445  }
   446  
   447  func (x *DataSet) GetDataNames() []string {
   448  	if x != nil {
   449  		return x.DataNames
   450  	}
   451  	return nil
   452  }
   453  
   454  func (x *DataSet) GetDataSources() []*DataSource {
   455  	if x != nil {
   456  		return x.DataSources
   457  	}
   458  	return nil
   459  }
   460  
   461  func (x *DataSet) GetState() DataSet_State {
   462  	if x != nil {
   463  		return x.State
   464  	}
   465  	return DataSet_STATE_UNSPECIFIED
   466  }
   467  
   468  func (x *DataSet) GetStatus() *status.Status {
   469  	if x != nil {
   470  		return x.Status
   471  	}
   472  	return nil
   473  }
   474  
   475  func (x *DataSet) GetTtl() *durationpb.Duration {
   476  	if x != nil {
   477  		return x.Ttl
   478  	}
   479  	return nil
   480  }
   481  
   482  // Represents an event dimension.
   483  type EventDimension struct {
   484  	state         protoimpl.MessageState
   485  	sizeCache     protoimpl.SizeCache
   486  	unknownFields protoimpl.UnknownFields
   487  
   488  	// Dimension name.
   489  	//
   490  	// **NOTE**: `EventDimension` names must be composed of alphanumeric
   491  	// characters only, and are case insensitive. Unicode characters are *not*
   492  	// supported. The underscore '_' is also allowed.
   493  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   494  	// Dimension value.
   495  	//
   496  	// **NOTE**: All entries of the dimension `name` must have the same `value`
   497  	// type.
   498  	//
   499  	// Types that are assignable to Value:
   500  	//
   501  	//	*EventDimension_StringVal
   502  	//	*EventDimension_LongVal
   503  	//	*EventDimension_BoolVal
   504  	//	*EventDimension_DoubleVal
   505  	Value isEventDimension_Value `protobuf_oneof:"value"`
   506  }
   507  
   508  func (x *EventDimension) Reset() {
   509  	*x = EventDimension{}
   510  	if protoimpl.UnsafeEnabled {
   511  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[3]
   512  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   513  		ms.StoreMessageInfo(mi)
   514  	}
   515  }
   516  
   517  func (x *EventDimension) String() string {
   518  	return protoimpl.X.MessageStringOf(x)
   519  }
   520  
   521  func (*EventDimension) ProtoMessage() {}
   522  
   523  func (x *EventDimension) ProtoReflect() protoreflect.Message {
   524  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[3]
   525  	if protoimpl.UnsafeEnabled && x != nil {
   526  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   527  		if ms.LoadMessageInfo() == nil {
   528  			ms.StoreMessageInfo(mi)
   529  		}
   530  		return ms
   531  	}
   532  	return mi.MessageOf(x)
   533  }
   534  
   535  // Deprecated: Use EventDimension.ProtoReflect.Descriptor instead.
   536  func (*EventDimension) Descriptor() ([]byte, []int) {
   537  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{3}
   538  }
   539  
   540  func (x *EventDimension) GetName() string {
   541  	if x != nil {
   542  		return x.Name
   543  	}
   544  	return ""
   545  }
   546  
   547  func (m *EventDimension) GetValue() isEventDimension_Value {
   548  	if m != nil {
   549  		return m.Value
   550  	}
   551  	return nil
   552  }
   553  
   554  func (x *EventDimension) GetStringVal() string {
   555  	if x, ok := x.GetValue().(*EventDimension_StringVal); ok {
   556  		return x.StringVal
   557  	}
   558  	return ""
   559  }
   560  
   561  func (x *EventDimension) GetLongVal() int64 {
   562  	if x, ok := x.GetValue().(*EventDimension_LongVal); ok {
   563  		return x.LongVal
   564  	}
   565  	return 0
   566  }
   567  
   568  func (x *EventDimension) GetBoolVal() bool {
   569  	if x, ok := x.GetValue().(*EventDimension_BoolVal); ok {
   570  		return x.BoolVal
   571  	}
   572  	return false
   573  }
   574  
   575  func (x *EventDimension) GetDoubleVal() float64 {
   576  	if x, ok := x.GetValue().(*EventDimension_DoubleVal); ok {
   577  		return x.DoubleVal
   578  	}
   579  	return 0
   580  }
   581  
   582  type isEventDimension_Value interface {
   583  	isEventDimension_Value()
   584  }
   585  
   586  type EventDimension_StringVal struct {
   587  	// String representation.
   588  	//
   589  	// **NOTE**: String values are case insensitive. Unicode characters are
   590  	// supported.
   591  	StringVal string `protobuf:"bytes,2,opt,name=string_val,json=stringVal,proto3,oneof"`
   592  }
   593  
   594  type EventDimension_LongVal struct {
   595  	// Long representation.
   596  	LongVal int64 `protobuf:"varint,3,opt,name=long_val,json=longVal,proto3,oneof"`
   597  }
   598  
   599  type EventDimension_BoolVal struct {
   600  	// Bool representation.
   601  	BoolVal bool `protobuf:"varint,4,opt,name=bool_val,json=boolVal,proto3,oneof"`
   602  }
   603  
   604  type EventDimension_DoubleVal struct {
   605  	// Double representation.
   606  	DoubleVal float64 `protobuf:"fixed64,5,opt,name=double_val,json=doubleVal,proto3,oneof"`
   607  }
   608  
   609  func (*EventDimension_StringVal) isEventDimension_Value() {}
   610  
   611  func (*EventDimension_LongVal) isEventDimension_Value() {}
   612  
   613  func (*EventDimension_BoolVal) isEventDimension_Value() {}
   614  
   615  func (*EventDimension_DoubleVal) isEventDimension_Value() {}
   616  
   617  // Represents an entry in a data source.
   618  //
   619  // Each Event has:
   620  //
   621  //   - A timestamp at which the event occurs.
   622  //   - One or multiple dimensions.
   623  //   - Optionally, a group ID that allows clients to group logically related
   624  //     events (for example, all events representing payments transactions done by
   625  //     a user in a day have the same group ID).  If a group ID is not provided, an
   626  //     internal one will be generated based on the content and `eventTime`.
   627  //
   628  // **NOTE**:
   629  //
   630  //   - Internally, we discretize time in equal-sized chunks and we assume an
   631  //     event has a 0
   632  //     [TimeseriesPoint.value][google.cloud.timeseriesinsights.v1.TimeseriesPoint.value]
   633  //     in a chunk that does not contain any occurrences of an event in the input.
   634  //   - The number of Events with the same group ID should be limited.
   635  //   - Group ID *cannot* be queried.
   636  //   - Group ID does *not* correspond to a user ID or the like. If a user ID is of
   637  //     interest to be queried, use a user ID `dimension` instead.
   638  type Event struct {
   639  	state         protoimpl.MessageState
   640  	sizeCache     protoimpl.SizeCache
   641  	unknownFields protoimpl.UnknownFields
   642  
   643  	// Event dimensions.
   644  	Dimensions []*EventDimension `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
   645  	// Event group ID.
   646  	//
   647  	// **NOTE**: JSON encoding should use a string to hold a 64-bit integer value,
   648  	// because a native JSON number holds only 53 binary bits for an integer.
   649  	GroupId int64 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
   650  	// Event timestamp.
   651  	EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`
   652  }
   653  
   654  func (x *Event) Reset() {
   655  	*x = Event{}
   656  	if protoimpl.UnsafeEnabled {
   657  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[4]
   658  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   659  		ms.StoreMessageInfo(mi)
   660  	}
   661  }
   662  
   663  func (x *Event) String() string {
   664  	return protoimpl.X.MessageStringOf(x)
   665  }
   666  
   667  func (*Event) ProtoMessage() {}
   668  
   669  func (x *Event) ProtoReflect() protoreflect.Message {
   670  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[4]
   671  	if protoimpl.UnsafeEnabled && x != nil {
   672  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   673  		if ms.LoadMessageInfo() == nil {
   674  			ms.StoreMessageInfo(mi)
   675  		}
   676  		return ms
   677  	}
   678  	return mi.MessageOf(x)
   679  }
   680  
   681  // Deprecated: Use Event.ProtoReflect.Descriptor instead.
   682  func (*Event) Descriptor() ([]byte, []int) {
   683  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{4}
   684  }
   685  
   686  func (x *Event) GetDimensions() []*EventDimension {
   687  	if x != nil {
   688  		return x.Dimensions
   689  	}
   690  	return nil
   691  }
   692  
   693  func (x *Event) GetGroupId() int64 {
   694  	if x != nil {
   695  		return x.GroupId
   696  	}
   697  	return 0
   698  }
   699  
   700  func (x *Event) GetEventTime() *timestamppb.Timestamp {
   701  	if x != nil {
   702  		return x.EventTime
   703  	}
   704  	return nil
   705  }
   706  
   707  // Appends events to an existing DataSet.
   708  type AppendEventsRequest struct {
   709  	state         protoimpl.MessageState
   710  	sizeCache     protoimpl.SizeCache
   711  	unknownFields protoimpl.UnknownFields
   712  
   713  	// Events to be appended.
   714  	//
   715  	// Note:
   716  	//
   717  	//  0. The [DataSet][google.cloud.timeseriesinsights.v1.DataSet] must be shown in a `LOADED` state
   718  	//     in the results of `list` method; otherwise, all events from
   719  	//     the append request will be dropped, and a `NOT_FOUND` status will be
   720  	//     returned.
   721  	//  0. All events in a single request must have the same
   722  	//     [groupId][google.cloud.timeseriesinsights.v1.Event.group_id] if set; otherwise, an
   723  	//     `INVALID_ARGUMENT` status will be returned.
   724  	//  0. If [groupId][google.cloud.timeseriesinsights.v1.Event.group_id] is not set (or 0), there
   725  	//     should be only 1 event; otherwise, an `INVALID_ARGUMENT` status will be
   726  	//     returned.
   727  	//  0. The events must be newer than the current time minus
   728  	//     [DataSet TTL][google.cloud.timeseriesinsights.v1.DataSet.ttl] or they will be dropped.
   729  	Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
   730  	// Required. The DataSet to which we want to append to in the format of
   731  	// "projects/{project}/datasets/{dataset}"
   732  	Dataset string `protobuf:"bytes,2,opt,name=dataset,proto3" json:"dataset,omitempty"`
   733  }
   734  
   735  func (x *AppendEventsRequest) Reset() {
   736  	*x = AppendEventsRequest{}
   737  	if protoimpl.UnsafeEnabled {
   738  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[5]
   739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   740  		ms.StoreMessageInfo(mi)
   741  	}
   742  }
   743  
   744  func (x *AppendEventsRequest) String() string {
   745  	return protoimpl.X.MessageStringOf(x)
   746  }
   747  
   748  func (*AppendEventsRequest) ProtoMessage() {}
   749  
   750  func (x *AppendEventsRequest) ProtoReflect() protoreflect.Message {
   751  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[5]
   752  	if protoimpl.UnsafeEnabled && x != nil {
   753  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   754  		if ms.LoadMessageInfo() == nil {
   755  			ms.StoreMessageInfo(mi)
   756  		}
   757  		return ms
   758  	}
   759  	return mi.MessageOf(x)
   760  }
   761  
   762  // Deprecated: Use AppendEventsRequest.ProtoReflect.Descriptor instead.
   763  func (*AppendEventsRequest) Descriptor() ([]byte, []int) {
   764  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{5}
   765  }
   766  
   767  func (x *AppendEventsRequest) GetEvents() []*Event {
   768  	if x != nil {
   769  		return x.Events
   770  	}
   771  	return nil
   772  }
   773  
   774  func (x *AppendEventsRequest) GetDataset() string {
   775  	if x != nil {
   776  		return x.Dataset
   777  	}
   778  	return ""
   779  }
   780  
   781  // Response for an AppendEvents RPC.
   782  type AppendEventsResponse struct {
   783  	state         protoimpl.MessageState
   784  	sizeCache     protoimpl.SizeCache
   785  	unknownFields protoimpl.UnknownFields
   786  
   787  	// Dropped events; empty if all events are successfully added.
   788  	DroppedEvents []*Event `protobuf:"bytes,1,rep,name=dropped_events,json=droppedEvents,proto3" json:"dropped_events,omitempty"`
   789  }
   790  
   791  func (x *AppendEventsResponse) Reset() {
   792  	*x = AppendEventsResponse{}
   793  	if protoimpl.UnsafeEnabled {
   794  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[6]
   795  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   796  		ms.StoreMessageInfo(mi)
   797  	}
   798  }
   799  
   800  func (x *AppendEventsResponse) String() string {
   801  	return protoimpl.X.MessageStringOf(x)
   802  }
   803  
   804  func (*AppendEventsResponse) ProtoMessage() {}
   805  
   806  func (x *AppendEventsResponse) ProtoReflect() protoreflect.Message {
   807  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[6]
   808  	if protoimpl.UnsafeEnabled && x != nil {
   809  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   810  		if ms.LoadMessageInfo() == nil {
   811  			ms.StoreMessageInfo(mi)
   812  		}
   813  		return ms
   814  	}
   815  	return mi.MessageOf(x)
   816  }
   817  
   818  // Deprecated: Use AppendEventsResponse.ProtoReflect.Descriptor instead.
   819  func (*AppendEventsResponse) Descriptor() ([]byte, []int) {
   820  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{6}
   821  }
   822  
   823  func (x *AppendEventsResponse) GetDroppedEvents() []*Event {
   824  	if x != nil {
   825  		return x.DroppedEvents
   826  	}
   827  	return nil
   828  }
   829  
   830  // Create a DataSet request.
   831  type CreateDataSetRequest struct {
   832  	state         protoimpl.MessageState
   833  	sizeCache     protoimpl.SizeCache
   834  	unknownFields protoimpl.UnknownFields
   835  
   836  	// Required. Client project name which will own this DataSet in the format of
   837  	// 'projects/{project}'.
   838  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   839  	// Required. Dataset to be loaded.
   840  	Dataset *DataSet `protobuf:"bytes,2,opt,name=dataset,proto3" json:"dataset,omitempty"`
   841  }
   842  
   843  func (x *CreateDataSetRequest) Reset() {
   844  	*x = CreateDataSetRequest{}
   845  	if protoimpl.UnsafeEnabled {
   846  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[7]
   847  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   848  		ms.StoreMessageInfo(mi)
   849  	}
   850  }
   851  
   852  func (x *CreateDataSetRequest) String() string {
   853  	return protoimpl.X.MessageStringOf(x)
   854  }
   855  
   856  func (*CreateDataSetRequest) ProtoMessage() {}
   857  
   858  func (x *CreateDataSetRequest) ProtoReflect() protoreflect.Message {
   859  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[7]
   860  	if protoimpl.UnsafeEnabled && x != nil {
   861  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   862  		if ms.LoadMessageInfo() == nil {
   863  			ms.StoreMessageInfo(mi)
   864  		}
   865  		return ms
   866  	}
   867  	return mi.MessageOf(x)
   868  }
   869  
   870  // Deprecated: Use CreateDataSetRequest.ProtoReflect.Descriptor instead.
   871  func (*CreateDataSetRequest) Descriptor() ([]byte, []int) {
   872  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{7}
   873  }
   874  
   875  func (x *CreateDataSetRequest) GetParent() string {
   876  	if x != nil {
   877  		return x.Parent
   878  	}
   879  	return ""
   880  }
   881  
   882  func (x *CreateDataSetRequest) GetDataset() *DataSet {
   883  	if x != nil {
   884  		return x.Dataset
   885  	}
   886  	return nil
   887  }
   888  
   889  // Unload DataSet request from the serving system.
   890  type DeleteDataSetRequest struct {
   891  	state         protoimpl.MessageState
   892  	sizeCache     protoimpl.SizeCache
   893  	unknownFields protoimpl.UnknownFields
   894  
   895  	// Required. Dataset name in the format of "projects/{project}/datasets/{dataset}"
   896  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   897  }
   898  
   899  func (x *DeleteDataSetRequest) Reset() {
   900  	*x = DeleteDataSetRequest{}
   901  	if protoimpl.UnsafeEnabled {
   902  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[8]
   903  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   904  		ms.StoreMessageInfo(mi)
   905  	}
   906  }
   907  
   908  func (x *DeleteDataSetRequest) String() string {
   909  	return protoimpl.X.MessageStringOf(x)
   910  }
   911  
   912  func (*DeleteDataSetRequest) ProtoMessage() {}
   913  
   914  func (x *DeleteDataSetRequest) ProtoReflect() protoreflect.Message {
   915  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[8]
   916  	if protoimpl.UnsafeEnabled && x != nil {
   917  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   918  		if ms.LoadMessageInfo() == nil {
   919  			ms.StoreMessageInfo(mi)
   920  		}
   921  		return ms
   922  	}
   923  	return mi.MessageOf(x)
   924  }
   925  
   926  // Deprecated: Use DeleteDataSetRequest.ProtoReflect.Descriptor instead.
   927  func (*DeleteDataSetRequest) Descriptor() ([]byte, []int) {
   928  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{8}
   929  }
   930  
   931  func (x *DeleteDataSetRequest) GetName() string {
   932  	if x != nil {
   933  		return x.Name
   934  	}
   935  	return ""
   936  }
   937  
   938  // List the DataSets created by the current project.
   939  type ListDataSetsRequest struct {
   940  	state         protoimpl.MessageState
   941  	sizeCache     protoimpl.SizeCache
   942  	unknownFields protoimpl.UnknownFields
   943  
   944  	// Required. Project owning the DataSet in the format of "projects/{project}".
   945  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   946  	// Number of results to return in the list.
   947  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   948  	// Token to provide to skip to a particular spot in the list.
   949  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   950  }
   951  
   952  func (x *ListDataSetsRequest) Reset() {
   953  	*x = ListDataSetsRequest{}
   954  	if protoimpl.UnsafeEnabled {
   955  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[9]
   956  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   957  		ms.StoreMessageInfo(mi)
   958  	}
   959  }
   960  
   961  func (x *ListDataSetsRequest) String() string {
   962  	return protoimpl.X.MessageStringOf(x)
   963  }
   964  
   965  func (*ListDataSetsRequest) ProtoMessage() {}
   966  
   967  func (x *ListDataSetsRequest) ProtoReflect() protoreflect.Message {
   968  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[9]
   969  	if protoimpl.UnsafeEnabled && x != nil {
   970  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   971  		if ms.LoadMessageInfo() == nil {
   972  			ms.StoreMessageInfo(mi)
   973  		}
   974  		return ms
   975  	}
   976  	return mi.MessageOf(x)
   977  }
   978  
   979  // Deprecated: Use ListDataSetsRequest.ProtoReflect.Descriptor instead.
   980  func (*ListDataSetsRequest) Descriptor() ([]byte, []int) {
   981  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{9}
   982  }
   983  
   984  func (x *ListDataSetsRequest) GetParent() string {
   985  	if x != nil {
   986  		return x.Parent
   987  	}
   988  	return ""
   989  }
   990  
   991  func (x *ListDataSetsRequest) GetPageSize() int32 {
   992  	if x != nil {
   993  		return x.PageSize
   994  	}
   995  	return 0
   996  }
   997  
   998  func (x *ListDataSetsRequest) GetPageToken() string {
   999  	if x != nil {
  1000  		return x.PageToken
  1001  	}
  1002  	return ""
  1003  }
  1004  
  1005  // Created DataSets list response.
  1006  type ListDataSetsResponse struct {
  1007  	state         protoimpl.MessageState
  1008  	sizeCache     protoimpl.SizeCache
  1009  	unknownFields protoimpl.UnknownFields
  1010  
  1011  	// The list of created DataSets.
  1012  	Datasets []*DataSet `protobuf:"bytes,1,rep,name=datasets,proto3" json:"datasets,omitempty"`
  1013  	// Token to receive the next page of results.
  1014  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1015  }
  1016  
  1017  func (x *ListDataSetsResponse) Reset() {
  1018  	*x = ListDataSetsResponse{}
  1019  	if protoimpl.UnsafeEnabled {
  1020  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[10]
  1021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1022  		ms.StoreMessageInfo(mi)
  1023  	}
  1024  }
  1025  
  1026  func (x *ListDataSetsResponse) String() string {
  1027  	return protoimpl.X.MessageStringOf(x)
  1028  }
  1029  
  1030  func (*ListDataSetsResponse) ProtoMessage() {}
  1031  
  1032  func (x *ListDataSetsResponse) ProtoReflect() protoreflect.Message {
  1033  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[10]
  1034  	if protoimpl.UnsafeEnabled && x != nil {
  1035  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1036  		if ms.LoadMessageInfo() == nil {
  1037  			ms.StoreMessageInfo(mi)
  1038  		}
  1039  		return ms
  1040  	}
  1041  	return mi.MessageOf(x)
  1042  }
  1043  
  1044  // Deprecated: Use ListDataSetsResponse.ProtoReflect.Descriptor instead.
  1045  func (*ListDataSetsResponse) Descriptor() ([]byte, []int) {
  1046  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{10}
  1047  }
  1048  
  1049  func (x *ListDataSetsResponse) GetDatasets() []*DataSet {
  1050  	if x != nil {
  1051  		return x.Datasets
  1052  	}
  1053  	return nil
  1054  }
  1055  
  1056  func (x *ListDataSetsResponse) GetNextPageToken() string {
  1057  	if x != nil {
  1058  		return x.NextPageToken
  1059  	}
  1060  	return ""
  1061  }
  1062  
  1063  // A categorical dimension fixed to a certain value.
  1064  type PinnedDimension struct {
  1065  	state         protoimpl.MessageState
  1066  	sizeCache     protoimpl.SizeCache
  1067  	unknownFields protoimpl.UnknownFields
  1068  
  1069  	// The name of the dimension for which we are fixing its value.
  1070  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1071  	// Dimension value.
  1072  	//
  1073  	// **NOTE**: The `value` type must match that in the data with the same
  1074  	// `dimension` as name.
  1075  	//
  1076  	// Types that are assignable to Value:
  1077  	//
  1078  	//	*PinnedDimension_StringVal
  1079  	//	*PinnedDimension_BoolVal
  1080  	Value isPinnedDimension_Value `protobuf_oneof:"value"`
  1081  }
  1082  
  1083  func (x *PinnedDimension) Reset() {
  1084  	*x = PinnedDimension{}
  1085  	if protoimpl.UnsafeEnabled {
  1086  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[11]
  1087  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1088  		ms.StoreMessageInfo(mi)
  1089  	}
  1090  }
  1091  
  1092  func (x *PinnedDimension) String() string {
  1093  	return protoimpl.X.MessageStringOf(x)
  1094  }
  1095  
  1096  func (*PinnedDimension) ProtoMessage() {}
  1097  
  1098  func (x *PinnedDimension) ProtoReflect() protoreflect.Message {
  1099  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[11]
  1100  	if protoimpl.UnsafeEnabled && x != nil {
  1101  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1102  		if ms.LoadMessageInfo() == nil {
  1103  			ms.StoreMessageInfo(mi)
  1104  		}
  1105  		return ms
  1106  	}
  1107  	return mi.MessageOf(x)
  1108  }
  1109  
  1110  // Deprecated: Use PinnedDimension.ProtoReflect.Descriptor instead.
  1111  func (*PinnedDimension) Descriptor() ([]byte, []int) {
  1112  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{11}
  1113  }
  1114  
  1115  func (x *PinnedDimension) GetName() string {
  1116  	if x != nil {
  1117  		return x.Name
  1118  	}
  1119  	return ""
  1120  }
  1121  
  1122  func (m *PinnedDimension) GetValue() isPinnedDimension_Value {
  1123  	if m != nil {
  1124  		return m.Value
  1125  	}
  1126  	return nil
  1127  }
  1128  
  1129  func (x *PinnedDimension) GetStringVal() string {
  1130  	if x, ok := x.GetValue().(*PinnedDimension_StringVal); ok {
  1131  		return x.StringVal
  1132  	}
  1133  	return ""
  1134  }
  1135  
  1136  func (x *PinnedDimension) GetBoolVal() bool {
  1137  	if x, ok := x.GetValue().(*PinnedDimension_BoolVal); ok {
  1138  		return x.BoolVal
  1139  	}
  1140  	return false
  1141  }
  1142  
  1143  type isPinnedDimension_Value interface {
  1144  	isPinnedDimension_Value()
  1145  }
  1146  
  1147  type PinnedDimension_StringVal struct {
  1148  	// A string value. This can be used for [dimensions][google.cloud.timeseriesinsights.v1.EventDimension], which
  1149  	// have their value field set to [string_val][google.cloud.timeseriesinsights.v1.EventDimension.string_val].
  1150  	StringVal string `protobuf:"bytes,2,opt,name=string_val,json=stringVal,proto3,oneof"`
  1151  }
  1152  
  1153  type PinnedDimension_BoolVal struct {
  1154  	// A bool value. This can be used for [dimensions][google.cloud.timeseriesinsights.v1.EventDimension], which
  1155  	// have their value field set to [bool_val][google.cloud.timeseriesinsights.v1.EventDimension.bool_val].
  1156  	BoolVal bool `protobuf:"varint,3,opt,name=bool_val,json=boolVal,proto3,oneof"`
  1157  }
  1158  
  1159  func (*PinnedDimension_StringVal) isPinnedDimension_Value() {}
  1160  
  1161  func (*PinnedDimension_BoolVal) isPinnedDimension_Value() {}
  1162  
  1163  // Parameters that control the sensitivity and other options for the time series
  1164  // forecast.
  1165  type ForecastParams struct {
  1166  	state         protoimpl.MessageState
  1167  	sizeCache     protoimpl.SizeCache
  1168  	unknownFields protoimpl.UnknownFields
  1169  
  1170  	// Optional. Penalize variations between the actual and forecasted values smaller than
  1171  	// this. For more information about how this parameter affects the score, see
  1172  	// the [anomalyScore](EvaluatedSlice.anomaly_score) formula.
  1173  	//
  1174  	// Intuitively, anomaly scores summarize how statistically significant the
  1175  	// change between the actual and forecasted value is compared with what we
  1176  	// expect the change to be (see
  1177  	// [expectedDeviation](EvaluatedSlice.expected_deviation)). However, in
  1178  	// practice, depending on the application, changes smaller than certain
  1179  	// absolute values, while statistically significant, may not be important.
  1180  	//
  1181  	// This parameter allows us to penalize such low absolute value changes.
  1182  	//
  1183  	// Must be in the (0.0, inf) range.
  1184  	//
  1185  	// If unspecified, it defaults to 0.000001.
  1186  	NoiseThreshold *float64 `protobuf:"fixed64,12,opt,name=noise_threshold,json=noiseThreshold,proto3,oneof" json:"noise_threshold,omitempty"`
  1187  	// Optional. Specifying any known seasonality/periodicity in the time series
  1188  	// for the slices we will analyze can improve the quality of the results.
  1189  	//
  1190  	// If unsure, simply leave it unspecified by not setting a value for this
  1191  	// field.
  1192  	//
  1193  	// If your time series has multiple seasonal patterns, then set it to the most
  1194  	// granular one (e.g. if it has daily and weekly patterns, set this to DAILY).
  1195  	SeasonalityHint ForecastParams_Period `protobuf:"varint,10,opt,name=seasonality_hint,json=seasonalityHint,proto3,enum=google.cloud.timeseriesinsights.v1.ForecastParams_Period" json:"seasonality_hint,omitempty"`
  1196  	// Optional. The length of the returned [forecasted
  1197  	// timeseries][EvaluatedSlice.forecast].
  1198  	//
  1199  	// This duration is currently capped at 100 x
  1200  	// [granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity].
  1201  	//
  1202  	// Example: If the detection point is set to "2020-12-27T00:00:00Z", the
  1203  	// [granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity] to "3600s" and the
  1204  	// horizon_duration to "10800s", then we will generate 3 time
  1205  	// series points (from "2020-12-27T01:00:00Z" to "2020-12-27T04:00:00Z"), for
  1206  	// which we will return their forecasted values.
  1207  	//
  1208  	// Note: The horizon time is only used for forecasting not for anormaly
  1209  	// detection. To detect anomalies for multiple points of time,
  1210  	// simply send multiple queries with those as
  1211  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time].
  1212  	HorizonDuration *durationpb.Duration `protobuf:"bytes,13,opt,name=horizon_duration,json=horizonDuration,proto3" json:"horizon_duration,omitempty"`
  1213  }
  1214  
  1215  func (x *ForecastParams) Reset() {
  1216  	*x = ForecastParams{}
  1217  	if protoimpl.UnsafeEnabled {
  1218  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[12]
  1219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1220  		ms.StoreMessageInfo(mi)
  1221  	}
  1222  }
  1223  
  1224  func (x *ForecastParams) String() string {
  1225  	return protoimpl.X.MessageStringOf(x)
  1226  }
  1227  
  1228  func (*ForecastParams) ProtoMessage() {}
  1229  
  1230  func (x *ForecastParams) ProtoReflect() protoreflect.Message {
  1231  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[12]
  1232  	if protoimpl.UnsafeEnabled && x != nil {
  1233  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1234  		if ms.LoadMessageInfo() == nil {
  1235  			ms.StoreMessageInfo(mi)
  1236  		}
  1237  		return ms
  1238  	}
  1239  	return mi.MessageOf(x)
  1240  }
  1241  
  1242  // Deprecated: Use ForecastParams.ProtoReflect.Descriptor instead.
  1243  func (*ForecastParams) Descriptor() ([]byte, []int) {
  1244  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{12}
  1245  }
  1246  
  1247  func (x *ForecastParams) GetNoiseThreshold() float64 {
  1248  	if x != nil && x.NoiseThreshold != nil {
  1249  		return *x.NoiseThreshold
  1250  	}
  1251  	return 0
  1252  }
  1253  
  1254  func (x *ForecastParams) GetSeasonalityHint() ForecastParams_Period {
  1255  	if x != nil {
  1256  		return x.SeasonalityHint
  1257  	}
  1258  	return ForecastParams_PERIOD_UNSPECIFIED
  1259  }
  1260  
  1261  func (x *ForecastParams) GetHorizonDuration() *durationpb.Duration {
  1262  	if x != nil {
  1263  		return x.HorizonDuration
  1264  	}
  1265  	return nil
  1266  }
  1267  
  1268  // A point in a time series.
  1269  type TimeseriesPoint struct {
  1270  	state         protoimpl.MessageState
  1271  	sizeCache     protoimpl.SizeCache
  1272  	unknownFields protoimpl.UnknownFields
  1273  
  1274  	// The timestamp of this point.
  1275  	Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  1276  	// The value for this point.
  1277  	//
  1278  	// It is computed by aggregating all events in the associated slice that are
  1279  	// in the `[time, time + granularity]` range (see
  1280  	// [granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity]) using the specified
  1281  	// [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric].
  1282  	Value *float64 `protobuf:"fixed64,2,opt,name=value,proto3,oneof" json:"value,omitempty"`
  1283  }
  1284  
  1285  func (x *TimeseriesPoint) Reset() {
  1286  	*x = TimeseriesPoint{}
  1287  	if protoimpl.UnsafeEnabled {
  1288  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[13]
  1289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1290  		ms.StoreMessageInfo(mi)
  1291  	}
  1292  }
  1293  
  1294  func (x *TimeseriesPoint) String() string {
  1295  	return protoimpl.X.MessageStringOf(x)
  1296  }
  1297  
  1298  func (*TimeseriesPoint) ProtoMessage() {}
  1299  
  1300  func (x *TimeseriesPoint) ProtoReflect() protoreflect.Message {
  1301  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[13]
  1302  	if protoimpl.UnsafeEnabled && x != nil {
  1303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1304  		if ms.LoadMessageInfo() == nil {
  1305  			ms.StoreMessageInfo(mi)
  1306  		}
  1307  		return ms
  1308  	}
  1309  	return mi.MessageOf(x)
  1310  }
  1311  
  1312  // Deprecated: Use TimeseriesPoint.ProtoReflect.Descriptor instead.
  1313  func (*TimeseriesPoint) Descriptor() ([]byte, []int) {
  1314  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{13}
  1315  }
  1316  
  1317  func (x *TimeseriesPoint) GetTime() *timestamppb.Timestamp {
  1318  	if x != nil {
  1319  		return x.Time
  1320  	}
  1321  	return nil
  1322  }
  1323  
  1324  func (x *TimeseriesPoint) GetValue() float64 {
  1325  	if x != nil && x.Value != nil {
  1326  		return *x.Value
  1327  	}
  1328  	return 0
  1329  }
  1330  
  1331  // A time series.
  1332  type Timeseries struct {
  1333  	state         protoimpl.MessageState
  1334  	sizeCache     protoimpl.SizeCache
  1335  	unknownFields protoimpl.UnknownFields
  1336  
  1337  	// The points in this time series, ordered by their timestamp.
  1338  	Point []*TimeseriesPoint `protobuf:"bytes,1,rep,name=point,proto3" json:"point,omitempty"`
  1339  }
  1340  
  1341  func (x *Timeseries) Reset() {
  1342  	*x = Timeseries{}
  1343  	if protoimpl.UnsafeEnabled {
  1344  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[14]
  1345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1346  		ms.StoreMessageInfo(mi)
  1347  	}
  1348  }
  1349  
  1350  func (x *Timeseries) String() string {
  1351  	return protoimpl.X.MessageStringOf(x)
  1352  }
  1353  
  1354  func (*Timeseries) ProtoMessage() {}
  1355  
  1356  func (x *Timeseries) ProtoReflect() protoreflect.Message {
  1357  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[14]
  1358  	if protoimpl.UnsafeEnabled && x != nil {
  1359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1360  		if ms.LoadMessageInfo() == nil {
  1361  			ms.StoreMessageInfo(mi)
  1362  		}
  1363  		return ms
  1364  	}
  1365  	return mi.MessageOf(x)
  1366  }
  1367  
  1368  // Deprecated: Use Timeseries.ProtoReflect.Descriptor instead.
  1369  func (*Timeseries) Descriptor() ([]byte, []int) {
  1370  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{14}
  1371  }
  1372  
  1373  func (x *Timeseries) GetPoint() []*TimeseriesPoint {
  1374  	if x != nil {
  1375  		return x.Point
  1376  	}
  1377  	return nil
  1378  }
  1379  
  1380  // Forecast result for a given slice.
  1381  type EvaluatedSlice struct {
  1382  	state         protoimpl.MessageState
  1383  	sizeCache     protoimpl.SizeCache
  1384  	unknownFields protoimpl.UnknownFields
  1385  
  1386  	// Values for all categorical dimensions that uniquely identify this slice.
  1387  	Dimensions []*PinnedDimension `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  1388  	// The actual value at the detection time (see
  1389  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time]).
  1390  	//
  1391  	// **NOTE**: This value can be an estimate, so it should not be used as a
  1392  	// source of truth.
  1393  	DetectionPointActual *float64 `protobuf:"fixed64,11,opt,name=detection_point_actual,json=detectionPointActual,proto3,oneof" json:"detection_point_actual,omitempty"`
  1394  	// The expected value at the detection time, which is obtained by forecasting
  1395  	// on the historical time series.
  1396  	DetectionPointForecast *float64 `protobuf:"fixed64,12,opt,name=detection_point_forecast,json=detectionPointForecast,proto3,oneof" json:"detection_point_forecast,omitempty"`
  1397  	// How much our forecast model expects the detection point actual will
  1398  	// deviate from its forecasted value based on how well it fit the input time
  1399  	// series.
  1400  	//
  1401  	// In general, we expect the `detectionPointActual` to
  1402  	// be in the `[detectionPointForecast - expectedDeviation,
  1403  	// detectionPointForecast + expectedDeviation]` range. The more the actual
  1404  	// value is outside this range, the more statistically significant the
  1405  	// anomaly is.
  1406  	//
  1407  	// The expected deviation is always positive.
  1408  	ExpectedDeviation *float64 `protobuf:"fixed64,16,opt,name=expected_deviation,json=expectedDeviation,proto3,oneof" json:"expected_deviation,omitempty"`
  1409  	// Summarizes how significant the change between the actual and forecasted
  1410  	// detection points are compared with the historical patterns observed on the
  1411  	// [history][google.cloud.timeseriesinsights.v1.EvaluatedSlice.history] time series.
  1412  	//
  1413  	// Defined as *|a - f| / (e + nt)*, where:
  1414  	//
  1415  	// - *a* is the [detectionPointActual][google.cloud.timeseriesinsights.v1.EvaluatedSlice.detection_point_actual].
  1416  	// - *f* is the [detectionPointForecast][google.cloud.timeseriesinsights.v1.EvaluatedSlice.detection_point_forecast].
  1417  	// - *e* is the [expectedDeviation][google.cloud.timeseriesinsights.v1.EvaluatedSlice.expected_deviation].
  1418  	// - *nt` is the [noiseThreshold][google.cloud.timeseriesinsights.v1.ForecastParams.noise_threshold].
  1419  	//
  1420  	// Anomaly scores between different requests and datasets are comparable. As
  1421  	// a guideline, the risk of a slice being an anomaly based on the anomaly
  1422  	// score is:
  1423  	//
  1424  	// - **Very High** if `anomalyScore` > 5.
  1425  	// - **High** if the `anomalyScore` is in the [2, 5] range.
  1426  	// - **Medium** if the `anomalyScore` is in the [1, 2) range.
  1427  	// - **Low** if the `anomalyScore` is < 1.
  1428  	//
  1429  	// If there were issues evaluating this slice, then the anomaly score will be
  1430  	// set to -1.0 and the [status][google.cloud.timeseriesinsights.v1.EvaluatedSlice.status] field will contain details on what
  1431  	// went wrong.
  1432  	AnomalyScore *float64 `protobuf:"fixed64,17,opt,name=anomaly_score,json=anomalyScore,proto3,oneof" json:"anomaly_score,omitempty"`
  1433  	// The actual values in the `[`
  1434  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time] `-`
  1435  	// [forecastHistory][google.cloud.timeseriesinsights.v1.TimeseriesParams.forecast_history]`,`
  1436  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time] `]` time
  1437  	// range.
  1438  	//
  1439  	// **NOTE**: This field is only populated if
  1440  	// [returnTimeseries][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.return_timeseries] is true.
  1441  	History *Timeseries `protobuf:"bytes,5,opt,name=history,proto3" json:"history,omitempty"`
  1442  	// The forecasted values in the `[`
  1443  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time] `+`
  1444  	// [granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity]`,`
  1445  	// [forecastParams.horizonTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.forecast_params] `]` time
  1446  	// range.
  1447  	//
  1448  	// **NOTE**: This field is only populated if
  1449  	// [returnTimeseries][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.return_timeseries] is true.
  1450  	Forecast *Timeseries `protobuf:"bytes,10,opt,name=forecast,proto3" json:"forecast,omitempty"`
  1451  	// Evaluation status. Contains an error message if the `anomalyScore` is < 0.
  1452  	//
  1453  	// Possible error messages:
  1454  	//
  1455  	// - **"Time series too sparse"**: The returned time series for this slice did
  1456  	// not contain enough data points (we require a minimum of 10).
  1457  	// - **"Not enough recent time series points"**: The time series contains the
  1458  	// minimum of 10 points, but there are not enough close in time to the
  1459  	// detection point.
  1460  	// - **"Missing detection point data"**: There were not events to be
  1461  	// aggregated within the `[detectionTime, detectionTime + granularity]` time
  1462  	// interval, so we don't have an actual value with which we can compare our
  1463  	// prediction.
  1464  	// - **"Data retrieval error"**: We failed to retrieve the time series data
  1465  	// for this slice and could not evaluate it successfully. Should be a
  1466  	// transient error.
  1467  	// - **"Internal server error"**: Internal unexpected error.
  1468  	Status *status.Status `protobuf:"bytes,18,opt,name=status,proto3" json:"status,omitempty"`
  1469  }
  1470  
  1471  func (x *EvaluatedSlice) Reset() {
  1472  	*x = EvaluatedSlice{}
  1473  	if protoimpl.UnsafeEnabled {
  1474  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[15]
  1475  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1476  		ms.StoreMessageInfo(mi)
  1477  	}
  1478  }
  1479  
  1480  func (x *EvaluatedSlice) String() string {
  1481  	return protoimpl.X.MessageStringOf(x)
  1482  }
  1483  
  1484  func (*EvaluatedSlice) ProtoMessage() {}
  1485  
  1486  func (x *EvaluatedSlice) ProtoReflect() protoreflect.Message {
  1487  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[15]
  1488  	if protoimpl.UnsafeEnabled && x != nil {
  1489  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1490  		if ms.LoadMessageInfo() == nil {
  1491  			ms.StoreMessageInfo(mi)
  1492  		}
  1493  		return ms
  1494  	}
  1495  	return mi.MessageOf(x)
  1496  }
  1497  
  1498  // Deprecated: Use EvaluatedSlice.ProtoReflect.Descriptor instead.
  1499  func (*EvaluatedSlice) Descriptor() ([]byte, []int) {
  1500  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{15}
  1501  }
  1502  
  1503  func (x *EvaluatedSlice) GetDimensions() []*PinnedDimension {
  1504  	if x != nil {
  1505  		return x.Dimensions
  1506  	}
  1507  	return nil
  1508  }
  1509  
  1510  func (x *EvaluatedSlice) GetDetectionPointActual() float64 {
  1511  	if x != nil && x.DetectionPointActual != nil {
  1512  		return *x.DetectionPointActual
  1513  	}
  1514  	return 0
  1515  }
  1516  
  1517  func (x *EvaluatedSlice) GetDetectionPointForecast() float64 {
  1518  	if x != nil && x.DetectionPointForecast != nil {
  1519  		return *x.DetectionPointForecast
  1520  	}
  1521  	return 0
  1522  }
  1523  
  1524  func (x *EvaluatedSlice) GetExpectedDeviation() float64 {
  1525  	if x != nil && x.ExpectedDeviation != nil {
  1526  		return *x.ExpectedDeviation
  1527  	}
  1528  	return 0
  1529  }
  1530  
  1531  func (x *EvaluatedSlice) GetAnomalyScore() float64 {
  1532  	if x != nil && x.AnomalyScore != nil {
  1533  		return *x.AnomalyScore
  1534  	}
  1535  	return 0
  1536  }
  1537  
  1538  func (x *EvaluatedSlice) GetHistory() *Timeseries {
  1539  	if x != nil {
  1540  		return x.History
  1541  	}
  1542  	return nil
  1543  }
  1544  
  1545  func (x *EvaluatedSlice) GetForecast() *Timeseries {
  1546  	if x != nil {
  1547  		return x.Forecast
  1548  	}
  1549  	return nil
  1550  }
  1551  
  1552  func (x *EvaluatedSlice) GetStatus() *status.Status {
  1553  	if x != nil {
  1554  		return x.Status
  1555  	}
  1556  	return nil
  1557  }
  1558  
  1559  // Parameters that control how we slice the dataset and, optionally, filter
  1560  // slices that have some specific values on some dimensions (pinned dimensions).
  1561  type SlicingParams struct {
  1562  	state         protoimpl.MessageState
  1563  	sizeCache     protoimpl.SizeCache
  1564  	unknownFields protoimpl.UnknownFields
  1565  
  1566  	// Required. Dimensions over which we will group the events in slices. The names
  1567  	// specified here come from the
  1568  	// [EventDimension.name][google.cloud.timeseriesinsights.v1.EventDimension.name] field. At least
  1569  	// one dimension name must be specified. All dimension names that do not exist
  1570  	// in the queried `DataSet` will be ignored.
  1571  	//
  1572  	// Currently only dimensions that hold string values can be specified here.
  1573  	DimensionNames []string `protobuf:"bytes,1,rep,name=dimension_names,json=dimensionNames,proto3" json:"dimension_names,omitempty"`
  1574  	// Optional. We will only analyze slices for which
  1575  	// [EvaluatedSlice.dimensions][google.cloud.timeseriesinsights.v1.EvaluatedSlice.dimensions] contain all of the
  1576  	// following pinned dimensions. A query with a pinned dimension `{ name: "d3"
  1577  	// stringVal: "v3" }` will only analyze events which contain the dimension `{
  1578  	// name: "d3" stringVal: "v3" }`.
  1579  	// The [pinnedDimensions][google.cloud.timeseriesinsights.v1.SlicingParams.pinned_dimensions] and
  1580  	// [dimensionNames][google.cloud.timeseriesinsights.v1.SlicingParams.dimension_names] fields can **not**
  1581  	// share the same dimension names.
  1582  	//
  1583  	// Example a valid specification:
  1584  	//
  1585  	// ```json
  1586  	//
  1587  	//	{
  1588  	//	  dimensionNames: ["d1", "d2"],
  1589  	//	  pinnedDimensions: [
  1590  	//	    { name: "d3" stringVal: "v3" },
  1591  	//	    { name: "d4" stringVal: "v4" }
  1592  	//	  ]
  1593  	//	}
  1594  	//
  1595  	// ```
  1596  	//
  1597  	// In the previous example we will slice the dataset by dimensions "d1",
  1598  	// "d2", "d3" and "d4", but we will only analyze slices for which "d3=v3" and
  1599  	// "d4=v4".
  1600  	//
  1601  	// The following example is **invalid** as "d2" is present in both
  1602  	// dimensionNames and pinnedDimensions:
  1603  	//
  1604  	// ```json
  1605  	//
  1606  	//	{
  1607  	//	  dimensionNames: ["d1", "d2"],
  1608  	//	  pinnedDimensions: [
  1609  	//	    { name: "d2" stringVal: "v2" },
  1610  	//	    { name: "d4" stringVal: "v4" }
  1611  	//	  ]
  1612  	//	}
  1613  	//
  1614  	// ```
  1615  	PinnedDimensions []*PinnedDimension `protobuf:"bytes,2,rep,name=pinned_dimensions,json=pinnedDimensions,proto3" json:"pinned_dimensions,omitempty"`
  1616  }
  1617  
  1618  func (x *SlicingParams) Reset() {
  1619  	*x = SlicingParams{}
  1620  	if protoimpl.UnsafeEnabled {
  1621  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[16]
  1622  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1623  		ms.StoreMessageInfo(mi)
  1624  	}
  1625  }
  1626  
  1627  func (x *SlicingParams) String() string {
  1628  	return protoimpl.X.MessageStringOf(x)
  1629  }
  1630  
  1631  func (*SlicingParams) ProtoMessage() {}
  1632  
  1633  func (x *SlicingParams) ProtoReflect() protoreflect.Message {
  1634  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[16]
  1635  	if protoimpl.UnsafeEnabled && x != nil {
  1636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1637  		if ms.LoadMessageInfo() == nil {
  1638  			ms.StoreMessageInfo(mi)
  1639  		}
  1640  		return ms
  1641  	}
  1642  	return mi.MessageOf(x)
  1643  }
  1644  
  1645  // Deprecated: Use SlicingParams.ProtoReflect.Descriptor instead.
  1646  func (*SlicingParams) Descriptor() ([]byte, []int) {
  1647  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{16}
  1648  }
  1649  
  1650  func (x *SlicingParams) GetDimensionNames() []string {
  1651  	if x != nil {
  1652  		return x.DimensionNames
  1653  	}
  1654  	return nil
  1655  }
  1656  
  1657  func (x *SlicingParams) GetPinnedDimensions() []*PinnedDimension {
  1658  	if x != nil {
  1659  		return x.PinnedDimensions
  1660  	}
  1661  	return nil
  1662  }
  1663  
  1664  // Parameters that control how we construct the time series for each slice.
  1665  type TimeseriesParams struct {
  1666  	state         protoimpl.MessageState
  1667  	sizeCache     protoimpl.SizeCache
  1668  	unknownFields protoimpl.UnknownFields
  1669  
  1670  	// Required. How long should we go in the past when fetching the timeline used for
  1671  	// forecasting each slice.
  1672  	//
  1673  	// This is used in combination with the
  1674  	// [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time] parameter.
  1675  	// The time series we construct will have the following time range:
  1676  	// `[detectionTime - forecastHistory, detectionTime + granularity]`.
  1677  	//
  1678  	// The forecast history might be rounded up, so that a multiple of
  1679  	// `granularity` is used to process the query.
  1680  	//
  1681  	// Note: If there are not enough events in the
  1682  	// `[detectionTime - forecastHistory, detectionTime + granularity]` time
  1683  	// interval, the slice evaluation can fail. For more information, see
  1684  	// [EvaluatedSlice.status][google.cloud.timeseriesinsights.v1.EvaluatedSlice.status].
  1685  	ForecastHistory *durationpb.Duration `protobuf:"bytes,1,opt,name=forecast_history,json=forecastHistory,proto3" json:"forecast_history,omitempty"`
  1686  	// Required. The time granularity of the time series (on the x-axis). Each time series
  1687  	// point starting at time T will aggregate all events for a particular slice
  1688  	// in *[T, T + granularity)* time windows.
  1689  	//
  1690  	// Note: The aggregation is decided based on the
  1691  	// [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric] parameter.
  1692  	//
  1693  	// This granularity defines the query-time aggregation windows and is not
  1694  	// necessarily related to any event time granularity in the raw data (though
  1695  	// we do recommend that the query-time granularity is not finer than the
  1696  	// ingestion-time one).
  1697  	//
  1698  	// Currently, the minimal supported granularity is 10 seconds.
  1699  	Granularity *durationpb.Duration `protobuf:"bytes,2,opt,name=granularity,proto3" json:"granularity,omitempty"`
  1700  	// Optional. Denotes the [name][google.cloud.timeseriesinsights.v1.EventDimension.name] of a numerical
  1701  	// dimension that will have its values aggregated to compute the y-axis of the
  1702  	// time series.
  1703  	//
  1704  	// The aggregation method must also be specified by setting the
  1705  	// [metricAggregationMethod][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric_aggregation_method]
  1706  	// field.
  1707  	//
  1708  	// Note: Currently, if the aggregation method is unspecified, we will
  1709  	// default to SUM for backward compatibility reasons, but new implementations
  1710  	// should set the
  1711  	// [metricAggregationMethod][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric_aggregation_method]
  1712  	// explicitly.
  1713  	//
  1714  	// If the metric is unspecified, we will use the number of events that each
  1715  	// time series point contains as the point value.
  1716  	//
  1717  	// Example: Let's assume we have the following three events in our dataset:
  1718  	// ```json
  1719  	//
  1720  	//	{
  1721  	//	  eventTime: "2020-12-27T00:00:00Z",
  1722  	//	  dimensions: [
  1723  	//	    { name: "d1" stringVal: "v1" },
  1724  	//	    { name: "d2" stringVal: "v2" }
  1725  	//	    { name: "m1" longVal: 100 }
  1726  	//	    { name: "m2" longVal: 11 }
  1727  	//	  ]
  1728  	//	},
  1729  	//
  1730  	//	{
  1731  	//	  eventTime: "2020-12-27T00:10:00Z",
  1732  	//	  dimensions: [
  1733  	//	    { name: "d1" stringVal: "v1" },
  1734  	//	    { name: "d2" stringVal: "v2" }
  1735  	//	    { name: "m1" longVal: 200 }
  1736  	//	    { name: "m2" longVal: 22 }
  1737  	//	  ]
  1738  	//	},
  1739  	//
  1740  	//	{
  1741  	//	  eventTime: "2020-12-27T00:20:00Z",
  1742  	//	  dimensions: [
  1743  	//	    { name: "d1" stringVal: "v1" },
  1744  	//	    { name: "d2" stringVal: "v2" }
  1745  	//	    { name: "m1" longVal: 300 }
  1746  	//	    { name: "m2" longVal: 33 }
  1747  	//	  ]
  1748  	//	}
  1749  	//
  1750  	// ```
  1751  	//
  1752  	// These events are all within the same hour, spaced 10 minutes between each
  1753  	// of them. Assuming our [QueryDataSetRequest][google.cloud.timeseriesinsights.v1.QueryDataSetRequest] had set
  1754  	// [slicingParams.dimensionNames][google.cloud.timeseriesinsights.v1.SlicingParams.dimension_names] to ["d1",
  1755  	// "d2"] and [timeseries_params.granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity] to
  1756  	// "3600s", then all the previous events will be aggregated into the same
  1757  	// [timeseries point][google.cloud.timeseriesinsights.v1.TimeseriesPoint].
  1758  	//
  1759  	// The time series point that they're all part of will have the
  1760  	// [time][google.cloud.timeseriesinsights.v1.TimeseriesPoint.time] set to "2020-12-27T00:00:00Z" and the
  1761  	// [value][google.cloud.timeseriesinsights.v1.TimeseriesPoint.value] populated based on this metric field:
  1762  	//
  1763  	// - If the metric is set to "m1" and metric_aggregation_method to SUM, then
  1764  	// the value of the point will be 600.
  1765  	// - If the metric is set to "m2" and metric_aggregation_method to SUM, then
  1766  	// the value of the point will be 66.
  1767  	// - If the metric is set to "m1" and metric_aggregation_method to AVERAGE,
  1768  	// then the value of the point will be 200.
  1769  	// - If the metric is set to "m2" and metric_aggregation_method to AVERAGE,
  1770  	// then the value of the point will be 22.
  1771  	// - If the metric field is "" or unspecified, then the value of the point
  1772  	// will be 3, as we will simply count the events.
  1773  	Metric *string `protobuf:"bytes,4,opt,name=metric,proto3,oneof" json:"metric,omitempty"`
  1774  	// Optional. Together with the [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric] field, specifies how
  1775  	// we will aggregate multiple events to obtain the value of a time series
  1776  	// point. See the [metric][google.cloud.timeseriesinsights.v1.TimeseriesParams.metric] documentation for more
  1777  	// details.
  1778  	//
  1779  	// If the metric is not specified or "", then this field will be ignored.
  1780  	MetricAggregationMethod TimeseriesParams_AggregationMethod `protobuf:"varint,5,opt,name=metric_aggregation_method,json=metricAggregationMethod,proto3,enum=google.cloud.timeseriesinsights.v1.TimeseriesParams_AggregationMethod" json:"metric_aggregation_method,omitempty"`
  1781  }
  1782  
  1783  func (x *TimeseriesParams) Reset() {
  1784  	*x = TimeseriesParams{}
  1785  	if protoimpl.UnsafeEnabled {
  1786  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[17]
  1787  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1788  		ms.StoreMessageInfo(mi)
  1789  	}
  1790  }
  1791  
  1792  func (x *TimeseriesParams) String() string {
  1793  	return protoimpl.X.MessageStringOf(x)
  1794  }
  1795  
  1796  func (*TimeseriesParams) ProtoMessage() {}
  1797  
  1798  func (x *TimeseriesParams) ProtoReflect() protoreflect.Message {
  1799  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[17]
  1800  	if protoimpl.UnsafeEnabled && x != nil {
  1801  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1802  		if ms.LoadMessageInfo() == nil {
  1803  			ms.StoreMessageInfo(mi)
  1804  		}
  1805  		return ms
  1806  	}
  1807  	return mi.MessageOf(x)
  1808  }
  1809  
  1810  // Deprecated: Use TimeseriesParams.ProtoReflect.Descriptor instead.
  1811  func (*TimeseriesParams) Descriptor() ([]byte, []int) {
  1812  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{17}
  1813  }
  1814  
  1815  func (x *TimeseriesParams) GetForecastHistory() *durationpb.Duration {
  1816  	if x != nil {
  1817  		return x.ForecastHistory
  1818  	}
  1819  	return nil
  1820  }
  1821  
  1822  func (x *TimeseriesParams) GetGranularity() *durationpb.Duration {
  1823  	if x != nil {
  1824  		return x.Granularity
  1825  	}
  1826  	return nil
  1827  }
  1828  
  1829  func (x *TimeseriesParams) GetMetric() string {
  1830  	if x != nil && x.Metric != nil {
  1831  		return *x.Metric
  1832  	}
  1833  	return ""
  1834  }
  1835  
  1836  func (x *TimeseriesParams) GetMetricAggregationMethod() TimeseriesParams_AggregationMethod {
  1837  	if x != nil {
  1838  		return x.MetricAggregationMethod
  1839  	}
  1840  	return TimeseriesParams_AGGREGATION_METHOD_UNSPECIFIED
  1841  }
  1842  
  1843  // Request for performing a query against a loaded DataSet.
  1844  type QueryDataSetRequest struct {
  1845  	state         protoimpl.MessageState
  1846  	sizeCache     protoimpl.SizeCache
  1847  	unknownFields protoimpl.UnknownFields
  1848  
  1849  	// Required. Loaded DataSet to be queried in the format of
  1850  	// "projects/{project}/datasets/{dataset}"
  1851  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1852  	// Required. This is the point in time that we want to probe for anomalies.
  1853  	//
  1854  	// The corresponding [TimeseriesPoint][google.cloud.timeseriesinsights.v1.TimeseriesPoint] is referred to as the
  1855  	// detection point.
  1856  	//
  1857  	// **NOTE**: As with any other time series point, the value is given by
  1858  	// aggregating all events in the slice that are in the
  1859  	// [detectionTime, detectionTime + granularity) time interval, where
  1860  	// the granularity is specified in the
  1861  	// [timeseriesParams.granularity][google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity] field.
  1862  	DetectionTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=detection_time,json=detectionTime,proto3" json:"detection_time,omitempty"`
  1863  	// How many slices are returned in
  1864  	// [QueryDataSetResponse.slices][google.cloud.timeseriesinsights.v1.QueryDataSetResponse.slices].
  1865  	//
  1866  	// The returned slices are tentatively the ones with the highest
  1867  	// [anomaly scores][google.cloud.timeseriesinsights.v1.EvaluatedSlice.anomaly_score] in the dataset that match
  1868  	// the query, but it is not guaranteed.
  1869  	//
  1870  	// Reducing this number will improve query performance, both in terms of
  1871  	// latency and resource usage.
  1872  	//
  1873  	// Defaults to 50.
  1874  	NumReturnedSlices *int32 `protobuf:"varint,13,opt,name=num_returned_slices,json=numReturnedSlices,proto3,oneof" json:"num_returned_slices,omitempty"`
  1875  	// Parameters controlling how we will split the dataset into the slices that
  1876  	// we will analyze.
  1877  	SlicingParams *SlicingParams `protobuf:"bytes,9,opt,name=slicing_params,json=slicingParams,proto3" json:"slicing_params,omitempty"`
  1878  	// Parameters controlling how we will build the time series used to predict
  1879  	// the [detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time] value for each slice.
  1880  	TimeseriesParams *TimeseriesParams `protobuf:"bytes,10,opt,name=timeseries_params,json=timeseriesParams,proto3" json:"timeseries_params,omitempty"`
  1881  	// Parameters that control the time series forecasting models, such as the
  1882  	// sensitivity of the anomaly detection.
  1883  	ForecastParams *ForecastParams `protobuf:"bytes,5,opt,name=forecast_params,json=forecastParams,proto3" json:"forecast_params,omitempty"`
  1884  	// If specified, we will return the actual and forecasted time for all
  1885  	// returned slices.
  1886  	//
  1887  	// The time series are returned in the
  1888  	// [EvaluatedSlice.history][google.cloud.timeseriesinsights.v1.EvaluatedSlice.history] and
  1889  	// [EvaluatedSlice.forecast][google.cloud.timeseriesinsights.v1.EvaluatedSlice.forecast] fields.
  1890  	ReturnTimeseries bool `protobuf:"varint,8,opt,name=return_timeseries,json=returnTimeseries,proto3" json:"return_timeseries,omitempty"`
  1891  }
  1892  
  1893  func (x *QueryDataSetRequest) Reset() {
  1894  	*x = QueryDataSetRequest{}
  1895  	if protoimpl.UnsafeEnabled {
  1896  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[18]
  1897  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1898  		ms.StoreMessageInfo(mi)
  1899  	}
  1900  }
  1901  
  1902  func (x *QueryDataSetRequest) String() string {
  1903  	return protoimpl.X.MessageStringOf(x)
  1904  }
  1905  
  1906  func (*QueryDataSetRequest) ProtoMessage() {}
  1907  
  1908  func (x *QueryDataSetRequest) ProtoReflect() protoreflect.Message {
  1909  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[18]
  1910  	if protoimpl.UnsafeEnabled && x != nil {
  1911  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1912  		if ms.LoadMessageInfo() == nil {
  1913  			ms.StoreMessageInfo(mi)
  1914  		}
  1915  		return ms
  1916  	}
  1917  	return mi.MessageOf(x)
  1918  }
  1919  
  1920  // Deprecated: Use QueryDataSetRequest.ProtoReflect.Descriptor instead.
  1921  func (*QueryDataSetRequest) Descriptor() ([]byte, []int) {
  1922  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{18}
  1923  }
  1924  
  1925  func (x *QueryDataSetRequest) GetName() string {
  1926  	if x != nil {
  1927  		return x.Name
  1928  	}
  1929  	return ""
  1930  }
  1931  
  1932  func (x *QueryDataSetRequest) GetDetectionTime() *timestamppb.Timestamp {
  1933  	if x != nil {
  1934  		return x.DetectionTime
  1935  	}
  1936  	return nil
  1937  }
  1938  
  1939  func (x *QueryDataSetRequest) GetNumReturnedSlices() int32 {
  1940  	if x != nil && x.NumReturnedSlices != nil {
  1941  		return *x.NumReturnedSlices
  1942  	}
  1943  	return 0
  1944  }
  1945  
  1946  func (x *QueryDataSetRequest) GetSlicingParams() *SlicingParams {
  1947  	if x != nil {
  1948  		return x.SlicingParams
  1949  	}
  1950  	return nil
  1951  }
  1952  
  1953  func (x *QueryDataSetRequest) GetTimeseriesParams() *TimeseriesParams {
  1954  	if x != nil {
  1955  		return x.TimeseriesParams
  1956  	}
  1957  	return nil
  1958  }
  1959  
  1960  func (x *QueryDataSetRequest) GetForecastParams() *ForecastParams {
  1961  	if x != nil {
  1962  		return x.ForecastParams
  1963  	}
  1964  	return nil
  1965  }
  1966  
  1967  func (x *QueryDataSetRequest) GetReturnTimeseries() bool {
  1968  	if x != nil {
  1969  		return x.ReturnTimeseries
  1970  	}
  1971  	return false
  1972  }
  1973  
  1974  // Response for a query executed by the system.
  1975  type QueryDataSetResponse struct {
  1976  	state         protoimpl.MessageState
  1977  	sizeCache     protoimpl.SizeCache
  1978  	unknownFields protoimpl.UnknownFields
  1979  
  1980  	// Loaded DataSet that was queried.
  1981  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1982  	// Slices sorted in descending order by their
  1983  	// [anomalyScore][google.cloud.timeseriesinsights.v1.EvaluatedSlice.anomaly_score].
  1984  	//
  1985  	// At most [numReturnedSlices][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.num_returned_slices]
  1986  	// slices are present in this field.
  1987  	Slices []*EvaluatedSlice `protobuf:"bytes,3,rep,name=slices,proto3" json:"slices,omitempty"`
  1988  }
  1989  
  1990  func (x *QueryDataSetResponse) Reset() {
  1991  	*x = QueryDataSetResponse{}
  1992  	if protoimpl.UnsafeEnabled {
  1993  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[19]
  1994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1995  		ms.StoreMessageInfo(mi)
  1996  	}
  1997  }
  1998  
  1999  func (x *QueryDataSetResponse) String() string {
  2000  	return protoimpl.X.MessageStringOf(x)
  2001  }
  2002  
  2003  func (*QueryDataSetResponse) ProtoMessage() {}
  2004  
  2005  func (x *QueryDataSetResponse) ProtoReflect() protoreflect.Message {
  2006  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[19]
  2007  	if protoimpl.UnsafeEnabled && x != nil {
  2008  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2009  		if ms.LoadMessageInfo() == nil {
  2010  			ms.StoreMessageInfo(mi)
  2011  		}
  2012  		return ms
  2013  	}
  2014  	return mi.MessageOf(x)
  2015  }
  2016  
  2017  // Deprecated: Use QueryDataSetResponse.ProtoReflect.Descriptor instead.
  2018  func (*QueryDataSetResponse) Descriptor() ([]byte, []int) {
  2019  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{19}
  2020  }
  2021  
  2022  func (x *QueryDataSetResponse) GetName() string {
  2023  	if x != nil {
  2024  		return x.Name
  2025  	}
  2026  	return ""
  2027  }
  2028  
  2029  func (x *QueryDataSetResponse) GetSlices() []*EvaluatedSlice {
  2030  	if x != nil {
  2031  		return x.Slices
  2032  	}
  2033  	return nil
  2034  }
  2035  
  2036  // Request for evaluateSlice.
  2037  type EvaluateSliceRequest struct {
  2038  	state         protoimpl.MessageState
  2039  	sizeCache     protoimpl.SizeCache
  2040  	unknownFields protoimpl.UnknownFields
  2041  
  2042  	// Required. Loaded DataSet to be queried in the format of
  2043  	// "projects/{project}/datasets/{dataset}"
  2044  	Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"`
  2045  	// Required. Dimensions with pinned values that specify the slice for which we will
  2046  	// fetch the time series.
  2047  	PinnedDimensions []*PinnedDimension `protobuf:"bytes,2,rep,name=pinned_dimensions,json=pinnedDimensions,proto3" json:"pinned_dimensions,omitempty"`
  2048  	// Required. This is the point in time that we want to probe for anomalies.
  2049  	//
  2050  	// See documentation for
  2051  	// [QueryDataSetRequest.detectionTime][google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time].
  2052  	DetectionTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=detection_time,json=detectionTime,proto3" json:"detection_time,omitempty"`
  2053  	// Parameters controlling how we will build the time series used to predict
  2054  	// the [detectionTime][google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.detection_time] value for this slice.
  2055  	TimeseriesParams *TimeseriesParams `protobuf:"bytes,4,opt,name=timeseries_params,json=timeseriesParams,proto3" json:"timeseries_params,omitempty"`
  2056  	// Parameters that control the time series forecasting models, such as the
  2057  	// sensitivity of the anomaly detection.
  2058  	ForecastParams *ForecastParams `protobuf:"bytes,5,opt,name=forecast_params,json=forecastParams,proto3" json:"forecast_params,omitempty"`
  2059  }
  2060  
  2061  func (x *EvaluateSliceRequest) Reset() {
  2062  	*x = EvaluateSliceRequest{}
  2063  	if protoimpl.UnsafeEnabled {
  2064  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[20]
  2065  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2066  		ms.StoreMessageInfo(mi)
  2067  	}
  2068  }
  2069  
  2070  func (x *EvaluateSliceRequest) String() string {
  2071  	return protoimpl.X.MessageStringOf(x)
  2072  }
  2073  
  2074  func (*EvaluateSliceRequest) ProtoMessage() {}
  2075  
  2076  func (x *EvaluateSliceRequest) ProtoReflect() protoreflect.Message {
  2077  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[20]
  2078  	if protoimpl.UnsafeEnabled && x != nil {
  2079  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2080  		if ms.LoadMessageInfo() == nil {
  2081  			ms.StoreMessageInfo(mi)
  2082  		}
  2083  		return ms
  2084  	}
  2085  	return mi.MessageOf(x)
  2086  }
  2087  
  2088  // Deprecated: Use EvaluateSliceRequest.ProtoReflect.Descriptor instead.
  2089  func (*EvaluateSliceRequest) Descriptor() ([]byte, []int) {
  2090  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{20}
  2091  }
  2092  
  2093  func (x *EvaluateSliceRequest) GetDataset() string {
  2094  	if x != nil {
  2095  		return x.Dataset
  2096  	}
  2097  	return ""
  2098  }
  2099  
  2100  func (x *EvaluateSliceRequest) GetPinnedDimensions() []*PinnedDimension {
  2101  	if x != nil {
  2102  		return x.PinnedDimensions
  2103  	}
  2104  	return nil
  2105  }
  2106  
  2107  func (x *EvaluateSliceRequest) GetDetectionTime() *timestamppb.Timestamp {
  2108  	if x != nil {
  2109  		return x.DetectionTime
  2110  	}
  2111  	return nil
  2112  }
  2113  
  2114  func (x *EvaluateSliceRequest) GetTimeseriesParams() *TimeseriesParams {
  2115  	if x != nil {
  2116  		return x.TimeseriesParams
  2117  	}
  2118  	return nil
  2119  }
  2120  
  2121  func (x *EvaluateSliceRequest) GetForecastParams() *ForecastParams {
  2122  	if x != nil {
  2123  		return x.ForecastParams
  2124  	}
  2125  	return nil
  2126  }
  2127  
  2128  // Request for evaluateTimeseries.
  2129  type EvaluateTimeseriesRequest struct {
  2130  	state         protoimpl.MessageState
  2131  	sizeCache     protoimpl.SizeCache
  2132  	unknownFields protoimpl.UnknownFields
  2133  
  2134  	// Required. Client project name in the format of 'projects/{project}'.
  2135  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2136  	// Evaluate this time series without requiring it was previously loaded in
  2137  	// a data set.
  2138  	//
  2139  	// The evaluated time series point is the last one, analogous to calling
  2140  	// evaluateSlice or query with
  2141  	// [detectionTime][google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.detection_time] set to
  2142  	// `timeseries.point(timeseries.point_size() - 1).time`.
  2143  	//
  2144  	// The length of the time series must be at least 10.
  2145  	//
  2146  	// All points must have the same time offset relative to the granularity. For
  2147  	// example, if the [granularity][google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest.granularity] is "5s", then the following
  2148  	// point.time sequences are valid:
  2149  	// - "100s", "105s", "120s", "125s" (no offset)
  2150  	// - "102s", "107s", "122s", "127s" (offset is "2s")
  2151  	// However, the following sequence is invalid as it has inconsistent offsets:
  2152  	// - "100s", "105s", "122s", "127s" (offsets are either "0s" or "2s")
  2153  	Timeseries *Timeseries `protobuf:"bytes,2,opt,name=timeseries,proto3" json:"timeseries,omitempty"`
  2154  	// The granularity of the time series (time distance between two consecutive
  2155  	// points).
  2156  	Granularity *durationpb.Duration `protobuf:"bytes,3,opt,name=granularity,proto3" json:"granularity,omitempty"`
  2157  	// The forecast parameters.
  2158  	ForecastParams *ForecastParams `protobuf:"bytes,4,opt,name=forecast_params,json=forecastParams,proto3" json:"forecast_params,omitempty"`
  2159  }
  2160  
  2161  func (x *EvaluateTimeseriesRequest) Reset() {
  2162  	*x = EvaluateTimeseriesRequest{}
  2163  	if protoimpl.UnsafeEnabled {
  2164  		mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[21]
  2165  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2166  		ms.StoreMessageInfo(mi)
  2167  	}
  2168  }
  2169  
  2170  func (x *EvaluateTimeseriesRequest) String() string {
  2171  	return protoimpl.X.MessageStringOf(x)
  2172  }
  2173  
  2174  func (*EvaluateTimeseriesRequest) ProtoMessage() {}
  2175  
  2176  func (x *EvaluateTimeseriesRequest) ProtoReflect() protoreflect.Message {
  2177  	mi := &file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[21]
  2178  	if protoimpl.UnsafeEnabled && x != nil {
  2179  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2180  		if ms.LoadMessageInfo() == nil {
  2181  			ms.StoreMessageInfo(mi)
  2182  		}
  2183  		return ms
  2184  	}
  2185  	return mi.MessageOf(x)
  2186  }
  2187  
  2188  // Deprecated: Use EvaluateTimeseriesRequest.ProtoReflect.Descriptor instead.
  2189  func (*EvaluateTimeseriesRequest) Descriptor() ([]byte, []int) {
  2190  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP(), []int{21}
  2191  }
  2192  
  2193  func (x *EvaluateTimeseriesRequest) GetParent() string {
  2194  	if x != nil {
  2195  		return x.Parent
  2196  	}
  2197  	return ""
  2198  }
  2199  
  2200  func (x *EvaluateTimeseriesRequest) GetTimeseries() *Timeseries {
  2201  	if x != nil {
  2202  		return x.Timeseries
  2203  	}
  2204  	return nil
  2205  }
  2206  
  2207  func (x *EvaluateTimeseriesRequest) GetGranularity() *durationpb.Duration {
  2208  	if x != nil {
  2209  		return x.Granularity
  2210  	}
  2211  	return nil
  2212  }
  2213  
  2214  func (x *EvaluateTimeseriesRequest) GetForecastParams() *ForecastParams {
  2215  	if x != nil {
  2216  		return x.ForecastParams
  2217  	}
  2218  	return nil
  2219  }
  2220  
  2221  var File_google_cloud_timeseriesinsights_v1_timeseries_insights_proto protoreflect.FileDescriptor
  2222  
  2223  var file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDesc = []byte{
  2224  	0x0a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
  2225  	0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74,
  2226  	0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f,
  2227  	0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22,
  2228  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d,
  2229  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e,
  2230  	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
  2231  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2232  	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
  2233  	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2234  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
  2235  	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
  2236  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
  2237  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  2238  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  2239  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  2240  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
  2241  	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2242  	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
  2243  	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f,
  2244  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a,
  2245  	0x0f, 0x42, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
  2246  	0x12, 0x29, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f,
  2247  	0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65,
  2248  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x67,
  2249  	0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02,
  2250  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x43, 0x6f, 0x6c,
  2251  	0x75, 0x6d, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  2252  	0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64,
  2253  	0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x72,
  2254  	0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03,
  2255  	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x52,
  2256  	0x0a, 0x0a, 0x62, 0x71, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01,
  2257  	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2258  	0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69,
  2259  	0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
  2260  	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x62, 0x71, 0x4d, 0x61, 0x70, 0x70, 0x69,
  2261  	0x6e, 0x67, 0x22, 0xc2, 0x04, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x12,
  2262  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
  2263  	0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
  2264  	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65,
  2265  	0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  2266  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2267  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65,
  2268  	0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74,
  2269  	0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
  2270  	0x72, 0x63, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
  2271  	0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2272  	0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2273  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74,
  2274  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a,
  2275  	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  2276  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
  2277  	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x03, 0x74, 0x74, 0x6c,
  2278  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2279  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2280  	0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x22, 0x7a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  2281  	0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  2282  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
  2283  	0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02,
  2284  	0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a,
  2285  	0x06, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x4c,
  2286  	0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x4f,
  2287  	0x41, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
  2288  	0x10, 0x07, 0x3a, 0x92, 0x01, 0xea, 0x41, 0x8e, 0x01, 0x0a, 0x29, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2289  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f,
  2290  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74,
  2291  	0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  2292  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
  2293  	0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x12, 0x3a, 0x70, 0x72, 0x6f,
  2294  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
  2295  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  2296  	0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64,
  2297  	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e,
  2298  	0x74, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
  2299  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
  2300  	0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
  2301  	0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12,
  2302  	0x1b, 0x0a, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
  2303  	0x03, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08,
  2304  	0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
  2305  	0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x6f, 0x75,
  2306  	0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52,
  2307  	0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61,
  2308  	0x6c, 0x75, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a,
  2309  	0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  2310  	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2311  	0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67,
  2312  	0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x6d, 0x65,
  2313  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  2314  	0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
  2315  	0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a,
  2316  	0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2317  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2318  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x76,
  2319  	0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x65,
  2320  	0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  2321  	0x41, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2322  	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
  2323  	0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74,
  2324  	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e,
  2325  	0x74, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
  2326  	0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x69, 0x6d,
  2327  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e,
  2328  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44,
  2329  	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22,
  2330  	0x68, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52,
  2331  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x70,
  2332  	0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2333  	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
  2334  	0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74,
  2335  	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70,
  2336  	0x70, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x14, 0x43, 0x72,
  2337  	0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  2338  	0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  2339  	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
  2340  	0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
  2341  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2342  	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  2343  	0x4a, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2344  	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2345  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68,
  2346  	0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0,
  2347  	0x41, 0x02, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0x5d, 0x0a, 0x14, 0x44,
  2348  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75,
  2349  	0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2350  	0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2351  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f,
  2352  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74,
  2353  	0x61, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x13, 0x4c,
  2354  	0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  2355  	0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  2356  	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
  2357  	0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
  2358  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2359  	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  2360  	0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
  2361  	0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
  2362  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  2363  	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x14,
  2364  	0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
  2365  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73,
  2366  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2367  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
  2368  	0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61,
  2369  	0x53, 0x65, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a,
  2370  	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
  2371  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
  2372  	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6c, 0x0a, 0x0f, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x44,
  2373  	0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  2374  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a,
  2375  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2376  	0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a,
  2377  	0x08, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48,
  2378  	0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61,
  2379  	0x6c, 0x75, 0x65, 0x22, 0xeb, 0x02, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74,
  2380  	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x0f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f,
  2381  	0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x42,
  2382  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x54, 0x68, 0x72,
  2383  	0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x10, 0x73, 0x65, 0x61,
  2384  	0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20,
  2385  	0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2386  	0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2387  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73,
  2388  	0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0x03,
  2389  	0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79,
  2390  	0x48, 0x69, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x5f,
  2391  	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  2392  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2393  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f,
  2394  	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
  2395  	0x5c, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x52,
  2396  	0x49, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  2397  	0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x09, 0x0a,
  2398  	0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x57, 0x45, 0x45, 0x4b,
  2399  	0x4c, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x4c, 0x59, 0x10,
  2400  	0x03, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x04, 0x42, 0x12, 0x0a,
  2401  	0x10, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
  2402  	0x64, 0x22, 0x66, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50,
  2403  	0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2404  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2405  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04,
  2406  	0x74, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2407  	0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42,
  2408  	0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x57, 0x0a, 0x0a, 0x54, 0x69, 0x6d,
  2409  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  2410  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2411  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
  2412  	0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  2413  	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x69,
  2414  	0x6e, 0x74, 0x22, 0xe0, 0x04, 0x0a, 0x0e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64,
  2415  	0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
  2416  	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2417  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72,
  2418  	0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50,
  2419  	0x69, 0x6e, 0x6e, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
  2420  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x65,
  2421  	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x63,
  2422  	0x74, 0x75, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65,
  2423  	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x75,
  2424  	0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
  2425  	0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73,
  2426  	0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63,
  2427  	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73,
  2428  	0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64,
  2429  	0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01,
  2430  	0x48, 0x02, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69,
  2431  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6d,
  2432  	0x61, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x48,
  2433  	0x03, 0x52, 0x0c, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88,
  2434  	0x01, 0x01, 0x12, 0x48, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20,
  2435  	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2436  	0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2437  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72,
  2438  	0x69, 0x65, 0x73, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x08,
  2439  	0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
  2440  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69,
  2441  	0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73,
  2442  	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x08,
  2443  	0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
  2444  	0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2445  	0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
  2446  	0x61, 0x74, 0x75, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
  2447  	0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x42,
  2448  	0x1b, 0x0a, 0x19, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f,
  2449  	0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x42, 0x15, 0x0a, 0x13,
  2450  	0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74,
  2451  	0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f,
  2452  	0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x0d, 0x53, 0x6c, 0x69, 0x63, 0x69, 0x6e,
  2453  	0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e,
  2454  	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
  2455  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  2456  	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x11, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f,
  2457  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  2458  	0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2459  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68,
  2460  	0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65,
  2461  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x70, 0x69, 0x6e, 0x6e,
  2462  	0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x03, 0x0a,
  2463  	0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2464  	0x73, 0x12, 0x49, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69,
  2465  	0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  2466  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
  2467  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x6f, 0x72,
  2468  	0x65, 0x63, 0x61, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x0b,
  2469  	0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
  2470  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2471  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
  2472  	0x02, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20,
  2473  	0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  2474  	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, 0x01,
  2475  	0x12, 0x87, 0x01, 0x0a, 0x19, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72,
  2476  	0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05,
  2477  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2478  	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e,
  2479  	0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65,
  2480  	0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65,
  2481  	0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41,
  2482  	0x01, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
  2483  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x41, 0x67,
  2484  	0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
  2485  	0x22, 0x0a, 0x1e, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d,
  2486  	0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
  2487  	0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
  2488  	0x41, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65,
  2489  	0x74, 0x72, 0x69, 0x63, 0x22, 0xb8, 0x04, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x61,
  2490  	0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04,
  2491  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa,
  2492  	0x41, 0x2b, 0x0a, 0x29, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e,
  2493  	0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  2494  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e,
  2495  	0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2496  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  2497  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  2498  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x64, 0x65,
  2499  	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x13, 0x6e,
  2500  	0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63,
  2501  	0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x52,
  2502  	0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01,
  2503  	0x12, 0x58, 0x0a, 0x0e, 0x73, 0x6c, 0x69, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61,
  2504  	0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2505  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69,
  2506  	0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c,
  2507  	0x69, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0d, 0x73, 0x6c, 0x69,
  2508  	0x63, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x61, 0x0a, 0x11, 0x74, 0x69,
  2509  	0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
  2510  	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2511  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69,
  2512  	0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  2513  	0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x10, 0x74, 0x69, 0x6d,
  2514  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a,
  2515  	0x0f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
  2516  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2517  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
  2518  	0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x65,
  2519  	0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x65,
  2520  	0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65,
  2521  	0x74, 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
  2522  	0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x69, 0x6d,
  2523  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x75, 0x6d, 0x5f,
  2524  	0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x22,
  2525  	0x76, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52,
  2526  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  2527  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x73,
  2528  	0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
  2529  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2530  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31,
  2531  	0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52,
  2532  	0x06, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x22, 0xd2, 0x03, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c,
  2533  	0x75, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2534  	0x12, 0x4b, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2535  	0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2536  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f,
  2537  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74,
  2538  	0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x65, 0x0a,
  2539  	0x11, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  2540  	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2541  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69,
  2542  	0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69,
  2543  	0x6e, 0x6e, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
  2544  	0x41, 0x02, 0x52, 0x10, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  2545  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
  2546  	0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2547  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2548  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x64,
  2549  	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x11,
  2550  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
  2551  	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2552  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65,
  2553  	0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d,
  2554  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x10, 0x74,
  2555  	0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
  2556  	0x5b, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61,
  2557  	0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2558  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69,
  2559  	0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f,
  2560  	0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x66, 0x6f,
  2561  	0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd2, 0x02, 0x0a,
  2562  	0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72,
  2563  	0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61,
  2564  	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa,
  2565  	0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  2566  	0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  2567  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
  2568  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2569  	0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f,
  2570  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2571  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31,
  2572  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d,
  2573  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75,
  2574  	0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
  2575  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
  2576  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61,
  2577  	0x72, 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74,
  2578  	0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
  2579  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d,
  2580  	0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e,
  2581  	0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2582  	0x73, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2583  	0x73, 0x32, 0xb1, 0x0e, 0x0a, 0x1c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
  2584  	0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
  2585  	0x65, 0x72, 0x12, 0xe4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53,
  2586  	0x65, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2587  	0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2588  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74,
  2589  	0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67,
  2590  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65,
  2591  	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76,
  2592  	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65,
  2593  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x2c,
  2594  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  2595  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2596  	0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x5a, 0x22, 0x12, 0x20,
  2597  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  2598  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73,
  2599  	0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf3, 0x01, 0x0a, 0x0d, 0x43, 0x72,
  2600  	0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f,
  2601  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2602  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31,
  2603  	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65,
  2604  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2605  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69,
  2606  	0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53,
  2607  	0x65, 0x74, 0x22, 0x7b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f,
  2608  	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  2609  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
  2610  	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
  2611  	0x74, 0x5a, 0x2b, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  2612  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74,
  2613  	0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0xda, 0x41,
  2614  	0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12,
  2615  	0xc2, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65,
  2616  	0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2617  	0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67,
  2618  	0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74,
  2619  	0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
  2620  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
  2621  	0x70, 0x74, 0x79, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x2c, 0x2f, 0x76, 0x31,
  2622  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2623  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
  2624  	0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x22, 0x2a, 0x20, 0x2f, 0x76, 0x31,
  2625  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2626  	0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04,
  2627  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x93, 0x02, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x45,
  2628  	0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2629  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69,
  2630  	0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e,
  2631  	0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38,
  2632  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69,
  2633  	0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73,
  2634  	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73,
  2635  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  2636  	0x78, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x3d,
  2637  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  2638  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f,
  2639  	0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a,
  2640  	0x01, 0x2a, 0x5a, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73,
  2641  	0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
  2642  	0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64,
  2643  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x64, 0x61, 0x74, 0x61,
  2644  	0x73, 0x65, 0x74, 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x0c, 0x51,
  2645  	0x75, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f,
  2646  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2647  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31,
  2648  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71,
  2649  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2650  	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e,
  2651  	0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44,
  2652  	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a,
  2653  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
  2654  	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  2655  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
  2656  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x2b, 0x22,
  2657  	0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2658  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a,
  2659  	0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x80, 0x02, 0x0a, 0x0d, 0x45,
  2660  	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x38, 0x2e, 0x67,
  2661  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65,
  2662  	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76,
  2663  	0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52,
  2664  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2665  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
  2666  	0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c,
  2667  	0x75, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4,
  2668  	0x93, 0x02, 0x7a, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
  2669  	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  2670  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
  2671  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69,
  2672  	0x63, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x36, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61,
  2673  	0x74, 0x61, 0x73, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  2674  	0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x76, 0x61,
  2675  	0x6c, 0x75, 0x61, 0x74, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x8e, 0x02,
  2676  	0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65,
  2677  	0x72, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2678  	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e,
  2679  	0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61,
  2680  	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
  2681  	0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2682  	0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2683  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
  2684  	0x65, 0x64, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x22, 0x84, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e,
  2685  	0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
  2686  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  2687  	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x65,
  2688  	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65,
  2689  	0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
  2690  	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
  2691  	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
  2692  	0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x55,
  2693  	0xca, 0x41, 0x21, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73,
  2694  	0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  2695  	0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
  2696  	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  2697  	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
  2698  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x9c, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
  2699  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2700  	0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31,
  2701  	0x42, 0x17, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x69,
  2702  	0x67, 0x68, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x6f, 0x6f,
  2703  	0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
  2704  	0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  2705  	0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72,
  2706  	0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x74,
  2707  	0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74,
  2708  	0x73, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2709  }
  2710  
  2711  var (
  2712  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescOnce sync.Once
  2713  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescData = file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDesc
  2714  )
  2715  
  2716  func file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescGZIP() []byte {
  2717  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescOnce.Do(func() {
  2718  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescData)
  2719  	})
  2720  	return file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDescData
  2721  }
  2722  
  2723  var file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2724  var file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
  2725  var file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_goTypes = []interface{}{
  2726  	(DataSet_State)(0),                      // 0: google.cloud.timeseriesinsights.v1.DataSet.State
  2727  	(ForecastParams_Period)(0),              // 1: google.cloud.timeseriesinsights.v1.ForecastParams.Period
  2728  	(TimeseriesParams_AggregationMethod)(0), // 2: google.cloud.timeseriesinsights.v1.TimeseriesParams.AggregationMethod
  2729  	(*BigqueryMapping)(nil),                 // 3: google.cloud.timeseriesinsights.v1.BigqueryMapping
  2730  	(*DataSource)(nil),                      // 4: google.cloud.timeseriesinsights.v1.DataSource
  2731  	(*DataSet)(nil),                         // 5: google.cloud.timeseriesinsights.v1.DataSet
  2732  	(*EventDimension)(nil),                  // 6: google.cloud.timeseriesinsights.v1.EventDimension
  2733  	(*Event)(nil),                           // 7: google.cloud.timeseriesinsights.v1.Event
  2734  	(*AppendEventsRequest)(nil),             // 8: google.cloud.timeseriesinsights.v1.AppendEventsRequest
  2735  	(*AppendEventsResponse)(nil),            // 9: google.cloud.timeseriesinsights.v1.AppendEventsResponse
  2736  	(*CreateDataSetRequest)(nil),            // 10: google.cloud.timeseriesinsights.v1.CreateDataSetRequest
  2737  	(*DeleteDataSetRequest)(nil),            // 11: google.cloud.timeseriesinsights.v1.DeleteDataSetRequest
  2738  	(*ListDataSetsRequest)(nil),             // 12: google.cloud.timeseriesinsights.v1.ListDataSetsRequest
  2739  	(*ListDataSetsResponse)(nil),            // 13: google.cloud.timeseriesinsights.v1.ListDataSetsResponse
  2740  	(*PinnedDimension)(nil),                 // 14: google.cloud.timeseriesinsights.v1.PinnedDimension
  2741  	(*ForecastParams)(nil),                  // 15: google.cloud.timeseriesinsights.v1.ForecastParams
  2742  	(*TimeseriesPoint)(nil),                 // 16: google.cloud.timeseriesinsights.v1.TimeseriesPoint
  2743  	(*Timeseries)(nil),                      // 17: google.cloud.timeseriesinsights.v1.Timeseries
  2744  	(*EvaluatedSlice)(nil),                  // 18: google.cloud.timeseriesinsights.v1.EvaluatedSlice
  2745  	(*SlicingParams)(nil),                   // 19: google.cloud.timeseriesinsights.v1.SlicingParams
  2746  	(*TimeseriesParams)(nil),                // 20: google.cloud.timeseriesinsights.v1.TimeseriesParams
  2747  	(*QueryDataSetRequest)(nil),             // 21: google.cloud.timeseriesinsights.v1.QueryDataSetRequest
  2748  	(*QueryDataSetResponse)(nil),            // 22: google.cloud.timeseriesinsights.v1.QueryDataSetResponse
  2749  	(*EvaluateSliceRequest)(nil),            // 23: google.cloud.timeseriesinsights.v1.EvaluateSliceRequest
  2750  	(*EvaluateTimeseriesRequest)(nil),       // 24: google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest
  2751  	(*status.Status)(nil),                   // 25: google.rpc.Status
  2752  	(*durationpb.Duration)(nil),             // 26: google.protobuf.Duration
  2753  	(*timestamppb.Timestamp)(nil),           // 27: google.protobuf.Timestamp
  2754  	(*emptypb.Empty)(nil),                   // 28: google.protobuf.Empty
  2755  }
  2756  var file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_depIdxs = []int32{
  2757  	3,  // 0: google.cloud.timeseriesinsights.v1.DataSource.bq_mapping:type_name -> google.cloud.timeseriesinsights.v1.BigqueryMapping
  2758  	4,  // 1: google.cloud.timeseriesinsights.v1.DataSet.data_sources:type_name -> google.cloud.timeseriesinsights.v1.DataSource
  2759  	0,  // 2: google.cloud.timeseriesinsights.v1.DataSet.state:type_name -> google.cloud.timeseriesinsights.v1.DataSet.State
  2760  	25, // 3: google.cloud.timeseriesinsights.v1.DataSet.status:type_name -> google.rpc.Status
  2761  	26, // 4: google.cloud.timeseriesinsights.v1.DataSet.ttl:type_name -> google.protobuf.Duration
  2762  	6,  // 5: google.cloud.timeseriesinsights.v1.Event.dimensions:type_name -> google.cloud.timeseriesinsights.v1.EventDimension
  2763  	27, // 6: google.cloud.timeseriesinsights.v1.Event.event_time:type_name -> google.protobuf.Timestamp
  2764  	7,  // 7: google.cloud.timeseriesinsights.v1.AppendEventsRequest.events:type_name -> google.cloud.timeseriesinsights.v1.Event
  2765  	7,  // 8: google.cloud.timeseriesinsights.v1.AppendEventsResponse.dropped_events:type_name -> google.cloud.timeseriesinsights.v1.Event
  2766  	5,  // 9: google.cloud.timeseriesinsights.v1.CreateDataSetRequest.dataset:type_name -> google.cloud.timeseriesinsights.v1.DataSet
  2767  	5,  // 10: google.cloud.timeseriesinsights.v1.ListDataSetsResponse.datasets:type_name -> google.cloud.timeseriesinsights.v1.DataSet
  2768  	1,  // 11: google.cloud.timeseriesinsights.v1.ForecastParams.seasonality_hint:type_name -> google.cloud.timeseriesinsights.v1.ForecastParams.Period
  2769  	26, // 12: google.cloud.timeseriesinsights.v1.ForecastParams.horizon_duration:type_name -> google.protobuf.Duration
  2770  	27, // 13: google.cloud.timeseriesinsights.v1.TimeseriesPoint.time:type_name -> google.protobuf.Timestamp
  2771  	16, // 14: google.cloud.timeseriesinsights.v1.Timeseries.point:type_name -> google.cloud.timeseriesinsights.v1.TimeseriesPoint
  2772  	14, // 15: google.cloud.timeseriesinsights.v1.EvaluatedSlice.dimensions:type_name -> google.cloud.timeseriesinsights.v1.PinnedDimension
  2773  	17, // 16: google.cloud.timeseriesinsights.v1.EvaluatedSlice.history:type_name -> google.cloud.timeseriesinsights.v1.Timeseries
  2774  	17, // 17: google.cloud.timeseriesinsights.v1.EvaluatedSlice.forecast:type_name -> google.cloud.timeseriesinsights.v1.Timeseries
  2775  	25, // 18: google.cloud.timeseriesinsights.v1.EvaluatedSlice.status:type_name -> google.rpc.Status
  2776  	14, // 19: google.cloud.timeseriesinsights.v1.SlicingParams.pinned_dimensions:type_name -> google.cloud.timeseriesinsights.v1.PinnedDimension
  2777  	26, // 20: google.cloud.timeseriesinsights.v1.TimeseriesParams.forecast_history:type_name -> google.protobuf.Duration
  2778  	26, // 21: google.cloud.timeseriesinsights.v1.TimeseriesParams.granularity:type_name -> google.protobuf.Duration
  2779  	2,  // 22: google.cloud.timeseriesinsights.v1.TimeseriesParams.metric_aggregation_method:type_name -> google.cloud.timeseriesinsights.v1.TimeseriesParams.AggregationMethod
  2780  	27, // 23: google.cloud.timeseriesinsights.v1.QueryDataSetRequest.detection_time:type_name -> google.protobuf.Timestamp
  2781  	19, // 24: google.cloud.timeseriesinsights.v1.QueryDataSetRequest.slicing_params:type_name -> google.cloud.timeseriesinsights.v1.SlicingParams
  2782  	20, // 25: google.cloud.timeseriesinsights.v1.QueryDataSetRequest.timeseries_params:type_name -> google.cloud.timeseriesinsights.v1.TimeseriesParams
  2783  	15, // 26: google.cloud.timeseriesinsights.v1.QueryDataSetRequest.forecast_params:type_name -> google.cloud.timeseriesinsights.v1.ForecastParams
  2784  	18, // 27: google.cloud.timeseriesinsights.v1.QueryDataSetResponse.slices:type_name -> google.cloud.timeseriesinsights.v1.EvaluatedSlice
  2785  	14, // 28: google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.pinned_dimensions:type_name -> google.cloud.timeseriesinsights.v1.PinnedDimension
  2786  	27, // 29: google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.detection_time:type_name -> google.protobuf.Timestamp
  2787  	20, // 30: google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.timeseries_params:type_name -> google.cloud.timeseriesinsights.v1.TimeseriesParams
  2788  	15, // 31: google.cloud.timeseriesinsights.v1.EvaluateSliceRequest.forecast_params:type_name -> google.cloud.timeseriesinsights.v1.ForecastParams
  2789  	17, // 32: google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest.timeseries:type_name -> google.cloud.timeseriesinsights.v1.Timeseries
  2790  	26, // 33: google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest.granularity:type_name -> google.protobuf.Duration
  2791  	15, // 34: google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest.forecast_params:type_name -> google.cloud.timeseriesinsights.v1.ForecastParams
  2792  	12, // 35: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.ListDataSets:input_type -> google.cloud.timeseriesinsights.v1.ListDataSetsRequest
  2793  	10, // 36: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.CreateDataSet:input_type -> google.cloud.timeseriesinsights.v1.CreateDataSetRequest
  2794  	11, // 37: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.DeleteDataSet:input_type -> google.cloud.timeseriesinsights.v1.DeleteDataSetRequest
  2795  	8,  // 38: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.AppendEvents:input_type -> google.cloud.timeseriesinsights.v1.AppendEventsRequest
  2796  	21, // 39: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.QueryDataSet:input_type -> google.cloud.timeseriesinsights.v1.QueryDataSetRequest
  2797  	23, // 40: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.EvaluateSlice:input_type -> google.cloud.timeseriesinsights.v1.EvaluateSliceRequest
  2798  	24, // 41: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.EvaluateTimeseries:input_type -> google.cloud.timeseriesinsights.v1.EvaluateTimeseriesRequest
  2799  	13, // 42: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.ListDataSets:output_type -> google.cloud.timeseriesinsights.v1.ListDataSetsResponse
  2800  	5,  // 43: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.CreateDataSet:output_type -> google.cloud.timeseriesinsights.v1.DataSet
  2801  	28, // 44: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.DeleteDataSet:output_type -> google.protobuf.Empty
  2802  	9,  // 45: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.AppendEvents:output_type -> google.cloud.timeseriesinsights.v1.AppendEventsResponse
  2803  	22, // 46: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.QueryDataSet:output_type -> google.cloud.timeseriesinsights.v1.QueryDataSetResponse
  2804  	18, // 47: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.EvaluateSlice:output_type -> google.cloud.timeseriesinsights.v1.EvaluatedSlice
  2805  	18, // 48: google.cloud.timeseriesinsights.v1.TimeseriesInsightsController.EvaluateTimeseries:output_type -> google.cloud.timeseriesinsights.v1.EvaluatedSlice
  2806  	42, // [42:49] is the sub-list for method output_type
  2807  	35, // [35:42] is the sub-list for method input_type
  2808  	35, // [35:35] is the sub-list for extension type_name
  2809  	35, // [35:35] is the sub-list for extension extendee
  2810  	0,  // [0:35] is the sub-list for field type_name
  2811  }
  2812  
  2813  func init() { file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_init() }
  2814  func file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_init() {
  2815  	if File_google_cloud_timeseriesinsights_v1_timeseries_insights_proto != nil {
  2816  		return
  2817  	}
  2818  	if !protoimpl.UnsafeEnabled {
  2819  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2820  			switch v := v.(*BigqueryMapping); i {
  2821  			case 0:
  2822  				return &v.state
  2823  			case 1:
  2824  				return &v.sizeCache
  2825  			case 2:
  2826  				return &v.unknownFields
  2827  			default:
  2828  				return nil
  2829  			}
  2830  		}
  2831  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2832  			switch v := v.(*DataSource); i {
  2833  			case 0:
  2834  				return &v.state
  2835  			case 1:
  2836  				return &v.sizeCache
  2837  			case 2:
  2838  				return &v.unknownFields
  2839  			default:
  2840  				return nil
  2841  			}
  2842  		}
  2843  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2844  			switch v := v.(*DataSet); i {
  2845  			case 0:
  2846  				return &v.state
  2847  			case 1:
  2848  				return &v.sizeCache
  2849  			case 2:
  2850  				return &v.unknownFields
  2851  			default:
  2852  				return nil
  2853  			}
  2854  		}
  2855  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2856  			switch v := v.(*EventDimension); i {
  2857  			case 0:
  2858  				return &v.state
  2859  			case 1:
  2860  				return &v.sizeCache
  2861  			case 2:
  2862  				return &v.unknownFields
  2863  			default:
  2864  				return nil
  2865  			}
  2866  		}
  2867  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2868  			switch v := v.(*Event); i {
  2869  			case 0:
  2870  				return &v.state
  2871  			case 1:
  2872  				return &v.sizeCache
  2873  			case 2:
  2874  				return &v.unknownFields
  2875  			default:
  2876  				return nil
  2877  			}
  2878  		}
  2879  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2880  			switch v := v.(*AppendEventsRequest); i {
  2881  			case 0:
  2882  				return &v.state
  2883  			case 1:
  2884  				return &v.sizeCache
  2885  			case 2:
  2886  				return &v.unknownFields
  2887  			default:
  2888  				return nil
  2889  			}
  2890  		}
  2891  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2892  			switch v := v.(*AppendEventsResponse); i {
  2893  			case 0:
  2894  				return &v.state
  2895  			case 1:
  2896  				return &v.sizeCache
  2897  			case 2:
  2898  				return &v.unknownFields
  2899  			default:
  2900  				return nil
  2901  			}
  2902  		}
  2903  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2904  			switch v := v.(*CreateDataSetRequest); i {
  2905  			case 0:
  2906  				return &v.state
  2907  			case 1:
  2908  				return &v.sizeCache
  2909  			case 2:
  2910  				return &v.unknownFields
  2911  			default:
  2912  				return nil
  2913  			}
  2914  		}
  2915  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2916  			switch v := v.(*DeleteDataSetRequest); i {
  2917  			case 0:
  2918  				return &v.state
  2919  			case 1:
  2920  				return &v.sizeCache
  2921  			case 2:
  2922  				return &v.unknownFields
  2923  			default:
  2924  				return nil
  2925  			}
  2926  		}
  2927  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2928  			switch v := v.(*ListDataSetsRequest); i {
  2929  			case 0:
  2930  				return &v.state
  2931  			case 1:
  2932  				return &v.sizeCache
  2933  			case 2:
  2934  				return &v.unknownFields
  2935  			default:
  2936  				return nil
  2937  			}
  2938  		}
  2939  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2940  			switch v := v.(*ListDataSetsResponse); i {
  2941  			case 0:
  2942  				return &v.state
  2943  			case 1:
  2944  				return &v.sizeCache
  2945  			case 2:
  2946  				return &v.unknownFields
  2947  			default:
  2948  				return nil
  2949  			}
  2950  		}
  2951  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2952  			switch v := v.(*PinnedDimension); i {
  2953  			case 0:
  2954  				return &v.state
  2955  			case 1:
  2956  				return &v.sizeCache
  2957  			case 2:
  2958  				return &v.unknownFields
  2959  			default:
  2960  				return nil
  2961  			}
  2962  		}
  2963  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2964  			switch v := v.(*ForecastParams); i {
  2965  			case 0:
  2966  				return &v.state
  2967  			case 1:
  2968  				return &v.sizeCache
  2969  			case 2:
  2970  				return &v.unknownFields
  2971  			default:
  2972  				return nil
  2973  			}
  2974  		}
  2975  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2976  			switch v := v.(*TimeseriesPoint); i {
  2977  			case 0:
  2978  				return &v.state
  2979  			case 1:
  2980  				return &v.sizeCache
  2981  			case 2:
  2982  				return &v.unknownFields
  2983  			default:
  2984  				return nil
  2985  			}
  2986  		}
  2987  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2988  			switch v := v.(*Timeseries); i {
  2989  			case 0:
  2990  				return &v.state
  2991  			case 1:
  2992  				return &v.sizeCache
  2993  			case 2:
  2994  				return &v.unknownFields
  2995  			default:
  2996  				return nil
  2997  			}
  2998  		}
  2999  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3000  			switch v := v.(*EvaluatedSlice); i {
  3001  			case 0:
  3002  				return &v.state
  3003  			case 1:
  3004  				return &v.sizeCache
  3005  			case 2:
  3006  				return &v.unknownFields
  3007  			default:
  3008  				return nil
  3009  			}
  3010  		}
  3011  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3012  			switch v := v.(*SlicingParams); i {
  3013  			case 0:
  3014  				return &v.state
  3015  			case 1:
  3016  				return &v.sizeCache
  3017  			case 2:
  3018  				return &v.unknownFields
  3019  			default:
  3020  				return nil
  3021  			}
  3022  		}
  3023  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3024  			switch v := v.(*TimeseriesParams); i {
  3025  			case 0:
  3026  				return &v.state
  3027  			case 1:
  3028  				return &v.sizeCache
  3029  			case 2:
  3030  				return &v.unknownFields
  3031  			default:
  3032  				return nil
  3033  			}
  3034  		}
  3035  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3036  			switch v := v.(*QueryDataSetRequest); i {
  3037  			case 0:
  3038  				return &v.state
  3039  			case 1:
  3040  				return &v.sizeCache
  3041  			case 2:
  3042  				return &v.unknownFields
  3043  			default:
  3044  				return nil
  3045  			}
  3046  		}
  3047  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3048  			switch v := v.(*QueryDataSetResponse); i {
  3049  			case 0:
  3050  				return &v.state
  3051  			case 1:
  3052  				return &v.sizeCache
  3053  			case 2:
  3054  				return &v.unknownFields
  3055  			default:
  3056  				return nil
  3057  			}
  3058  		}
  3059  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3060  			switch v := v.(*EvaluateSliceRequest); i {
  3061  			case 0:
  3062  				return &v.state
  3063  			case 1:
  3064  				return &v.sizeCache
  3065  			case 2:
  3066  				return &v.unknownFields
  3067  			default:
  3068  				return nil
  3069  			}
  3070  		}
  3071  		file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3072  			switch v := v.(*EvaluateTimeseriesRequest); i {
  3073  			case 0:
  3074  				return &v.state
  3075  			case 1:
  3076  				return &v.sizeCache
  3077  			case 2:
  3078  				return &v.unknownFields
  3079  			default:
  3080  				return nil
  3081  			}
  3082  		}
  3083  	}
  3084  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[3].OneofWrappers = []interface{}{
  3085  		(*EventDimension_StringVal)(nil),
  3086  		(*EventDimension_LongVal)(nil),
  3087  		(*EventDimension_BoolVal)(nil),
  3088  		(*EventDimension_DoubleVal)(nil),
  3089  	}
  3090  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[11].OneofWrappers = []interface{}{
  3091  		(*PinnedDimension_StringVal)(nil),
  3092  		(*PinnedDimension_BoolVal)(nil),
  3093  	}
  3094  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[12].OneofWrappers = []interface{}{}
  3095  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[13].OneofWrappers = []interface{}{}
  3096  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[15].OneofWrappers = []interface{}{}
  3097  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[17].OneofWrappers = []interface{}{}
  3098  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes[18].OneofWrappers = []interface{}{}
  3099  	type x struct{}
  3100  	out := protoimpl.TypeBuilder{
  3101  		File: protoimpl.DescBuilder{
  3102  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3103  			RawDescriptor: file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDesc,
  3104  			NumEnums:      3,
  3105  			NumMessages:   22,
  3106  			NumExtensions: 0,
  3107  			NumServices:   1,
  3108  		},
  3109  		GoTypes:           file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_goTypes,
  3110  		DependencyIndexes: file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_depIdxs,
  3111  		EnumInfos:         file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_enumTypes,
  3112  		MessageInfos:      file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_msgTypes,
  3113  	}.Build()
  3114  	File_google_cloud_timeseriesinsights_v1_timeseries_insights_proto = out.File
  3115  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_rawDesc = nil
  3116  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_goTypes = nil
  3117  	file_google_cloud_timeseriesinsights_v1_timeseries_insights_proto_depIdxs = nil
  3118  }
  3119  
  3120  // Reference imports to suppress errors if they are not otherwise used.
  3121  var _ context.Context
  3122  var _ grpc.ClientConnInterface
  3123  
  3124  // This is a compile-time assertion to ensure that this generated file
  3125  // is compatible with the grpc package it is being compiled against.
  3126  const _ = grpc.SupportPackageIsVersion6
  3127  
  3128  // TimeseriesInsightsControllerClient is the client API for TimeseriesInsightsController service.
  3129  //
  3130  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3131  type TimeseriesInsightsControllerClient interface {
  3132  	// Lists [DataSets][google.cloud.timeseriesinsights.v1.DataSet] under the project.
  3133  	//
  3134  	// The order of the results is unspecified but deterministic. Newly created
  3135  	// [DataSets][google.cloud.timeseriesinsights.v1.DataSet] will not necessarily be added to the end
  3136  	// of this list.
  3137  	ListDataSets(ctx context.Context, in *ListDataSetsRequest, opts ...grpc.CallOption) (*ListDataSetsResponse, error)
  3138  	// Create a [DataSet][google.cloud.timeseriesinsights.v1.DataSet] from data stored on Cloud
  3139  	// Storage.
  3140  	//
  3141  	// The data must stay immutable while we process the
  3142  	// [DataSet][google.cloud.timeseriesinsights.v1.DataSet] creation; otherwise, undefined outcomes
  3143  	// might result.  For more information, see [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3144  	CreateDataSet(ctx context.Context, in *CreateDataSetRequest, opts ...grpc.CallOption) (*DataSet, error)
  3145  	// Delete a [DataSet][google.cloud.timeseriesinsights.v1.DataSet] from the system.
  3146  	//
  3147  	// **NOTE**: If the [DataSet][google.cloud.timeseriesinsights.v1.DataSet] is still being
  3148  	// processed, it will be aborted and deleted.
  3149  	DeleteDataSet(ctx context.Context, in *DeleteDataSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  3150  	// Append events to a `LOADED` [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3151  	AppendEvents(ctx context.Context, in *AppendEventsRequest, opts ...grpc.CallOption) (*AppendEventsResponse, error)
  3152  	// Execute a Timeseries Insights query over a loaded
  3153  	// [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3154  	QueryDataSet(ctx context.Context, in *QueryDataSetRequest, opts ...grpc.CallOption) (*QueryDataSetResponse, error)
  3155  	// Evaluate an explicit slice from a loaded [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3156  	EvaluateSlice(ctx context.Context, in *EvaluateSliceRequest, opts ...grpc.CallOption) (*EvaluatedSlice, error)
  3157  	// Evaluate an explicit timeseries.
  3158  	EvaluateTimeseries(ctx context.Context, in *EvaluateTimeseriesRequest, opts ...grpc.CallOption) (*EvaluatedSlice, error)
  3159  }
  3160  
  3161  type timeseriesInsightsControllerClient struct {
  3162  	cc grpc.ClientConnInterface
  3163  }
  3164  
  3165  func NewTimeseriesInsightsControllerClient(cc grpc.ClientConnInterface) TimeseriesInsightsControllerClient {
  3166  	return &timeseriesInsightsControllerClient{cc}
  3167  }
  3168  
  3169  func (c *timeseriesInsightsControllerClient) ListDataSets(ctx context.Context, in *ListDataSetsRequest, opts ...grpc.CallOption) (*ListDataSetsResponse, error) {
  3170  	out := new(ListDataSetsResponse)
  3171  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/ListDataSets", in, out, opts...)
  3172  	if err != nil {
  3173  		return nil, err
  3174  	}
  3175  	return out, nil
  3176  }
  3177  
  3178  func (c *timeseriesInsightsControllerClient) CreateDataSet(ctx context.Context, in *CreateDataSetRequest, opts ...grpc.CallOption) (*DataSet, error) {
  3179  	out := new(DataSet)
  3180  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/CreateDataSet", in, out, opts...)
  3181  	if err != nil {
  3182  		return nil, err
  3183  	}
  3184  	return out, nil
  3185  }
  3186  
  3187  func (c *timeseriesInsightsControllerClient) DeleteDataSet(ctx context.Context, in *DeleteDataSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  3188  	out := new(emptypb.Empty)
  3189  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/DeleteDataSet", in, out, opts...)
  3190  	if err != nil {
  3191  		return nil, err
  3192  	}
  3193  	return out, nil
  3194  }
  3195  
  3196  func (c *timeseriesInsightsControllerClient) AppendEvents(ctx context.Context, in *AppendEventsRequest, opts ...grpc.CallOption) (*AppendEventsResponse, error) {
  3197  	out := new(AppendEventsResponse)
  3198  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/AppendEvents", in, out, opts...)
  3199  	if err != nil {
  3200  		return nil, err
  3201  	}
  3202  	return out, nil
  3203  }
  3204  
  3205  func (c *timeseriesInsightsControllerClient) QueryDataSet(ctx context.Context, in *QueryDataSetRequest, opts ...grpc.CallOption) (*QueryDataSetResponse, error) {
  3206  	out := new(QueryDataSetResponse)
  3207  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/QueryDataSet", in, out, opts...)
  3208  	if err != nil {
  3209  		return nil, err
  3210  	}
  3211  	return out, nil
  3212  }
  3213  
  3214  func (c *timeseriesInsightsControllerClient) EvaluateSlice(ctx context.Context, in *EvaluateSliceRequest, opts ...grpc.CallOption) (*EvaluatedSlice, error) {
  3215  	out := new(EvaluatedSlice)
  3216  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/EvaluateSlice", in, out, opts...)
  3217  	if err != nil {
  3218  		return nil, err
  3219  	}
  3220  	return out, nil
  3221  }
  3222  
  3223  func (c *timeseriesInsightsControllerClient) EvaluateTimeseries(ctx context.Context, in *EvaluateTimeseriesRequest, opts ...grpc.CallOption) (*EvaluatedSlice, error) {
  3224  	out := new(EvaluatedSlice)
  3225  	err := c.cc.Invoke(ctx, "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/EvaluateTimeseries", in, out, opts...)
  3226  	if err != nil {
  3227  		return nil, err
  3228  	}
  3229  	return out, nil
  3230  }
  3231  
  3232  // TimeseriesInsightsControllerServer is the server API for TimeseriesInsightsController service.
  3233  type TimeseriesInsightsControllerServer interface {
  3234  	// Lists [DataSets][google.cloud.timeseriesinsights.v1.DataSet] under the project.
  3235  	//
  3236  	// The order of the results is unspecified but deterministic. Newly created
  3237  	// [DataSets][google.cloud.timeseriesinsights.v1.DataSet] will not necessarily be added to the end
  3238  	// of this list.
  3239  	ListDataSets(context.Context, *ListDataSetsRequest) (*ListDataSetsResponse, error)
  3240  	// Create a [DataSet][google.cloud.timeseriesinsights.v1.DataSet] from data stored on Cloud
  3241  	// Storage.
  3242  	//
  3243  	// The data must stay immutable while we process the
  3244  	// [DataSet][google.cloud.timeseriesinsights.v1.DataSet] creation; otherwise, undefined outcomes
  3245  	// might result.  For more information, see [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3246  	CreateDataSet(context.Context, *CreateDataSetRequest) (*DataSet, error)
  3247  	// Delete a [DataSet][google.cloud.timeseriesinsights.v1.DataSet] from the system.
  3248  	//
  3249  	// **NOTE**: If the [DataSet][google.cloud.timeseriesinsights.v1.DataSet] is still being
  3250  	// processed, it will be aborted and deleted.
  3251  	DeleteDataSet(context.Context, *DeleteDataSetRequest) (*emptypb.Empty, error)
  3252  	// Append events to a `LOADED` [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3253  	AppendEvents(context.Context, *AppendEventsRequest) (*AppendEventsResponse, error)
  3254  	// Execute a Timeseries Insights query over a loaded
  3255  	// [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3256  	QueryDataSet(context.Context, *QueryDataSetRequest) (*QueryDataSetResponse, error)
  3257  	// Evaluate an explicit slice from a loaded [DataSet][google.cloud.timeseriesinsights.v1.DataSet].
  3258  	EvaluateSlice(context.Context, *EvaluateSliceRequest) (*EvaluatedSlice, error)
  3259  	// Evaluate an explicit timeseries.
  3260  	EvaluateTimeseries(context.Context, *EvaluateTimeseriesRequest) (*EvaluatedSlice, error)
  3261  }
  3262  
  3263  // UnimplementedTimeseriesInsightsControllerServer can be embedded to have forward compatible implementations.
  3264  type UnimplementedTimeseriesInsightsControllerServer struct {
  3265  }
  3266  
  3267  func (*UnimplementedTimeseriesInsightsControllerServer) ListDataSets(context.Context, *ListDataSetsRequest) (*ListDataSetsResponse, error) {
  3268  	return nil, status1.Errorf(codes.Unimplemented, "method ListDataSets not implemented")
  3269  }
  3270  func (*UnimplementedTimeseriesInsightsControllerServer) CreateDataSet(context.Context, *CreateDataSetRequest) (*DataSet, error) {
  3271  	return nil, status1.Errorf(codes.Unimplemented, "method CreateDataSet not implemented")
  3272  }
  3273  func (*UnimplementedTimeseriesInsightsControllerServer) DeleteDataSet(context.Context, *DeleteDataSetRequest) (*emptypb.Empty, error) {
  3274  	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDataSet not implemented")
  3275  }
  3276  func (*UnimplementedTimeseriesInsightsControllerServer) AppendEvents(context.Context, *AppendEventsRequest) (*AppendEventsResponse, error) {
  3277  	return nil, status1.Errorf(codes.Unimplemented, "method AppendEvents not implemented")
  3278  }
  3279  func (*UnimplementedTimeseriesInsightsControllerServer) QueryDataSet(context.Context, *QueryDataSetRequest) (*QueryDataSetResponse, error) {
  3280  	return nil, status1.Errorf(codes.Unimplemented, "method QueryDataSet not implemented")
  3281  }
  3282  func (*UnimplementedTimeseriesInsightsControllerServer) EvaluateSlice(context.Context, *EvaluateSliceRequest) (*EvaluatedSlice, error) {
  3283  	return nil, status1.Errorf(codes.Unimplemented, "method EvaluateSlice not implemented")
  3284  }
  3285  func (*UnimplementedTimeseriesInsightsControllerServer) EvaluateTimeseries(context.Context, *EvaluateTimeseriesRequest) (*EvaluatedSlice, error) {
  3286  	return nil, status1.Errorf(codes.Unimplemented, "method EvaluateTimeseries not implemented")
  3287  }
  3288  
  3289  func RegisterTimeseriesInsightsControllerServer(s *grpc.Server, srv TimeseriesInsightsControllerServer) {
  3290  	s.RegisterService(&_TimeseriesInsightsController_serviceDesc, srv)
  3291  }
  3292  
  3293  func _TimeseriesInsightsController_ListDataSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3294  	in := new(ListDataSetsRequest)
  3295  	if err := dec(in); err != nil {
  3296  		return nil, err
  3297  	}
  3298  	if interceptor == nil {
  3299  		return srv.(TimeseriesInsightsControllerServer).ListDataSets(ctx, in)
  3300  	}
  3301  	info := &grpc.UnaryServerInfo{
  3302  		Server:     srv,
  3303  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/ListDataSets",
  3304  	}
  3305  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3306  		return srv.(TimeseriesInsightsControllerServer).ListDataSets(ctx, req.(*ListDataSetsRequest))
  3307  	}
  3308  	return interceptor(ctx, in, info, handler)
  3309  }
  3310  
  3311  func _TimeseriesInsightsController_CreateDataSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3312  	in := new(CreateDataSetRequest)
  3313  	if err := dec(in); err != nil {
  3314  		return nil, err
  3315  	}
  3316  	if interceptor == nil {
  3317  		return srv.(TimeseriesInsightsControllerServer).CreateDataSet(ctx, in)
  3318  	}
  3319  	info := &grpc.UnaryServerInfo{
  3320  		Server:     srv,
  3321  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/CreateDataSet",
  3322  	}
  3323  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3324  		return srv.(TimeseriesInsightsControllerServer).CreateDataSet(ctx, req.(*CreateDataSetRequest))
  3325  	}
  3326  	return interceptor(ctx, in, info, handler)
  3327  }
  3328  
  3329  func _TimeseriesInsightsController_DeleteDataSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3330  	in := new(DeleteDataSetRequest)
  3331  	if err := dec(in); err != nil {
  3332  		return nil, err
  3333  	}
  3334  	if interceptor == nil {
  3335  		return srv.(TimeseriesInsightsControllerServer).DeleteDataSet(ctx, in)
  3336  	}
  3337  	info := &grpc.UnaryServerInfo{
  3338  		Server:     srv,
  3339  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/DeleteDataSet",
  3340  	}
  3341  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3342  		return srv.(TimeseriesInsightsControllerServer).DeleteDataSet(ctx, req.(*DeleteDataSetRequest))
  3343  	}
  3344  	return interceptor(ctx, in, info, handler)
  3345  }
  3346  
  3347  func _TimeseriesInsightsController_AppendEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3348  	in := new(AppendEventsRequest)
  3349  	if err := dec(in); err != nil {
  3350  		return nil, err
  3351  	}
  3352  	if interceptor == nil {
  3353  		return srv.(TimeseriesInsightsControllerServer).AppendEvents(ctx, in)
  3354  	}
  3355  	info := &grpc.UnaryServerInfo{
  3356  		Server:     srv,
  3357  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/AppendEvents",
  3358  	}
  3359  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3360  		return srv.(TimeseriesInsightsControllerServer).AppendEvents(ctx, req.(*AppendEventsRequest))
  3361  	}
  3362  	return interceptor(ctx, in, info, handler)
  3363  }
  3364  
  3365  func _TimeseriesInsightsController_QueryDataSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3366  	in := new(QueryDataSetRequest)
  3367  	if err := dec(in); err != nil {
  3368  		return nil, err
  3369  	}
  3370  	if interceptor == nil {
  3371  		return srv.(TimeseriesInsightsControllerServer).QueryDataSet(ctx, in)
  3372  	}
  3373  	info := &grpc.UnaryServerInfo{
  3374  		Server:     srv,
  3375  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/QueryDataSet",
  3376  	}
  3377  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3378  		return srv.(TimeseriesInsightsControllerServer).QueryDataSet(ctx, req.(*QueryDataSetRequest))
  3379  	}
  3380  	return interceptor(ctx, in, info, handler)
  3381  }
  3382  
  3383  func _TimeseriesInsightsController_EvaluateSlice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3384  	in := new(EvaluateSliceRequest)
  3385  	if err := dec(in); err != nil {
  3386  		return nil, err
  3387  	}
  3388  	if interceptor == nil {
  3389  		return srv.(TimeseriesInsightsControllerServer).EvaluateSlice(ctx, in)
  3390  	}
  3391  	info := &grpc.UnaryServerInfo{
  3392  		Server:     srv,
  3393  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/EvaluateSlice",
  3394  	}
  3395  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3396  		return srv.(TimeseriesInsightsControllerServer).EvaluateSlice(ctx, req.(*EvaluateSliceRequest))
  3397  	}
  3398  	return interceptor(ctx, in, info, handler)
  3399  }
  3400  
  3401  func _TimeseriesInsightsController_EvaluateTimeseries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3402  	in := new(EvaluateTimeseriesRequest)
  3403  	if err := dec(in); err != nil {
  3404  		return nil, err
  3405  	}
  3406  	if interceptor == nil {
  3407  		return srv.(TimeseriesInsightsControllerServer).EvaluateTimeseries(ctx, in)
  3408  	}
  3409  	info := &grpc.UnaryServerInfo{
  3410  		Server:     srv,
  3411  		FullMethod: "/google.cloud.timeseriesinsights.v1.TimeseriesInsightsController/EvaluateTimeseries",
  3412  	}
  3413  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3414  		return srv.(TimeseriesInsightsControllerServer).EvaluateTimeseries(ctx, req.(*EvaluateTimeseriesRequest))
  3415  	}
  3416  	return interceptor(ctx, in, info, handler)
  3417  }
  3418  
  3419  var _TimeseriesInsightsController_serviceDesc = grpc.ServiceDesc{
  3420  	ServiceName: "google.cloud.timeseriesinsights.v1.TimeseriesInsightsController",
  3421  	HandlerType: (*TimeseriesInsightsControllerServer)(nil),
  3422  	Methods: []grpc.MethodDesc{
  3423  		{
  3424  			MethodName: "ListDataSets",
  3425  			Handler:    _TimeseriesInsightsController_ListDataSets_Handler,
  3426  		},
  3427  		{
  3428  			MethodName: "CreateDataSet",
  3429  			Handler:    _TimeseriesInsightsController_CreateDataSet_Handler,
  3430  		},
  3431  		{
  3432  			MethodName: "DeleteDataSet",
  3433  			Handler:    _TimeseriesInsightsController_DeleteDataSet_Handler,
  3434  		},
  3435  		{
  3436  			MethodName: "AppendEvents",
  3437  			Handler:    _TimeseriesInsightsController_AppendEvents_Handler,
  3438  		},
  3439  		{
  3440  			MethodName: "QueryDataSet",
  3441  			Handler:    _TimeseriesInsightsController_QueryDataSet_Handler,
  3442  		},
  3443  		{
  3444  			MethodName: "EvaluateSlice",
  3445  			Handler:    _TimeseriesInsightsController_EvaluateSlice_Handler,
  3446  		},
  3447  		{
  3448  			MethodName: "EvaluateTimeseries",
  3449  			Handler:    _TimeseriesInsightsController_EvaluateTimeseries_Handler,
  3450  		},
  3451  	},
  3452  	Streams:  []grpc.StreamDesc{},
  3453  	Metadata: "google/cloud/timeseriesinsights/v1/timeseries_insights.proto",
  3454  }
  3455  

View as plain text