...

Source file src/cloud.google.com/go/logging/apiv2/loggingpb/logging_metrics.pb.go

Documentation: cloud.google.com/go/logging/apiv2/loggingpb

     1  // Copyright 2024 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.33.0
    18  // 	protoc        v4.25.3
    19  // source: google/logging/v2/logging_metrics.proto
    20  
    21  package loggingpb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	distribution "google.golang.org/genproto/googleapis/api/distribution"
    30  	metric "google.golang.org/genproto/googleapis/api/metric"
    31  	grpc "google.golang.org/grpc"
    32  	codes "google.golang.org/grpc/codes"
    33  	status "google.golang.org/grpc/status"
    34  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    35  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    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  // Logging API version.
    48  type LogMetric_ApiVersion int32
    49  
    50  const (
    51  	// Logging API v2.
    52  	LogMetric_V2 LogMetric_ApiVersion = 0
    53  	// Logging API v1.
    54  	LogMetric_V1 LogMetric_ApiVersion = 1
    55  )
    56  
    57  // Enum value maps for LogMetric_ApiVersion.
    58  var (
    59  	LogMetric_ApiVersion_name = map[int32]string{
    60  		0: "V2",
    61  		1: "V1",
    62  	}
    63  	LogMetric_ApiVersion_value = map[string]int32{
    64  		"V2": 0,
    65  		"V1": 1,
    66  	}
    67  )
    68  
    69  func (x LogMetric_ApiVersion) Enum() *LogMetric_ApiVersion {
    70  	p := new(LogMetric_ApiVersion)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x LogMetric_ApiVersion) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (LogMetric_ApiVersion) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_logging_v2_logging_metrics_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (LogMetric_ApiVersion) Type() protoreflect.EnumType {
    84  	return &file_google_logging_v2_logging_metrics_proto_enumTypes[0]
    85  }
    86  
    87  func (x LogMetric_ApiVersion) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use LogMetric_ApiVersion.Descriptor instead.
    92  func (LogMetric_ApiVersion) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{0, 0}
    94  }
    95  
    96  // Describes a logs-based metric. The value of the metric is the number of log
    97  // entries that match a logs filter in a given time interval.
    98  //
    99  // Logs-based metrics can also be used to extract values from logs and create a
   100  // distribution of the values. The distribution records the statistics of the
   101  // extracted values along with an optional histogram of the values as specified
   102  // by the bucket options.
   103  type LogMetric struct {
   104  	state         protoimpl.MessageState
   105  	sizeCache     protoimpl.SizeCache
   106  	unknownFields protoimpl.UnknownFields
   107  
   108  	// Required. The client-assigned metric identifier.
   109  	// Examples: `"error_count"`, `"nginx/requests"`.
   110  	//
   111  	// Metric identifiers are limited to 100 characters and can include only the
   112  	// following characters: `A-Z`, `a-z`, `0-9`, and the special characters
   113  	// `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of
   114  	// name pieces, and it cannot be the first character of the name.
   115  	//
   116  	// This field is the `[METRIC_ID]` part of a metric resource name in the
   117  	// format "projects/[PROJECT_ID]/metrics/[METRIC_ID]". Example: If the
   118  	// resource name of a metric is
   119  	// `"projects/my-project/metrics/nginx%2Frequests"`, this field's value is
   120  	// `"nginx/requests"`.
   121  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   122  	// Optional. A description of this metric, which is used in documentation.
   123  	// The maximum length of the description is 8000 characters.
   124  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   125  	// Required. An [advanced logs
   126  	// filter](https://cloud.google.com/logging/docs/view/advanced_filters) which
   127  	// is used to match log entries. Example:
   128  	//
   129  	//	"resource.type=gae_app AND severity>=ERROR"
   130  	//
   131  	// The maximum length of the filter is 20000 characters.
   132  	Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
   133  	// Optional. The resource name of the Log Bucket that owns the Log Metric.
   134  	// Only Log Buckets in projects are supported. The bucket has to be in the
   135  	// same project as the metric.
   136  	//
   137  	// For example:
   138  	//
   139  	//	`projects/my-project/locations/global/buckets/my-bucket`
   140  	//
   141  	// If empty, then the Log Metric is considered a non-Bucket Log Metric.
   142  	BucketName string `protobuf:"bytes,13,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
   143  	// Optional. If set to True, then this metric is disabled and it does not
   144  	// generate any points.
   145  	Disabled bool `protobuf:"varint,12,opt,name=disabled,proto3" json:"disabled,omitempty"`
   146  	// Optional. The metric descriptor associated with the logs-based metric.
   147  	// If unspecified, it uses a default metric descriptor with a DELTA metric
   148  	// kind, INT64 value type, with no labels and a unit of "1". Such a metric
   149  	// counts the number of log entries matching the `filter` expression.
   150  	//
   151  	// The `name`, `type`, and `description` fields in the `metric_descriptor`
   152  	// are output only, and is constructed using the `name` and `description`
   153  	// field in the LogMetric.
   154  	//
   155  	// To create a logs-based metric that records a distribution of log values, a
   156  	// DELTA metric kind with a DISTRIBUTION value type must be used along with
   157  	// a `value_extractor` expression in the LogMetric.
   158  	//
   159  	// Each label in the metric descriptor must have a matching label
   160  	// name as the key and an extractor expression as the value in the
   161  	// `label_extractors` map.
   162  	//
   163  	// The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot
   164  	// be updated once initially configured. New labels can be added in the
   165  	// `metric_descriptor`, but existing labels cannot be modified except for
   166  	// their description.
   167  	MetricDescriptor *metric.MetricDescriptor `protobuf:"bytes,5,opt,name=metric_descriptor,json=metricDescriptor,proto3" json:"metric_descriptor,omitempty"`
   168  	// Optional. A `value_extractor` is required when using a distribution
   169  	// logs-based metric to extract the values to record from a log entry.
   170  	// Two functions are supported for value extraction: `EXTRACT(field)` or
   171  	// `REGEXP_EXTRACT(field, regex)`. The arguments are:
   172  	//
   173  	//  1. field: The name of the log entry field from which the value is to be
   174  	//     extracted.
   175  	//  2. regex: A regular expression using the Google RE2 syntax
   176  	//     (https://github.com/google/re2/wiki/Syntax) with a single capture
   177  	//     group to extract data from the specified log entry field. The value
   178  	//     of the field is converted to a string before applying the regex.
   179  	//     It is an error to specify a regex that does not include exactly one
   180  	//     capture group.
   181  	//
   182  	// The result of the extraction must be convertible to a double type, as the
   183  	// distribution always records double values. If either the extraction or
   184  	// the conversion to double fails, then those values are not recorded in the
   185  	// distribution.
   186  	//
   187  	// Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")`
   188  	ValueExtractor string `protobuf:"bytes,6,opt,name=value_extractor,json=valueExtractor,proto3" json:"value_extractor,omitempty"`
   189  	// Optional. A map from a label key string to an extractor expression which is
   190  	// used to extract data from a log entry field and assign as the label value.
   191  	// Each label key specified in the LabelDescriptor must have an associated
   192  	// extractor expression in this map. The syntax of the extractor expression
   193  	// is the same as for the `value_extractor` field.
   194  	//
   195  	// The extracted value is converted to the type defined in the label
   196  	// descriptor. If either the extraction or the type conversion fails,
   197  	// the label will have a default value. The default value for a string
   198  	// label is an empty string, for an integer label its 0, and for a boolean
   199  	// label its `false`.
   200  	//
   201  	// Note that there are upper bounds on the maximum number of labels and the
   202  	// number of active time series that are allowed in a project.
   203  	LabelExtractors map[string]string `protobuf:"bytes,7,rep,name=label_extractors,json=labelExtractors,proto3" json:"label_extractors,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   204  	// Optional. The `bucket_options` are required when the logs-based metric is
   205  	// using a DISTRIBUTION value type and it describes the bucket boundaries
   206  	// used to create a histogram of the extracted values.
   207  	BucketOptions *distribution.Distribution_BucketOptions `protobuf:"bytes,8,opt,name=bucket_options,json=bucketOptions,proto3" json:"bucket_options,omitempty"`
   208  	// Output only. The creation timestamp of the metric.
   209  	//
   210  	// This field may not be present for older metrics.
   211  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   212  	// Output only. The last update timestamp of the metric.
   213  	//
   214  	// This field may not be present for older metrics.
   215  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   216  	// Deprecated. The API version that created or updated this metric.
   217  	// The v2 format is used by default and cannot be changed.
   218  	//
   219  	// Deprecated: Marked as deprecated in google/logging/v2/logging_metrics.proto.
   220  	Version LogMetric_ApiVersion `protobuf:"varint,4,opt,name=version,proto3,enum=google.logging.v2.LogMetric_ApiVersion" json:"version,omitempty"`
   221  }
   222  
   223  func (x *LogMetric) Reset() {
   224  	*x = LogMetric{}
   225  	if protoimpl.UnsafeEnabled {
   226  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[0]
   227  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   228  		ms.StoreMessageInfo(mi)
   229  	}
   230  }
   231  
   232  func (x *LogMetric) String() string {
   233  	return protoimpl.X.MessageStringOf(x)
   234  }
   235  
   236  func (*LogMetric) ProtoMessage() {}
   237  
   238  func (x *LogMetric) ProtoReflect() protoreflect.Message {
   239  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[0]
   240  	if protoimpl.UnsafeEnabled && x != nil {
   241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   242  		if ms.LoadMessageInfo() == nil {
   243  			ms.StoreMessageInfo(mi)
   244  		}
   245  		return ms
   246  	}
   247  	return mi.MessageOf(x)
   248  }
   249  
   250  // Deprecated: Use LogMetric.ProtoReflect.Descriptor instead.
   251  func (*LogMetric) Descriptor() ([]byte, []int) {
   252  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{0}
   253  }
   254  
   255  func (x *LogMetric) GetName() string {
   256  	if x != nil {
   257  		return x.Name
   258  	}
   259  	return ""
   260  }
   261  
   262  func (x *LogMetric) GetDescription() string {
   263  	if x != nil {
   264  		return x.Description
   265  	}
   266  	return ""
   267  }
   268  
   269  func (x *LogMetric) GetFilter() string {
   270  	if x != nil {
   271  		return x.Filter
   272  	}
   273  	return ""
   274  }
   275  
   276  func (x *LogMetric) GetBucketName() string {
   277  	if x != nil {
   278  		return x.BucketName
   279  	}
   280  	return ""
   281  }
   282  
   283  func (x *LogMetric) GetDisabled() bool {
   284  	if x != nil {
   285  		return x.Disabled
   286  	}
   287  	return false
   288  }
   289  
   290  func (x *LogMetric) GetMetricDescriptor() *metric.MetricDescriptor {
   291  	if x != nil {
   292  		return x.MetricDescriptor
   293  	}
   294  	return nil
   295  }
   296  
   297  func (x *LogMetric) GetValueExtractor() string {
   298  	if x != nil {
   299  		return x.ValueExtractor
   300  	}
   301  	return ""
   302  }
   303  
   304  func (x *LogMetric) GetLabelExtractors() map[string]string {
   305  	if x != nil {
   306  		return x.LabelExtractors
   307  	}
   308  	return nil
   309  }
   310  
   311  func (x *LogMetric) GetBucketOptions() *distribution.Distribution_BucketOptions {
   312  	if x != nil {
   313  		return x.BucketOptions
   314  	}
   315  	return nil
   316  }
   317  
   318  func (x *LogMetric) GetCreateTime() *timestamppb.Timestamp {
   319  	if x != nil {
   320  		return x.CreateTime
   321  	}
   322  	return nil
   323  }
   324  
   325  func (x *LogMetric) GetUpdateTime() *timestamppb.Timestamp {
   326  	if x != nil {
   327  		return x.UpdateTime
   328  	}
   329  	return nil
   330  }
   331  
   332  // Deprecated: Marked as deprecated in google/logging/v2/logging_metrics.proto.
   333  func (x *LogMetric) GetVersion() LogMetric_ApiVersion {
   334  	if x != nil {
   335  		return x.Version
   336  	}
   337  	return LogMetric_V2
   338  }
   339  
   340  // The parameters to ListLogMetrics.
   341  type ListLogMetricsRequest struct {
   342  	state         protoimpl.MessageState
   343  	sizeCache     protoimpl.SizeCache
   344  	unknownFields protoimpl.UnknownFields
   345  
   346  	// Required. The name of the project containing the metrics:
   347  	//
   348  	//	"projects/[PROJECT_ID]"
   349  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   350  	// Optional. If present, then retrieve the next batch of results from the
   351  	// preceding call to this method. `pageToken` must be the value of
   352  	// `nextPageToken` from the previous response. The values of other method
   353  	// parameters should be identical to those in the previous call.
   354  	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   355  	// Optional. The maximum number of results to return from this request.
   356  	// Non-positive values are ignored. The presence of `nextPageToken` in the
   357  	// response indicates that more results might be available.
   358  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   359  }
   360  
   361  func (x *ListLogMetricsRequest) Reset() {
   362  	*x = ListLogMetricsRequest{}
   363  	if protoimpl.UnsafeEnabled {
   364  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[1]
   365  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   366  		ms.StoreMessageInfo(mi)
   367  	}
   368  }
   369  
   370  func (x *ListLogMetricsRequest) String() string {
   371  	return protoimpl.X.MessageStringOf(x)
   372  }
   373  
   374  func (*ListLogMetricsRequest) ProtoMessage() {}
   375  
   376  func (x *ListLogMetricsRequest) ProtoReflect() protoreflect.Message {
   377  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[1]
   378  	if protoimpl.UnsafeEnabled && x != nil {
   379  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   380  		if ms.LoadMessageInfo() == nil {
   381  			ms.StoreMessageInfo(mi)
   382  		}
   383  		return ms
   384  	}
   385  	return mi.MessageOf(x)
   386  }
   387  
   388  // Deprecated: Use ListLogMetricsRequest.ProtoReflect.Descriptor instead.
   389  func (*ListLogMetricsRequest) Descriptor() ([]byte, []int) {
   390  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{1}
   391  }
   392  
   393  func (x *ListLogMetricsRequest) GetParent() string {
   394  	if x != nil {
   395  		return x.Parent
   396  	}
   397  	return ""
   398  }
   399  
   400  func (x *ListLogMetricsRequest) GetPageToken() string {
   401  	if x != nil {
   402  		return x.PageToken
   403  	}
   404  	return ""
   405  }
   406  
   407  func (x *ListLogMetricsRequest) GetPageSize() int32 {
   408  	if x != nil {
   409  		return x.PageSize
   410  	}
   411  	return 0
   412  }
   413  
   414  // Result returned from ListLogMetrics.
   415  type ListLogMetricsResponse struct {
   416  	state         protoimpl.MessageState
   417  	sizeCache     protoimpl.SizeCache
   418  	unknownFields protoimpl.UnknownFields
   419  
   420  	// A list of logs-based metrics.
   421  	Metrics []*LogMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"`
   422  	// If there might be more results than appear in this response, then
   423  	// `nextPageToken` is included. To get the next set of results, call this
   424  	// method again using the value of `nextPageToken` as `pageToken`.
   425  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   426  }
   427  
   428  func (x *ListLogMetricsResponse) Reset() {
   429  	*x = ListLogMetricsResponse{}
   430  	if protoimpl.UnsafeEnabled {
   431  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[2]
   432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   433  		ms.StoreMessageInfo(mi)
   434  	}
   435  }
   436  
   437  func (x *ListLogMetricsResponse) String() string {
   438  	return protoimpl.X.MessageStringOf(x)
   439  }
   440  
   441  func (*ListLogMetricsResponse) ProtoMessage() {}
   442  
   443  func (x *ListLogMetricsResponse) ProtoReflect() protoreflect.Message {
   444  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[2]
   445  	if protoimpl.UnsafeEnabled && x != nil {
   446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   447  		if ms.LoadMessageInfo() == nil {
   448  			ms.StoreMessageInfo(mi)
   449  		}
   450  		return ms
   451  	}
   452  	return mi.MessageOf(x)
   453  }
   454  
   455  // Deprecated: Use ListLogMetricsResponse.ProtoReflect.Descriptor instead.
   456  func (*ListLogMetricsResponse) Descriptor() ([]byte, []int) {
   457  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{2}
   458  }
   459  
   460  func (x *ListLogMetricsResponse) GetMetrics() []*LogMetric {
   461  	if x != nil {
   462  		return x.Metrics
   463  	}
   464  	return nil
   465  }
   466  
   467  func (x *ListLogMetricsResponse) GetNextPageToken() string {
   468  	if x != nil {
   469  		return x.NextPageToken
   470  	}
   471  	return ""
   472  }
   473  
   474  // The parameters to GetLogMetric.
   475  type GetLogMetricRequest struct {
   476  	state         protoimpl.MessageState
   477  	sizeCache     protoimpl.SizeCache
   478  	unknownFields protoimpl.UnknownFields
   479  
   480  	// Required. The resource name of the desired metric:
   481  	//
   482  	//	"projects/[PROJECT_ID]/metrics/[METRIC_ID]"
   483  	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
   484  }
   485  
   486  func (x *GetLogMetricRequest) Reset() {
   487  	*x = GetLogMetricRequest{}
   488  	if protoimpl.UnsafeEnabled {
   489  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[3]
   490  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   491  		ms.StoreMessageInfo(mi)
   492  	}
   493  }
   494  
   495  func (x *GetLogMetricRequest) String() string {
   496  	return protoimpl.X.MessageStringOf(x)
   497  }
   498  
   499  func (*GetLogMetricRequest) ProtoMessage() {}
   500  
   501  func (x *GetLogMetricRequest) ProtoReflect() protoreflect.Message {
   502  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[3]
   503  	if protoimpl.UnsafeEnabled && x != nil {
   504  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   505  		if ms.LoadMessageInfo() == nil {
   506  			ms.StoreMessageInfo(mi)
   507  		}
   508  		return ms
   509  	}
   510  	return mi.MessageOf(x)
   511  }
   512  
   513  // Deprecated: Use GetLogMetricRequest.ProtoReflect.Descriptor instead.
   514  func (*GetLogMetricRequest) Descriptor() ([]byte, []int) {
   515  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{3}
   516  }
   517  
   518  func (x *GetLogMetricRequest) GetMetricName() string {
   519  	if x != nil {
   520  		return x.MetricName
   521  	}
   522  	return ""
   523  }
   524  
   525  // The parameters to CreateLogMetric.
   526  type CreateLogMetricRequest struct {
   527  	state         protoimpl.MessageState
   528  	sizeCache     protoimpl.SizeCache
   529  	unknownFields protoimpl.UnknownFields
   530  
   531  	// Required. The resource name of the project in which to create the metric:
   532  	//
   533  	//	"projects/[PROJECT_ID]"
   534  	//
   535  	// The new metric must be provided in the request.
   536  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   537  	// Required. The new logs-based metric, which must not have an identifier that
   538  	// already exists.
   539  	Metric *LogMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"`
   540  }
   541  
   542  func (x *CreateLogMetricRequest) Reset() {
   543  	*x = CreateLogMetricRequest{}
   544  	if protoimpl.UnsafeEnabled {
   545  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[4]
   546  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   547  		ms.StoreMessageInfo(mi)
   548  	}
   549  }
   550  
   551  func (x *CreateLogMetricRequest) String() string {
   552  	return protoimpl.X.MessageStringOf(x)
   553  }
   554  
   555  func (*CreateLogMetricRequest) ProtoMessage() {}
   556  
   557  func (x *CreateLogMetricRequest) ProtoReflect() protoreflect.Message {
   558  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[4]
   559  	if protoimpl.UnsafeEnabled && x != nil {
   560  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   561  		if ms.LoadMessageInfo() == nil {
   562  			ms.StoreMessageInfo(mi)
   563  		}
   564  		return ms
   565  	}
   566  	return mi.MessageOf(x)
   567  }
   568  
   569  // Deprecated: Use CreateLogMetricRequest.ProtoReflect.Descriptor instead.
   570  func (*CreateLogMetricRequest) Descriptor() ([]byte, []int) {
   571  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{4}
   572  }
   573  
   574  func (x *CreateLogMetricRequest) GetParent() string {
   575  	if x != nil {
   576  		return x.Parent
   577  	}
   578  	return ""
   579  }
   580  
   581  func (x *CreateLogMetricRequest) GetMetric() *LogMetric {
   582  	if x != nil {
   583  		return x.Metric
   584  	}
   585  	return nil
   586  }
   587  
   588  // The parameters to UpdateLogMetric.
   589  type UpdateLogMetricRequest struct {
   590  	state         protoimpl.MessageState
   591  	sizeCache     protoimpl.SizeCache
   592  	unknownFields protoimpl.UnknownFields
   593  
   594  	// Required. The resource name of the metric to update:
   595  	//
   596  	//	"projects/[PROJECT_ID]/metrics/[METRIC_ID]"
   597  	//
   598  	// The updated metric must be provided in the request and it's
   599  	// `name` field must be the same as `[METRIC_ID]` If the metric
   600  	// does not exist in `[PROJECT_ID]`, then a new metric is created.
   601  	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
   602  	// Required. The updated metric.
   603  	Metric *LogMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"`
   604  }
   605  
   606  func (x *UpdateLogMetricRequest) Reset() {
   607  	*x = UpdateLogMetricRequest{}
   608  	if protoimpl.UnsafeEnabled {
   609  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[5]
   610  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   611  		ms.StoreMessageInfo(mi)
   612  	}
   613  }
   614  
   615  func (x *UpdateLogMetricRequest) String() string {
   616  	return protoimpl.X.MessageStringOf(x)
   617  }
   618  
   619  func (*UpdateLogMetricRequest) ProtoMessage() {}
   620  
   621  func (x *UpdateLogMetricRequest) ProtoReflect() protoreflect.Message {
   622  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[5]
   623  	if protoimpl.UnsafeEnabled && x != nil {
   624  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   625  		if ms.LoadMessageInfo() == nil {
   626  			ms.StoreMessageInfo(mi)
   627  		}
   628  		return ms
   629  	}
   630  	return mi.MessageOf(x)
   631  }
   632  
   633  // Deprecated: Use UpdateLogMetricRequest.ProtoReflect.Descriptor instead.
   634  func (*UpdateLogMetricRequest) Descriptor() ([]byte, []int) {
   635  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{5}
   636  }
   637  
   638  func (x *UpdateLogMetricRequest) GetMetricName() string {
   639  	if x != nil {
   640  		return x.MetricName
   641  	}
   642  	return ""
   643  }
   644  
   645  func (x *UpdateLogMetricRequest) GetMetric() *LogMetric {
   646  	if x != nil {
   647  		return x.Metric
   648  	}
   649  	return nil
   650  }
   651  
   652  // The parameters to DeleteLogMetric.
   653  type DeleteLogMetricRequest struct {
   654  	state         protoimpl.MessageState
   655  	sizeCache     protoimpl.SizeCache
   656  	unknownFields protoimpl.UnknownFields
   657  
   658  	// Required. The resource name of the metric to delete:
   659  	//
   660  	//	"projects/[PROJECT_ID]/metrics/[METRIC_ID]"
   661  	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
   662  }
   663  
   664  func (x *DeleteLogMetricRequest) Reset() {
   665  	*x = DeleteLogMetricRequest{}
   666  	if protoimpl.UnsafeEnabled {
   667  		mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[6]
   668  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   669  		ms.StoreMessageInfo(mi)
   670  	}
   671  }
   672  
   673  func (x *DeleteLogMetricRequest) String() string {
   674  	return protoimpl.X.MessageStringOf(x)
   675  }
   676  
   677  func (*DeleteLogMetricRequest) ProtoMessage() {}
   678  
   679  func (x *DeleteLogMetricRequest) ProtoReflect() protoreflect.Message {
   680  	mi := &file_google_logging_v2_logging_metrics_proto_msgTypes[6]
   681  	if protoimpl.UnsafeEnabled && x != nil {
   682  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   683  		if ms.LoadMessageInfo() == nil {
   684  			ms.StoreMessageInfo(mi)
   685  		}
   686  		return ms
   687  	}
   688  	return mi.MessageOf(x)
   689  }
   690  
   691  // Deprecated: Use DeleteLogMetricRequest.ProtoReflect.Descriptor instead.
   692  func (*DeleteLogMetricRequest) Descriptor() ([]byte, []int) {
   693  	return file_google_logging_v2_logging_metrics_proto_rawDescGZIP(), []int{6}
   694  }
   695  
   696  func (x *DeleteLogMetricRequest) GetMetricName() string {
   697  	if x != nil {
   698  		return x.MetricName
   699  	}
   700  	return ""
   701  }
   702  
   703  var File_google_logging_v2_logging_metrics_proto protoreflect.FileDescriptor
   704  
   705  var file_google_logging_v2_logging_metrics_proto_rawDesc = []byte{
   706  	0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
   707  	0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72,
   708  	0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   709  	0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f,
   710  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   711  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,
   712  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
   713  	0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   714  	0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
   715  	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66,
   716  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72,
   717  	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   718  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
   719  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   720  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   721  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
   722  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   723  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
   724  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x06, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74,
   725  	0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
   726  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b,
   727  	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
   728  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
   729  	0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20,
   730  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
   731  	0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
   732  	0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b,
   733  	0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
   734  	0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64,
   735  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69,
   736  	0x63, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01,
   737  	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
   738  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
   739  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x73,
   740  	0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65,
   741  	0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
   742  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72,
   743  	0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x61, 0x0a, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x65,
   744  	0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
   745  	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
   746  	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4c, 0x61,
   747  	0x62, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74,
   748  	0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x78,
   749  	0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x62, 0x75, 0x63, 0x6b,
   750  	0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
   751  	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69,
   752  	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
   753  	0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x62,
   754  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0b,
   755  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
   756  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   757  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
   758  	0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40,
   759  	0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20,
   760  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   761  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
   762  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
   763  	0x12, 0x45, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
   764  	0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69,
   765  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e,
   766  	0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07,
   767  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x42, 0x0a, 0x14, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   768  	0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
   769  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
   770  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
   771  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x0a, 0x41,
   772  	0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10,
   773  	0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x01, 0x3a, 0x4a, 0xea, 0x41, 0x47, 0x0a, 0x20,
   774  	0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   775  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   776  	0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
   777  	0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x6d, 0x65,
   778  	0x74, 0x72, 0x69, 0x63, 0x7d, 0x22, 0xaa, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f,
   779  	0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
   780  	0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
   781  	0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
   782  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
   783  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
   784  	0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a,
   785  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
   786  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
   787  	0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
   788  	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
   789  	0x7a, 0x65, 0x22, 0x78, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74,
   790  	0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07,
   791  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
   792  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76,
   793  	0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74,
   794  	0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
   795  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
   796  	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x60, 0x0a, 0x13,
   797  	0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75,
   798  	0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61,
   799  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22,
   800  	0x0a, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   801  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72,
   802  	0x69, 0x63, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x95,
   803  	0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72,
   804  	0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72,
   805  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41,
   806  	0x22, 0x12, 0x20, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   807  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74,
   808  	0x72, 0x69, 0x63, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x6d,
   809  	0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
   810  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
   811  	0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
   812  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x9e, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74,
   813  	0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   814  	0x74, 0x12, 0x49, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
   815  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20,
   816  	0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   817  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   818  	0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06,
   819  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
   820  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
   821  	0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
   822  	0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x63, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74,
   823  	0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   824  	0x74, 0x12, 0x49, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
   825  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20,
   826  	0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   827  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   828  	0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xae, 0x08, 0x0a,
   829  	0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56,
   830  	0x32, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74,
   831  	0x72, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
   832  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67,
   833  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
   834  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e,
   835  	0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   836  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0xda, 0x41, 0x06, 0x70, 0x61,
   837  	0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x32, 0x2f,
   838  	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
   839  	0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x0c,
   840  	0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x26, 0x2e, 0x67,
   841  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
   842  	0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71,
   843  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
   844  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72,
   845  	0x69, 0x63, 0x22, 0x3c, 0xda, 0x41, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61,
   846  	0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6d,
   847  	0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
   848  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d,
   849  	0x12, 0x9b, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65,
   850  	0x74, 0x72, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
   851  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c,
   852  	0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
   853  	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
   854  	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x3f, 0xda,
   855  	0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x82,
   856  	0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x1f, 0x2f,
   857  	0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
   858  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xa7,
   859  	0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72,
   860  	0x69, 0x63, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67,
   861  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67,
   862  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
   863  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76,
   864  	0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x4b, 0xda, 0x41, 0x12,
   865  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, 0x65, 0x74, 0x72,
   866  	0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
   867  	0x1a, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61,
   868  	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65,
   869  	0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c,
   870  	0x65, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x67,
   871  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
   872  	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   873  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   874  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
   875  	0x3c, 0xda, 0x41, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82,
   876  	0xd3, 0xe4, 0x93, 0x02, 0x28, 0x2a, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x72,
   877  	0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
   878  	0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x8d, 0x02,
   879  	0xca, 0x41, 0x16, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   880  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xf0, 0x01, 0x68, 0x74, 0x74,
   881  	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
   882  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f,
   883  	0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70,
   884  	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   885  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
   886  	0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d,
   887  	0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
   888  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
   889  	0x61, 0x75, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, 0x6d,
   890  	0x69, 0x6e, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
   891  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
   892  	0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2c,
   893  	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   894  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
   895  	0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xb9, 0x01,
   896  	0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
   897  	0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x13, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
   898  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35,
   899  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
   900  	0x2f, 0x67, 0x6f, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x76,
   901  	0x32, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x70, 0x62, 0x3b, 0x6c, 0x6f, 0x67, 0x67,
   902  	0x69, 0x6e, 0x67, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
   903  	0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e,
   904  	0x56, 0x32, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
   905  	0x64, 0x5c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x1a, 0x47,
   906  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4c, 0x6f,
   907  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   908  	0x33,
   909  }
   910  
   911  var (
   912  	file_google_logging_v2_logging_metrics_proto_rawDescOnce sync.Once
   913  	file_google_logging_v2_logging_metrics_proto_rawDescData = file_google_logging_v2_logging_metrics_proto_rawDesc
   914  )
   915  
   916  func file_google_logging_v2_logging_metrics_proto_rawDescGZIP() []byte {
   917  	file_google_logging_v2_logging_metrics_proto_rawDescOnce.Do(func() {
   918  		file_google_logging_v2_logging_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_logging_v2_logging_metrics_proto_rawDescData)
   919  	})
   920  	return file_google_logging_v2_logging_metrics_proto_rawDescData
   921  }
   922  
   923  var file_google_logging_v2_logging_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   924  var file_google_logging_v2_logging_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
   925  var file_google_logging_v2_logging_metrics_proto_goTypes = []interface{}{
   926  	(LogMetric_ApiVersion)(0),                       // 0: google.logging.v2.LogMetric.ApiVersion
   927  	(*LogMetric)(nil),                               // 1: google.logging.v2.LogMetric
   928  	(*ListLogMetricsRequest)(nil),                   // 2: google.logging.v2.ListLogMetricsRequest
   929  	(*ListLogMetricsResponse)(nil),                  // 3: google.logging.v2.ListLogMetricsResponse
   930  	(*GetLogMetricRequest)(nil),                     // 4: google.logging.v2.GetLogMetricRequest
   931  	(*CreateLogMetricRequest)(nil),                  // 5: google.logging.v2.CreateLogMetricRequest
   932  	(*UpdateLogMetricRequest)(nil),                  // 6: google.logging.v2.UpdateLogMetricRequest
   933  	(*DeleteLogMetricRequest)(nil),                  // 7: google.logging.v2.DeleteLogMetricRequest
   934  	nil,                                             // 8: google.logging.v2.LogMetric.LabelExtractorsEntry
   935  	(*metric.MetricDescriptor)(nil),                 // 9: google.api.MetricDescriptor
   936  	(*distribution.Distribution_BucketOptions)(nil), // 10: google.api.Distribution.BucketOptions
   937  	(*timestamppb.Timestamp)(nil),                   // 11: google.protobuf.Timestamp
   938  	(*emptypb.Empty)(nil),                           // 12: google.protobuf.Empty
   939  }
   940  var file_google_logging_v2_logging_metrics_proto_depIdxs = []int32{
   941  	9,  // 0: google.logging.v2.LogMetric.metric_descriptor:type_name -> google.api.MetricDescriptor
   942  	8,  // 1: google.logging.v2.LogMetric.label_extractors:type_name -> google.logging.v2.LogMetric.LabelExtractorsEntry
   943  	10, // 2: google.logging.v2.LogMetric.bucket_options:type_name -> google.api.Distribution.BucketOptions
   944  	11, // 3: google.logging.v2.LogMetric.create_time:type_name -> google.protobuf.Timestamp
   945  	11, // 4: google.logging.v2.LogMetric.update_time:type_name -> google.protobuf.Timestamp
   946  	0,  // 5: google.logging.v2.LogMetric.version:type_name -> google.logging.v2.LogMetric.ApiVersion
   947  	1,  // 6: google.logging.v2.ListLogMetricsResponse.metrics:type_name -> google.logging.v2.LogMetric
   948  	1,  // 7: google.logging.v2.CreateLogMetricRequest.metric:type_name -> google.logging.v2.LogMetric
   949  	1,  // 8: google.logging.v2.UpdateLogMetricRequest.metric:type_name -> google.logging.v2.LogMetric
   950  	2,  // 9: google.logging.v2.MetricsServiceV2.ListLogMetrics:input_type -> google.logging.v2.ListLogMetricsRequest
   951  	4,  // 10: google.logging.v2.MetricsServiceV2.GetLogMetric:input_type -> google.logging.v2.GetLogMetricRequest
   952  	5,  // 11: google.logging.v2.MetricsServiceV2.CreateLogMetric:input_type -> google.logging.v2.CreateLogMetricRequest
   953  	6,  // 12: google.logging.v2.MetricsServiceV2.UpdateLogMetric:input_type -> google.logging.v2.UpdateLogMetricRequest
   954  	7,  // 13: google.logging.v2.MetricsServiceV2.DeleteLogMetric:input_type -> google.logging.v2.DeleteLogMetricRequest
   955  	3,  // 14: google.logging.v2.MetricsServiceV2.ListLogMetrics:output_type -> google.logging.v2.ListLogMetricsResponse
   956  	1,  // 15: google.logging.v2.MetricsServiceV2.GetLogMetric:output_type -> google.logging.v2.LogMetric
   957  	1,  // 16: google.logging.v2.MetricsServiceV2.CreateLogMetric:output_type -> google.logging.v2.LogMetric
   958  	1,  // 17: google.logging.v2.MetricsServiceV2.UpdateLogMetric:output_type -> google.logging.v2.LogMetric
   959  	12, // 18: google.logging.v2.MetricsServiceV2.DeleteLogMetric:output_type -> google.protobuf.Empty
   960  	14, // [14:19] is the sub-list for method output_type
   961  	9,  // [9:14] is the sub-list for method input_type
   962  	9,  // [9:9] is the sub-list for extension type_name
   963  	9,  // [9:9] is the sub-list for extension extendee
   964  	0,  // [0:9] is the sub-list for field type_name
   965  }
   966  
   967  func init() { file_google_logging_v2_logging_metrics_proto_init() }
   968  func file_google_logging_v2_logging_metrics_proto_init() {
   969  	if File_google_logging_v2_logging_metrics_proto != nil {
   970  		return
   971  	}
   972  	if !protoimpl.UnsafeEnabled {
   973  		file_google_logging_v2_logging_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   974  			switch v := v.(*LogMetric); i {
   975  			case 0:
   976  				return &v.state
   977  			case 1:
   978  				return &v.sizeCache
   979  			case 2:
   980  				return &v.unknownFields
   981  			default:
   982  				return nil
   983  			}
   984  		}
   985  		file_google_logging_v2_logging_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   986  			switch v := v.(*ListLogMetricsRequest); i {
   987  			case 0:
   988  				return &v.state
   989  			case 1:
   990  				return &v.sizeCache
   991  			case 2:
   992  				return &v.unknownFields
   993  			default:
   994  				return nil
   995  			}
   996  		}
   997  		file_google_logging_v2_logging_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   998  			switch v := v.(*ListLogMetricsResponse); i {
   999  			case 0:
  1000  				return &v.state
  1001  			case 1:
  1002  				return &v.sizeCache
  1003  			case 2:
  1004  				return &v.unknownFields
  1005  			default:
  1006  				return nil
  1007  			}
  1008  		}
  1009  		file_google_logging_v2_logging_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1010  			switch v := v.(*GetLogMetricRequest); i {
  1011  			case 0:
  1012  				return &v.state
  1013  			case 1:
  1014  				return &v.sizeCache
  1015  			case 2:
  1016  				return &v.unknownFields
  1017  			default:
  1018  				return nil
  1019  			}
  1020  		}
  1021  		file_google_logging_v2_logging_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1022  			switch v := v.(*CreateLogMetricRequest); i {
  1023  			case 0:
  1024  				return &v.state
  1025  			case 1:
  1026  				return &v.sizeCache
  1027  			case 2:
  1028  				return &v.unknownFields
  1029  			default:
  1030  				return nil
  1031  			}
  1032  		}
  1033  		file_google_logging_v2_logging_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1034  			switch v := v.(*UpdateLogMetricRequest); i {
  1035  			case 0:
  1036  				return &v.state
  1037  			case 1:
  1038  				return &v.sizeCache
  1039  			case 2:
  1040  				return &v.unknownFields
  1041  			default:
  1042  				return nil
  1043  			}
  1044  		}
  1045  		file_google_logging_v2_logging_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1046  			switch v := v.(*DeleteLogMetricRequest); i {
  1047  			case 0:
  1048  				return &v.state
  1049  			case 1:
  1050  				return &v.sizeCache
  1051  			case 2:
  1052  				return &v.unknownFields
  1053  			default:
  1054  				return nil
  1055  			}
  1056  		}
  1057  	}
  1058  	type x struct{}
  1059  	out := protoimpl.TypeBuilder{
  1060  		File: protoimpl.DescBuilder{
  1061  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1062  			RawDescriptor: file_google_logging_v2_logging_metrics_proto_rawDesc,
  1063  			NumEnums:      1,
  1064  			NumMessages:   8,
  1065  			NumExtensions: 0,
  1066  			NumServices:   1,
  1067  		},
  1068  		GoTypes:           file_google_logging_v2_logging_metrics_proto_goTypes,
  1069  		DependencyIndexes: file_google_logging_v2_logging_metrics_proto_depIdxs,
  1070  		EnumInfos:         file_google_logging_v2_logging_metrics_proto_enumTypes,
  1071  		MessageInfos:      file_google_logging_v2_logging_metrics_proto_msgTypes,
  1072  	}.Build()
  1073  	File_google_logging_v2_logging_metrics_proto = out.File
  1074  	file_google_logging_v2_logging_metrics_proto_rawDesc = nil
  1075  	file_google_logging_v2_logging_metrics_proto_goTypes = nil
  1076  	file_google_logging_v2_logging_metrics_proto_depIdxs = nil
  1077  }
  1078  
  1079  // Reference imports to suppress errors if they are not otherwise used.
  1080  var _ context.Context
  1081  var _ grpc.ClientConnInterface
  1082  
  1083  // This is a compile-time assertion to ensure that this generated file
  1084  // is compatible with the grpc package it is being compiled against.
  1085  const _ = grpc.SupportPackageIsVersion6
  1086  
  1087  // MetricsServiceV2Client is the client API for MetricsServiceV2 service.
  1088  //
  1089  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1090  type MetricsServiceV2Client interface {
  1091  	// Lists logs-based metrics.
  1092  	ListLogMetrics(ctx context.Context, in *ListLogMetricsRequest, opts ...grpc.CallOption) (*ListLogMetricsResponse, error)
  1093  	// Gets a logs-based metric.
  1094  	GetLogMetric(ctx context.Context, in *GetLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error)
  1095  	// Creates a logs-based metric.
  1096  	CreateLogMetric(ctx context.Context, in *CreateLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error)
  1097  	// Creates or updates a logs-based metric.
  1098  	UpdateLogMetric(ctx context.Context, in *UpdateLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error)
  1099  	// Deletes a logs-based metric.
  1100  	DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  1101  }
  1102  
  1103  type metricsServiceV2Client struct {
  1104  	cc grpc.ClientConnInterface
  1105  }
  1106  
  1107  func NewMetricsServiceV2Client(cc grpc.ClientConnInterface) MetricsServiceV2Client {
  1108  	return &metricsServiceV2Client{cc}
  1109  }
  1110  
  1111  func (c *metricsServiceV2Client) ListLogMetrics(ctx context.Context, in *ListLogMetricsRequest, opts ...grpc.CallOption) (*ListLogMetricsResponse, error) {
  1112  	out := new(ListLogMetricsResponse)
  1113  	err := c.cc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/ListLogMetrics", in, out, opts...)
  1114  	if err != nil {
  1115  		return nil, err
  1116  	}
  1117  	return out, nil
  1118  }
  1119  
  1120  func (c *metricsServiceV2Client) GetLogMetric(ctx context.Context, in *GetLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error) {
  1121  	out := new(LogMetric)
  1122  	err := c.cc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/GetLogMetric", in, out, opts...)
  1123  	if err != nil {
  1124  		return nil, err
  1125  	}
  1126  	return out, nil
  1127  }
  1128  
  1129  func (c *metricsServiceV2Client) CreateLogMetric(ctx context.Context, in *CreateLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error) {
  1130  	out := new(LogMetric)
  1131  	err := c.cc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/CreateLogMetric", in, out, opts...)
  1132  	if err != nil {
  1133  		return nil, err
  1134  	}
  1135  	return out, nil
  1136  }
  1137  
  1138  func (c *metricsServiceV2Client) UpdateLogMetric(ctx context.Context, in *UpdateLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error) {
  1139  	out := new(LogMetric)
  1140  	err := c.cc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/UpdateLogMetric", in, out, opts...)
  1141  	if err != nil {
  1142  		return nil, err
  1143  	}
  1144  	return out, nil
  1145  }
  1146  
  1147  func (c *metricsServiceV2Client) DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  1148  	out := new(emptypb.Empty)
  1149  	err := c.cc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/DeleteLogMetric", in, out, opts...)
  1150  	if err != nil {
  1151  		return nil, err
  1152  	}
  1153  	return out, nil
  1154  }
  1155  
  1156  // MetricsServiceV2Server is the server API for MetricsServiceV2 service.
  1157  type MetricsServiceV2Server interface {
  1158  	// Lists logs-based metrics.
  1159  	ListLogMetrics(context.Context, *ListLogMetricsRequest) (*ListLogMetricsResponse, error)
  1160  	// Gets a logs-based metric.
  1161  	GetLogMetric(context.Context, *GetLogMetricRequest) (*LogMetric, error)
  1162  	// Creates a logs-based metric.
  1163  	CreateLogMetric(context.Context, *CreateLogMetricRequest) (*LogMetric, error)
  1164  	// Creates or updates a logs-based metric.
  1165  	UpdateLogMetric(context.Context, *UpdateLogMetricRequest) (*LogMetric, error)
  1166  	// Deletes a logs-based metric.
  1167  	DeleteLogMetric(context.Context, *DeleteLogMetricRequest) (*emptypb.Empty, error)
  1168  }
  1169  
  1170  // UnimplementedMetricsServiceV2Server can be embedded to have forward compatible implementations.
  1171  type UnimplementedMetricsServiceV2Server struct {
  1172  }
  1173  
  1174  func (*UnimplementedMetricsServiceV2Server) ListLogMetrics(context.Context, *ListLogMetricsRequest) (*ListLogMetricsResponse, error) {
  1175  	return nil, status.Errorf(codes.Unimplemented, "method ListLogMetrics not implemented")
  1176  }
  1177  func (*UnimplementedMetricsServiceV2Server) GetLogMetric(context.Context, *GetLogMetricRequest) (*LogMetric, error) {
  1178  	return nil, status.Errorf(codes.Unimplemented, "method GetLogMetric not implemented")
  1179  }
  1180  func (*UnimplementedMetricsServiceV2Server) CreateLogMetric(context.Context, *CreateLogMetricRequest) (*LogMetric, error) {
  1181  	return nil, status.Errorf(codes.Unimplemented, "method CreateLogMetric not implemented")
  1182  }
  1183  func (*UnimplementedMetricsServiceV2Server) UpdateLogMetric(context.Context, *UpdateLogMetricRequest) (*LogMetric, error) {
  1184  	return nil, status.Errorf(codes.Unimplemented, "method UpdateLogMetric not implemented")
  1185  }
  1186  func (*UnimplementedMetricsServiceV2Server) DeleteLogMetric(context.Context, *DeleteLogMetricRequest) (*emptypb.Empty, error) {
  1187  	return nil, status.Errorf(codes.Unimplemented, "method DeleteLogMetric not implemented")
  1188  }
  1189  
  1190  func RegisterMetricsServiceV2Server(s *grpc.Server, srv MetricsServiceV2Server) {
  1191  	s.RegisterService(&_MetricsServiceV2_serviceDesc, srv)
  1192  }
  1193  
  1194  func _MetricsServiceV2_ListLogMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1195  	in := new(ListLogMetricsRequest)
  1196  	if err := dec(in); err != nil {
  1197  		return nil, err
  1198  	}
  1199  	if interceptor == nil {
  1200  		return srv.(MetricsServiceV2Server).ListLogMetrics(ctx, in)
  1201  	}
  1202  	info := &grpc.UnaryServerInfo{
  1203  		Server:     srv,
  1204  		FullMethod: "/google.logging.v2.MetricsServiceV2/ListLogMetrics",
  1205  	}
  1206  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1207  		return srv.(MetricsServiceV2Server).ListLogMetrics(ctx, req.(*ListLogMetricsRequest))
  1208  	}
  1209  	return interceptor(ctx, in, info, handler)
  1210  }
  1211  
  1212  func _MetricsServiceV2_GetLogMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1213  	in := new(GetLogMetricRequest)
  1214  	if err := dec(in); err != nil {
  1215  		return nil, err
  1216  	}
  1217  	if interceptor == nil {
  1218  		return srv.(MetricsServiceV2Server).GetLogMetric(ctx, in)
  1219  	}
  1220  	info := &grpc.UnaryServerInfo{
  1221  		Server:     srv,
  1222  		FullMethod: "/google.logging.v2.MetricsServiceV2/GetLogMetric",
  1223  	}
  1224  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1225  		return srv.(MetricsServiceV2Server).GetLogMetric(ctx, req.(*GetLogMetricRequest))
  1226  	}
  1227  	return interceptor(ctx, in, info, handler)
  1228  }
  1229  
  1230  func _MetricsServiceV2_CreateLogMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1231  	in := new(CreateLogMetricRequest)
  1232  	if err := dec(in); err != nil {
  1233  		return nil, err
  1234  	}
  1235  	if interceptor == nil {
  1236  		return srv.(MetricsServiceV2Server).CreateLogMetric(ctx, in)
  1237  	}
  1238  	info := &grpc.UnaryServerInfo{
  1239  		Server:     srv,
  1240  		FullMethod: "/google.logging.v2.MetricsServiceV2/CreateLogMetric",
  1241  	}
  1242  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1243  		return srv.(MetricsServiceV2Server).CreateLogMetric(ctx, req.(*CreateLogMetricRequest))
  1244  	}
  1245  	return interceptor(ctx, in, info, handler)
  1246  }
  1247  
  1248  func _MetricsServiceV2_UpdateLogMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1249  	in := new(UpdateLogMetricRequest)
  1250  	if err := dec(in); err != nil {
  1251  		return nil, err
  1252  	}
  1253  	if interceptor == nil {
  1254  		return srv.(MetricsServiceV2Server).UpdateLogMetric(ctx, in)
  1255  	}
  1256  	info := &grpc.UnaryServerInfo{
  1257  		Server:     srv,
  1258  		FullMethod: "/google.logging.v2.MetricsServiceV2/UpdateLogMetric",
  1259  	}
  1260  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1261  		return srv.(MetricsServiceV2Server).UpdateLogMetric(ctx, req.(*UpdateLogMetricRequest))
  1262  	}
  1263  	return interceptor(ctx, in, info, handler)
  1264  }
  1265  
  1266  func _MetricsServiceV2_DeleteLogMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1267  	in := new(DeleteLogMetricRequest)
  1268  	if err := dec(in); err != nil {
  1269  		return nil, err
  1270  	}
  1271  	if interceptor == nil {
  1272  		return srv.(MetricsServiceV2Server).DeleteLogMetric(ctx, in)
  1273  	}
  1274  	info := &grpc.UnaryServerInfo{
  1275  		Server:     srv,
  1276  		FullMethod: "/google.logging.v2.MetricsServiceV2/DeleteLogMetric",
  1277  	}
  1278  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1279  		return srv.(MetricsServiceV2Server).DeleteLogMetric(ctx, req.(*DeleteLogMetricRequest))
  1280  	}
  1281  	return interceptor(ctx, in, info, handler)
  1282  }
  1283  
  1284  var _MetricsServiceV2_serviceDesc = grpc.ServiceDesc{
  1285  	ServiceName: "google.logging.v2.MetricsServiceV2",
  1286  	HandlerType: (*MetricsServiceV2Server)(nil),
  1287  	Methods: []grpc.MethodDesc{
  1288  		{
  1289  			MethodName: "ListLogMetrics",
  1290  			Handler:    _MetricsServiceV2_ListLogMetrics_Handler,
  1291  		},
  1292  		{
  1293  			MethodName: "GetLogMetric",
  1294  			Handler:    _MetricsServiceV2_GetLogMetric_Handler,
  1295  		},
  1296  		{
  1297  			MethodName: "CreateLogMetric",
  1298  			Handler:    _MetricsServiceV2_CreateLogMetric_Handler,
  1299  		},
  1300  		{
  1301  			MethodName: "UpdateLogMetric",
  1302  			Handler:    _MetricsServiceV2_UpdateLogMetric_Handler,
  1303  		},
  1304  		{
  1305  			MethodName: "DeleteLogMetric",
  1306  			Handler:    _MetricsServiceV2_DeleteLogMetric_Handler,
  1307  		},
  1308  	},
  1309  	Streams:  []grpc.StreamDesc{},
  1310  	Metadata: "google/logging/v2/logging_metrics.proto",
  1311  }
  1312  

View as plain text