1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.logging.v2; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/distribution.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/metric.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 27*d5c09012SAndroid Build Coastguard Worker 28*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Logging.V2"; 30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb"; 31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "LoggingMetricsProto"; 33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.logging.v2"; 34*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Logging\\V2"; 35*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Logging::V2"; 36*d5c09012SAndroid Build Coastguard Worker 37*d5c09012SAndroid Build Coastguard Worker// Service for configuring logs-based metrics. 38*d5c09012SAndroid Build Coastguard Workerservice MetricsServiceV2 { 39*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "logging.googleapis.com"; 40*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 41*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 42*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform.read-only," 43*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/logging.admin," 44*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/logging.read," 45*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/logging.write"; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Lists logs-based metrics. 48*d5c09012SAndroid Build Coastguard Worker rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) { 49*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 50*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*}/metrics" 51*d5c09012SAndroid Build Coastguard Worker }; 52*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 53*d5c09012SAndroid Build Coastguard Worker } 54*d5c09012SAndroid Build Coastguard Worker 55*d5c09012SAndroid Build Coastguard Worker // Gets a logs-based metric. 56*d5c09012SAndroid Build Coastguard Worker rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) { 57*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 58*d5c09012SAndroid Build Coastguard Worker get: "/v2/{metric_name=projects/*/metrics/*}" 59*d5c09012SAndroid Build Coastguard Worker }; 60*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "metric_name"; 61*d5c09012SAndroid Build Coastguard Worker } 62*d5c09012SAndroid Build Coastguard Worker 63*d5c09012SAndroid Build Coastguard Worker // Creates a logs-based metric. 64*d5c09012SAndroid Build Coastguard Worker rpc CreateLogMetric(CreateLogMetricRequest) returns (LogMetric) { 65*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 66*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/metrics" 67*d5c09012SAndroid Build Coastguard Worker body: "metric" 68*d5c09012SAndroid Build Coastguard Worker }; 69*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,metric"; 70*d5c09012SAndroid Build Coastguard Worker } 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Creates or updates a logs-based metric. 73*d5c09012SAndroid Build Coastguard Worker rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) { 74*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 75*d5c09012SAndroid Build Coastguard Worker put: "/v2/{metric_name=projects/*/metrics/*}" 76*d5c09012SAndroid Build Coastguard Worker body: "metric" 77*d5c09012SAndroid Build Coastguard Worker }; 78*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "metric_name,metric"; 79*d5c09012SAndroid Build Coastguard Worker } 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Deletes a logs-based metric. 82*d5c09012SAndroid Build Coastguard Worker rpc DeleteLogMetric(DeleteLogMetricRequest) returns (google.protobuf.Empty) { 83*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 84*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{metric_name=projects/*/metrics/*}" 85*d5c09012SAndroid Build Coastguard Worker }; 86*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "metric_name"; 87*d5c09012SAndroid Build Coastguard Worker } 88*d5c09012SAndroid Build Coastguard Worker} 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker// Describes a logs-based metric. The value of the metric is the number of log 91*d5c09012SAndroid Build Coastguard Worker// entries that match a logs filter in a given time interval. 92*d5c09012SAndroid Build Coastguard Worker// 93*d5c09012SAndroid Build Coastguard Worker// Logs-based metrics can also be used to extract values from logs and create a 94*d5c09012SAndroid Build Coastguard Worker// distribution of the values. The distribution records the statistics of the 95*d5c09012SAndroid Build Coastguard Worker// extracted values along with an optional histogram of the values as specified 96*d5c09012SAndroid Build Coastguard Worker// by the bucket options. 97*d5c09012SAndroid Build Coastguard Workermessage LogMetric { 98*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 99*d5c09012SAndroid Build Coastguard Worker type: "logging.googleapis.com/LogMetric" 100*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/metrics/{metric}" 101*d5c09012SAndroid Build Coastguard Worker }; 102*d5c09012SAndroid Build Coastguard Worker 103*d5c09012SAndroid Build Coastguard Worker // Logging API version. 104*d5c09012SAndroid Build Coastguard Worker enum ApiVersion { 105*d5c09012SAndroid Build Coastguard Worker // Logging API v2. 106*d5c09012SAndroid Build Coastguard Worker V2 = 0; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Logging API v1. 109*d5c09012SAndroid Build Coastguard Worker V1 = 1; 110*d5c09012SAndroid Build Coastguard Worker } 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Required. The client-assigned metric identifier. 113*d5c09012SAndroid Build Coastguard Worker // Examples: `"error_count"`, `"nginx/requests"`. 114*d5c09012SAndroid Build Coastguard Worker // 115*d5c09012SAndroid Build Coastguard Worker // Metric identifiers are limited to 100 characters and can include only the 116*d5c09012SAndroid Build Coastguard Worker // following characters: `A-Z`, `a-z`, `0-9`, and the special characters 117*d5c09012SAndroid Build Coastguard Worker // `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of 118*d5c09012SAndroid Build Coastguard Worker // name pieces, and it cannot be the first character of the name. 119*d5c09012SAndroid Build Coastguard Worker // 120*d5c09012SAndroid Build Coastguard Worker // This field is the `[METRIC_ID]` part of a metric resource name in the 121*d5c09012SAndroid Build Coastguard Worker // format "projects/[PROJECT_ID]/metrics/[METRIC_ID]". Example: If the 122*d5c09012SAndroid Build Coastguard Worker // resource name of a metric is 123*d5c09012SAndroid Build Coastguard Worker // `"projects/my-project/metrics/nginx%2Frequests"`, this field's value is 124*d5c09012SAndroid Build Coastguard Worker // `"nginx/requests"`. 125*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 126*d5c09012SAndroid Build Coastguard Worker 127*d5c09012SAndroid Build Coastguard Worker // Optional. A description of this metric, which is used in documentation. 128*d5c09012SAndroid Build Coastguard Worker // The maximum length of the description is 8000 characters. 129*d5c09012SAndroid Build Coastguard Worker string description = 2 [(google.api.field_behavior) = OPTIONAL]; 130*d5c09012SAndroid Build Coastguard Worker 131*d5c09012SAndroid Build Coastguard Worker // Required. An [advanced logs 132*d5c09012SAndroid Build Coastguard Worker // filter](https://cloud.google.com/logging/docs/view/advanced_filters) which 133*d5c09012SAndroid Build Coastguard Worker // is used to match log entries. Example: 134*d5c09012SAndroid Build Coastguard Worker // 135*d5c09012SAndroid Build Coastguard Worker // "resource.type=gae_app AND severity>=ERROR" 136*d5c09012SAndroid Build Coastguard Worker // 137*d5c09012SAndroid Build Coastguard Worker // The maximum length of the filter is 20000 characters. 138*d5c09012SAndroid Build Coastguard Worker string filter = 3 [(google.api.field_behavior) = REQUIRED]; 139*d5c09012SAndroid Build Coastguard Worker 140*d5c09012SAndroid Build Coastguard Worker // Optional. The resource name of the Log Bucket that owns the Log Metric. 141*d5c09012SAndroid Build Coastguard Worker // Only Log Buckets in projects are supported. The bucket has to be in the 142*d5c09012SAndroid Build Coastguard Worker // same project as the metric. 143*d5c09012SAndroid Build Coastguard Worker // 144*d5c09012SAndroid Build Coastguard Worker // For example: 145*d5c09012SAndroid Build Coastguard Worker // 146*d5c09012SAndroid Build Coastguard Worker // `projects/my-project/locations/global/buckets/my-bucket` 147*d5c09012SAndroid Build Coastguard Worker // 148*d5c09012SAndroid Build Coastguard Worker // If empty, then the Log Metric is considered a non-Bucket Log Metric. 149*d5c09012SAndroid Build Coastguard Worker string bucket_name = 13 [(google.api.field_behavior) = OPTIONAL]; 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Optional. If set to True, then this metric is disabled and it does not 152*d5c09012SAndroid Build Coastguard Worker // generate any points. 153*d5c09012SAndroid Build Coastguard Worker bool disabled = 12 [(google.api.field_behavior) = OPTIONAL]; 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Optional. The metric descriptor associated with the logs-based metric. 156*d5c09012SAndroid Build Coastguard Worker // If unspecified, it uses a default metric descriptor with a DELTA metric 157*d5c09012SAndroid Build Coastguard Worker // kind, INT64 value type, with no labels and a unit of "1". Such a metric 158*d5c09012SAndroid Build Coastguard Worker // counts the number of log entries matching the `filter` expression. 159*d5c09012SAndroid Build Coastguard Worker // 160*d5c09012SAndroid Build Coastguard Worker // The `name`, `type`, and `description` fields in the `metric_descriptor` 161*d5c09012SAndroid Build Coastguard Worker // are output only, and is constructed using the `name` and `description` 162*d5c09012SAndroid Build Coastguard Worker // field in the LogMetric. 163*d5c09012SAndroid Build Coastguard Worker // 164*d5c09012SAndroid Build Coastguard Worker // To create a logs-based metric that records a distribution of log values, a 165*d5c09012SAndroid Build Coastguard Worker // DELTA metric kind with a DISTRIBUTION value type must be used along with 166*d5c09012SAndroid Build Coastguard Worker // a `value_extractor` expression in the LogMetric. 167*d5c09012SAndroid Build Coastguard Worker // 168*d5c09012SAndroid Build Coastguard Worker // Each label in the metric descriptor must have a matching label 169*d5c09012SAndroid Build Coastguard Worker // name as the key and an extractor expression as the value in the 170*d5c09012SAndroid Build Coastguard Worker // `label_extractors` map. 171*d5c09012SAndroid Build Coastguard Worker // 172*d5c09012SAndroid Build Coastguard Worker // The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot 173*d5c09012SAndroid Build Coastguard Worker // be updated once initially configured. New labels can be added in the 174*d5c09012SAndroid Build Coastguard Worker // `metric_descriptor`, but existing labels cannot be modified except for 175*d5c09012SAndroid Build Coastguard Worker // their description. 176*d5c09012SAndroid Build Coastguard Worker google.api.MetricDescriptor metric_descriptor = 5 177*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // Optional. A `value_extractor` is required when using a distribution 180*d5c09012SAndroid Build Coastguard Worker // logs-based metric to extract the values to record from a log entry. 181*d5c09012SAndroid Build Coastguard Worker // Two functions are supported for value extraction: `EXTRACT(field)` or 182*d5c09012SAndroid Build Coastguard Worker // `REGEXP_EXTRACT(field, regex)`. The arguments are: 183*d5c09012SAndroid Build Coastguard Worker // 184*d5c09012SAndroid Build Coastguard Worker // 1. field: The name of the log entry field from which the value is to be 185*d5c09012SAndroid Build Coastguard Worker // extracted. 186*d5c09012SAndroid Build Coastguard Worker // 2. regex: A regular expression using the Google RE2 syntax 187*d5c09012SAndroid Build Coastguard Worker // (https://github.com/google/re2/wiki/Syntax) with a single capture 188*d5c09012SAndroid Build Coastguard Worker // group to extract data from the specified log entry field. The value 189*d5c09012SAndroid Build Coastguard Worker // of the field is converted to a string before applying the regex. 190*d5c09012SAndroid Build Coastguard Worker // It is an error to specify a regex that does not include exactly one 191*d5c09012SAndroid Build Coastguard Worker // capture group. 192*d5c09012SAndroid Build Coastguard Worker // 193*d5c09012SAndroid Build Coastguard Worker // The result of the extraction must be convertible to a double type, as the 194*d5c09012SAndroid Build Coastguard Worker // distribution always records double values. If either the extraction or 195*d5c09012SAndroid Build Coastguard Worker // the conversion to double fails, then those values are not recorded in the 196*d5c09012SAndroid Build Coastguard Worker // distribution. 197*d5c09012SAndroid Build Coastguard Worker // 198*d5c09012SAndroid Build Coastguard Worker // Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")` 199*d5c09012SAndroid Build Coastguard Worker string value_extractor = 6 [(google.api.field_behavior) = OPTIONAL]; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // Optional. A map from a label key string to an extractor expression which is 202*d5c09012SAndroid Build Coastguard Worker // used to extract data from a log entry field and assign as the label value. 203*d5c09012SAndroid Build Coastguard Worker // Each label key specified in the LabelDescriptor must have an associated 204*d5c09012SAndroid Build Coastguard Worker // extractor expression in this map. The syntax of the extractor expression 205*d5c09012SAndroid Build Coastguard Worker // is the same as for the `value_extractor` field. 206*d5c09012SAndroid Build Coastguard Worker // 207*d5c09012SAndroid Build Coastguard Worker // The extracted value is converted to the type defined in the label 208*d5c09012SAndroid Build Coastguard Worker // descriptor. If either the extraction or the type conversion fails, 209*d5c09012SAndroid Build Coastguard Worker // the label will have a default value. The default value for a string 210*d5c09012SAndroid Build Coastguard Worker // label is an empty string, for an integer label its 0, and for a boolean 211*d5c09012SAndroid Build Coastguard Worker // label its `false`. 212*d5c09012SAndroid Build Coastguard Worker // 213*d5c09012SAndroid Build Coastguard Worker // Note that there are upper bounds on the maximum number of labels and the 214*d5c09012SAndroid Build Coastguard Worker // number of active time series that are allowed in a project. 215*d5c09012SAndroid Build Coastguard Worker map<string, string> label_extractors = 7 216*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 217*d5c09012SAndroid Build Coastguard Worker 218*d5c09012SAndroid Build Coastguard Worker // Optional. The `bucket_options` are required when the logs-based metric is 219*d5c09012SAndroid Build Coastguard Worker // using a DISTRIBUTION value type and it describes the bucket boundaries 220*d5c09012SAndroid Build Coastguard Worker // used to create a histogram of the extracted values. 221*d5c09012SAndroid Build Coastguard Worker google.api.Distribution.BucketOptions bucket_options = 8 222*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // Output only. The creation timestamp of the metric. 225*d5c09012SAndroid Build Coastguard Worker // 226*d5c09012SAndroid Build Coastguard Worker // This field may not be present for older metrics. 227*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 9 228*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 229*d5c09012SAndroid Build Coastguard Worker 230*d5c09012SAndroid Build Coastguard Worker // Output only. The last update timestamp of the metric. 231*d5c09012SAndroid Build Coastguard Worker // 232*d5c09012SAndroid Build Coastguard Worker // This field may not be present for older metrics. 233*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 10 234*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Deprecated. The API version that created or updated this metric. 237*d5c09012SAndroid Build Coastguard Worker // The v2 format is used by default and cannot be changed. 238*d5c09012SAndroid Build Coastguard Worker ApiVersion version = 4 [deprecated = true]; 239*d5c09012SAndroid Build Coastguard Worker} 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker// The parameters to ListLogMetrics. 242*d5c09012SAndroid Build Coastguard Workermessage ListLogMetricsRequest { 243*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project containing the metrics: 244*d5c09012SAndroid Build Coastguard Worker // 245*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]" 246*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 247*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 248*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 249*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 250*d5c09012SAndroid Build Coastguard Worker } 251*d5c09012SAndroid Build Coastguard Worker ]; 252*d5c09012SAndroid Build Coastguard Worker 253*d5c09012SAndroid Build Coastguard Worker // Optional. If present, then retrieve the next batch of results from the 254*d5c09012SAndroid Build Coastguard Worker // preceding call to this method. `pageToken` must be the value of 255*d5c09012SAndroid Build Coastguard Worker // `nextPageToken` from the previous response. The values of other method 256*d5c09012SAndroid Build Coastguard Worker // parameters should be identical to those in the previous call. 257*d5c09012SAndroid Build Coastguard Worker string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; 258*d5c09012SAndroid Build Coastguard Worker 259*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of results to return from this request. 260*d5c09012SAndroid Build Coastguard Worker // Non-positive values are ignored. The presence of `nextPageToken` in the 261*d5c09012SAndroid Build Coastguard Worker // response indicates that more results might be available. 262*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 263*d5c09012SAndroid Build Coastguard Worker} 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker// Result returned from ListLogMetrics. 266*d5c09012SAndroid Build Coastguard Workermessage ListLogMetricsResponse { 267*d5c09012SAndroid Build Coastguard Worker // A list of logs-based metrics. 268*d5c09012SAndroid Build Coastguard Worker repeated LogMetric metrics = 1; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // If there might be more results than appear in this response, then 271*d5c09012SAndroid Build Coastguard Worker // `nextPageToken` is included. To get the next set of results, call this 272*d5c09012SAndroid Build Coastguard Worker // method again using the value of `nextPageToken` as `pageToken`. 273*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 274*d5c09012SAndroid Build Coastguard Worker} 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker// The parameters to GetLogMetric. 277*d5c09012SAndroid Build Coastguard Workermessage GetLogMetricRequest { 278*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the desired metric: 279*d5c09012SAndroid Build Coastguard Worker // 280*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" 281*d5c09012SAndroid Build Coastguard Worker string metric_name = 1 [ 282*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 283*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 284*d5c09012SAndroid Build Coastguard Worker type: "logging.googleapis.com/LogMetric" 285*d5c09012SAndroid Build Coastguard Worker } 286*d5c09012SAndroid Build Coastguard Worker ]; 287*d5c09012SAndroid Build Coastguard Worker} 288*d5c09012SAndroid Build Coastguard Worker 289*d5c09012SAndroid Build Coastguard Worker// The parameters to CreateLogMetric. 290*d5c09012SAndroid Build Coastguard Workermessage CreateLogMetricRequest { 291*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the project in which to create the metric: 292*d5c09012SAndroid Build Coastguard Worker // 293*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]" 294*d5c09012SAndroid Build Coastguard Worker // 295*d5c09012SAndroid Build Coastguard Worker // The new metric must be provided in the request. 296*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 297*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 298*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 299*d5c09012SAndroid Build Coastguard Worker child_type: "logging.googleapis.com/LogMetric" 300*d5c09012SAndroid Build Coastguard Worker } 301*d5c09012SAndroid Build Coastguard Worker ]; 302*d5c09012SAndroid Build Coastguard Worker 303*d5c09012SAndroid Build Coastguard Worker // Required. The new logs-based metric, which must not have an identifier that 304*d5c09012SAndroid Build Coastguard Worker // already exists. 305*d5c09012SAndroid Build Coastguard Worker LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; 306*d5c09012SAndroid Build Coastguard Worker} 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker// The parameters to UpdateLogMetric. 309*d5c09012SAndroid Build Coastguard Workermessage UpdateLogMetricRequest { 310*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the metric to update: 311*d5c09012SAndroid Build Coastguard Worker // 312*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" 313*d5c09012SAndroid Build Coastguard Worker // 314*d5c09012SAndroid Build Coastguard Worker // The updated metric must be provided in the request and it's 315*d5c09012SAndroid Build Coastguard Worker // `name` field must be the same as `[METRIC_ID]` If the metric 316*d5c09012SAndroid Build Coastguard Worker // does not exist in `[PROJECT_ID]`, then a new metric is created. 317*d5c09012SAndroid Build Coastguard Worker string metric_name = 1 [ 318*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 319*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 320*d5c09012SAndroid Build Coastguard Worker type: "logging.googleapis.com/LogMetric" 321*d5c09012SAndroid Build Coastguard Worker } 322*d5c09012SAndroid Build Coastguard Worker ]; 323*d5c09012SAndroid Build Coastguard Worker 324*d5c09012SAndroid Build Coastguard Worker // Required. The updated metric. 325*d5c09012SAndroid Build Coastguard Worker LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; 326*d5c09012SAndroid Build Coastguard Worker} 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker// The parameters to DeleteLogMetric. 329*d5c09012SAndroid Build Coastguard Workermessage DeleteLogMetricRequest { 330*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the metric to delete: 331*d5c09012SAndroid Build Coastguard Worker // 332*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" 333*d5c09012SAndroid Build Coastguard Worker string metric_name = 1 [ 334*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 335*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 336*d5c09012SAndroid Build Coastguard Worker type: "logging.googleapis.com/LogMetric" 337*d5c09012SAndroid Build Coastguard Worker } 338*d5c09012SAndroid Build Coastguard Worker ]; 339*d5c09012SAndroid Build Coastguard Worker} 340