{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/cloud-platform.read-only": {
          "description": "View your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/logging.admin": {
          "description": "Administrate log data for your projects"
        },
        "https://www.googleapis.com/auth/logging.read": {
          "description": "View log data for your projects"
        },
        "https://www.googleapis.com/auth/logging.write": {
          "description": "Submit log data for your projects"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://logging.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Logging",
  "description": "Writes log entries and manages your Logging configuration.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/logging/docs/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "logging:v2beta1",
  "kind": "discovery#restDescription",
  "name": "logging",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "entries": {
      "methods": {
        "list": {
          "description": "Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.",
          "flatPath": "v2beta1/entries:list",
          "httpMethod": "POST",
          "id": "logging.entries.list",
          "parameterOrder": [],
          "parameters": {},
          "path": "v2beta1/entries:list",
          "request": {
            "$ref": "ListLogEntriesRequest"
          },
          "response": {
            "$ref": "ListLogEntriesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-platform.read-only",
            "https://www.googleapis.com/auth/logging.admin",
            "https://www.googleapis.com/auth/logging.read"
          ]
        },
        "write": {
          "description": "Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)",
          "flatPath": "v2beta1/entries:write",
          "httpMethod": "POST",
          "id": "logging.entries.write",
          "parameterOrder": [],
          "parameters": {},
          "path": "v2beta1/entries:write",
          "request": {
            "$ref": "WriteLogEntriesRequest"
          },
          "response": {
            "$ref": "WriteLogEntriesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/logging.admin",
            "https://www.googleapis.com/auth/logging.write"
          ]
        }
      }
    },
    "monitoredResourceDescriptors": {
      "methods": {
        "list": {
          "description": "Lists the descriptors for monitored resource types used by Logging.",
          "flatPath": "v2beta1/monitoredResourceDescriptors",
          "httpMethod": "GET",
          "id": "logging.monitoredResourceDescriptors.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v2beta1/monitoredResourceDescriptors",
          "response": {
            "$ref": "ListMonitoredResourceDescriptorsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-platform.read-only",
            "https://www.googleapis.com/auth/logging.admin",
            "https://www.googleapis.com/auth/logging.read"
          ]
        }
      }
    },
    "projects": {
      "resources": {
        "metrics": {
          "methods": {
            "create": {
              "description": "Creates a logs-based metric.",
              "flatPath": "v2beta1/projects/{projectsId}/metrics",
              "httpMethod": "POST",
              "id": "logging.projects.metrics.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "The resource name of the project in which to create the metric:\n\"projects/[PROJECT_ID]\"\nThe new metric must be provided in the request.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+parent}/metrics",
              "request": {
                "$ref": "LogMetric"
              },
              "response": {
                "$ref": "LogMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.write"
              ]
            },
            "delete": {
              "description": "Deletes a logs-based metric.",
              "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}",
              "httpMethod": "DELETE",
              "id": "logging.projects.metrics.delete",
              "parameterOrder": [
                "metricName"
              ],
              "parameters": {
                "metricName": {
                  "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n",
                  "location": "path",
                  "pattern": "^projects/[^/]+/metrics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+metricName}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.write"
              ]
            },
            "get": {
              "description": "Gets a logs-based metric.",
              "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}",
              "httpMethod": "GET",
              "id": "logging.projects.metrics.get",
              "parameterOrder": [
                "metricName"
              ],
              "parameters": {
                "metricName": {
                  "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n",
                  "location": "path",
                  "pattern": "^projects/[^/]+/metrics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+metricName}",
              "response": {
                "$ref": "LogMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.read"
              ]
            },
            "list": {
              "description": "Lists logs-based metrics.",
              "flatPath": "v2beta1/projects/{projectsId}/metrics",
              "httpMethod": "GET",
              "id": "logging.projects.metrics.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+parent}/metrics",
              "response": {
                "$ref": "ListLogMetricsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.read"
              ]
            },
            "update": {
              "description": "Creates or updates a logs-based metric.",
              "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}",
              "httpMethod": "PUT",
              "id": "logging.projects.metrics.update",
              "parameterOrder": [
                "metricName"
              ],
              "parameters": {
                "metricName": {
                  "description": "The resource name of the metric to update:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\nThe updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/metrics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+metricName}",
              "request": {
                "$ref": "LogMetric"
              },
              "response": {
                "$ref": "LogMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.write"
              ]
            }
          }
        },
        "sinks": {
          "methods": {
            "create": {
              "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.",
              "flatPath": "v2beta1/projects/{projectsId}/sinks",
              "httpMethod": "POST",
              "id": "logging.projects.sinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "uniqueWriterIdentity": {
                  "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.",
                  "location": "query",
                  "type": "boolean"
                }
              },
              "path": "v2beta1/{+parent}/sinks",
              "request": {
                "$ref": "LogSink"
              },
              "response": {
                "$ref": "LogSink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin"
              ]
            },
            "delete": {
              "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.",
              "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}",
              "httpMethod": "DELETE",
              "id": "logging.projects.sinks.delete",
              "parameterOrder": [
                "sinkName"
              ],
              "parameters": {
                "sinkName": {
                  "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/sinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+sinkName}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin"
              ]
            },
            "get": {
              "description": "Gets a sink.",
              "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}",
              "httpMethod": "GET",
              "id": "logging.projects.sinks.get",
              "parameterOrder": [
                "sinkName"
              ],
              "parameters": {
                "sinkName": {
                  "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/sinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+sinkName}",
              "response": {
                "$ref": "LogSink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.read"
              ]
            },
            "list": {
              "description": "Lists sinks.",
              "flatPath": "v2beta1/projects/{projectsId}/sinks",
              "httpMethod": "GET",
              "id": "logging.projects.sinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v2beta1/{+parent}/sinks",
              "response": {
                "$ref": "ListSinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/logging.admin",
                "https://www.googleapis.com/auth/logging.read"
              ]
            },
            "update": {
              "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter.The updated sink might also have a new writer_identity; see the unique_writer_identity field.",
              "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}",
              "httpMethod": "PUT",
              "id": "logging.projects.sinks.update",
              "parameterOrder": [
                "sinkName"
              ],
              "parameters": {
                "sinkName": {
                  "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/sinks/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "uniqueWriterIdentity": {
                  "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.",
                  "location": "query",
                  "type": "boolean"
                },
                "updateMask": {
                  "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:  destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v2beta1/{+sinkName}",
              "request": {
                "$ref": "LogSink"
              },
              "response": {
                "$ref": "LogSink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/logging.admin"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20190316",
  "rootUrl": "https://logging.googleapis.com/",
  "schemas": {
    "BucketOptions": {
      "description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.",
      "id": "BucketOptions",
      "properties": {
        "explicitBuckets": {
          "$ref": "Explicit",
          "description": "The explicit buckets."
        },
        "exponentialBuckets": {
          "$ref": "Exponential",
          "description": "The exponential buckets."
        },
        "linearBuckets": {
          "$ref": "Linear",
          "description": "The linear bucket."
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n  rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "Explicit": {
      "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi  Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.",
      "id": "Explicit",
      "properties": {
        "bounds": {
          "description": "The values must be monotonically increasing.",
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Exponential": {
      "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i).  Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).",
      "id": "Exponential",
      "properties": {
        "growthFactor": {
          "description": "Must be greater than 1.",
          "format": "double",
          "type": "number"
        },
        "numFiniteBuckets": {
          "description": "Must be greater than 0.",
          "format": "int32",
          "type": "integer"
        },
        "scale": {
          "description": "Must be greater than 0.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "HttpRequest": {
      "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.",
      "id": "HttpRequest",
      "properties": {
        "cacheFillBytes": {
          "description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.",
          "format": "int64",
          "type": "string"
        },
        "cacheHit": {
          "description": "Whether or not an entity was served from cache (with or without validation).",
          "type": "boolean"
        },
        "cacheLookup": {
          "description": "Whether or not a cache lookup was attempted.",
          "type": "boolean"
        },
        "cacheValidatedWithOriginServer": {
          "description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if cache_hit is True.",
          "type": "boolean"
        },
        "latency": {
          "description": "The request processing latency on the server, from the time the request was received until the response was sent.",
          "format": "google-duration",
          "type": "string"
        },
        "protocol": {
          "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"",
          "type": "string"
        },
        "referer": {
          "description": "The referer URL of the request, as defined in HTTP/1.1 Header Field Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).",
          "type": "string"
        },
        "remoteIp": {
          "description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: \"192.168.1.1\", \"FE80::0202:B3FF:FE1E:8329\".",
          "type": "string"
        },
        "requestMethod": {
          "description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\".",
          "type": "string"
        },
        "requestSize": {
          "description": "The size of the HTTP request message in bytes, including the request headers and the request body.",
          "format": "int64",
          "type": "string"
        },
        "requestUrl": {
          "description": "The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: \"http://example.com/some/info?color=red\".",
          "type": "string"
        },
        "responseSize": {
          "description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.",
          "format": "int64",
          "type": "string"
        },
        "serverIp": {
          "description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to.",
          "type": "string"
        },
        "status": {
          "description": "The response code indicating the status of response. Examples: 200, 404.",
          "format": "int32",
          "type": "integer"
        },
        "userAgent": {
          "description": "The user agent sent by the client. Example: \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET\nCLR 1.0.3705)\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabelDescriptor": {
      "description": "A description of a label.",
      "id": "LabelDescriptor",
      "properties": {
        "description": {
          "description": "A human-readable description for the label.",
          "type": "string"
        },
        "key": {
          "description": "The label key.",
          "type": "string"
        },
        "valueType": {
          "description": "The type of data that can be assigned to the label.",
          "enum": [
            "STRING",
            "BOOL",
            "INT64"
          ],
          "enumDescriptions": [
            "A variable-length string. This is the default.",
            "Boolean; true or false.",
            "A 64-bit signed integer."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Linear": {
      "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i).  Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).",
      "id": "Linear",
      "properties": {
        "numFiniteBuckets": {
          "description": "Must be greater than 0.",
          "format": "int32",
          "type": "integer"
        },
        "offset": {
          "description": "Lower bound of the first bucket.",
          "format": "double",
          "type": "number"
        },
        "width": {
          "description": "Must be greater than 0.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ListLogEntriesRequest": {
      "description": "The parameters to ListLogEntries.",
      "id": "ListLogEntriesRequest",
      "properties": {
        "filter": {
          "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Filters. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.",
          "type": "string"
        },
        "orderBy": {
          "description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values.",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.",
          "type": "string"
        },
        "projectIds": {
          "description": "Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "resourceNames": {
          "description": "Required. Names of one or more parent resources from which to retrieve log entries:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nProjects listed in the project_ids field are added to this list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListLogEntriesResponse": {
      "description": "Result returned from ListLogEntries.",
      "id": "ListLogEntriesResponse",
      "properties": {
        "entries": {
          "description": "A list of log entries. If entries is empty, nextPageToken may still be returned, indicating that more entries may exist. See nextPageToken for more information.",
          "items": {
            "$ref": "LogEntry"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.If a value for next_page_token appears and the entries field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for page_token to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListLogMetricsResponse": {
      "description": "Result returned from ListLogMetrics.",
      "id": "ListLogMetricsResponse",
      "properties": {
        "metrics": {
          "description": "A list of logs-based metrics.",
          "items": {
            "$ref": "LogMetric"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListMonitoredResourceDescriptorsResponse": {
      "description": "Result returned from ListMonitoredResourceDescriptors.",
      "id": "ListMonitoredResourceDescriptorsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.",
          "type": "string"
        },
        "resourceDescriptors": {
          "description": "A list of resource descriptors.",
          "items": {
            "$ref": "MonitoredResourceDescriptor"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListSinksResponse": {
      "description": "Result returned from ListSinks.",
      "id": "ListSinksResponse",
      "properties": {
        "nextPageToken": {
          "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.",
          "type": "string"
        },
        "sinks": {
          "description": "A list of sinks.",
          "items": {
            "$ref": "LogSink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LogEntry": {
      "description": "An individual entry in a log.",
      "id": "LogEntry",
      "properties": {
        "httpRequest": {
          "$ref": "HttpRequest",
          "description": "Optional. Information about the HTTP request associated with this log entry, if applicable."
        },
        "insertId": {
          "description": "Optional. A unique identifier for the log entry. If you provide a value, then Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which can be removed. If omitted in new log entries, then Logging assigns its own unique identifier. The insert_id is also used to order log entries that have the same timestamp value.",
          "type": "string"
        },
        "jsonPayload": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "description": "The log entry payload, represented as a structure that is expressed as a JSON object.",
          "type": "object"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.",
          "type": "object"
        },
        "logName": {
          "description": "Required. The resource name of the log to which this log entry belongs:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\nA project number may optionally be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.",
          "type": "string"
        },
        "metadata": {
          "$ref": "MonitoredResourceMetadata",
          "description": "Deprecated. Output only. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The Stackdriver system labels that were present in the metadata.systemLabels field will no longer be available in the LogEntry."
        },
        "operation": {
          "$ref": "LogEntryOperation",
          "description": "Optional. Information about an operation associated with the log entry, if applicable."
        },
        "protoPayload": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads.",
          "type": "object"
        },
        "receiveTimestamp": {
          "description": "Output only. The time the log entry was received by Logging.",
          "format": "google-datetime",
          "type": "string"
        },
        "resource": {
          "$ref": "MonitoredResource",
          "description": "Required. The primary monitored resource associated with this log entry.Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error."
        },
        "severity": {
          "description": "Optional. The severity of the log entry. The default value is LogSeverity.DEFAULT.",
          "enum": [
            "DEFAULT",
            "DEBUG",
            "INFO",
            "NOTICE",
            "WARNING",
            "ERROR",
            "CRITICAL",
            "ALERT",
            "EMERGENCY"
          ],
          "enumDescriptions": [
            "(0) The log entry has no assigned severity level.",
            "(100) Debug or trace information.",
            "(200) Routine information, such as ongoing status or performance.",
            "(300) Normal but significant events, such as start up, shut down, or a configuration change.",
            "(400) Warning events might cause problems.",
            "(500) Error events are likely to cause problems.",
            "(600) Critical events cause more severe problems or outages.",
            "(700) A person must take an action immediately.",
            "(800) One or more systems are unusable."
          ],
          "type": "string"
        },
        "sourceLocation": {
          "$ref": "LogEntrySourceLocation",
          "description": "Optional. Source code location information associated with the log entry, if any."
        },
        "spanId": {
          "description": "Optional. The span ID within the trace associated with the log entry.For Trace spans, this is the same format that the Trace API v2 uses: a 16-character hexadecimal encoding of an 8-byte array, such as \u003ccode\u003e\"000000000000004a\"\u003c/code\u003e.",
          "type": "string"
        },
        "textPayload": {
          "description": "The log entry payload, represented as a Unicode string (UTF-8).",
          "type": "string"
        },
        "timestamp": {
          "description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Logging assigns it the current time. Timestamps have nanosecond accuracy, but trailing zeros in the fractional seconds might be omitted when the timestamp is displayed.Incoming log entries should have timestamps that are no more than the logs retention period in the past, and no more than 24 hours in the future. Log entries outside those time boundaries will not be available when calling entries.list, but those log entries can still be exported with LogSinks.",
          "format": "google-datetime",
          "type": "string"
        },
        "trace": {
          "description": "Optional. Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to //tracing.googleapis.com. Example: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824",
          "type": "string"
        },
        "traceSampled": {
          "description": "Optional. The sampling decision of the trace associated with the log entry.True means that the trace resource name in the trace field was sampled for storage in a trace backend. False means that the trace was not sampled for storage when this log entry was written, or the sampling decision was unknown at the time. A non-sampled trace value is still useful as a request correlation identifier. The default is False.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "LogEntryOperation": {
      "description": "Additional information about a potentially long-running operation with which a log entry is associated.",
      "id": "LogEntryOperation",
      "properties": {
        "first": {
          "description": "Optional. Set this to True if this is the first log entry in the operation.",
          "type": "boolean"
        },
        "id": {
          "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.",
          "type": "string"
        },
        "last": {
          "description": "Optional. Set this to True if this is the last log entry in the operation.",
          "type": "boolean"
        },
        "producer": {
          "description": "Optional. An arbitrary producer identifier. The combination of id and producer must be globally unique. Examples for producer: \"MyDivision.MyBigCompany.com\", \"github.com/MyProject/MyApplication\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LogEntrySourceLocation": {
      "description": "Additional information about the source code location that produced the log entry.",
      "id": "LogEntrySourceLocation",
      "properties": {
        "file": {
          "description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.",
          "type": "string"
        },
        "function": {
          "description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).",
          "type": "string"
        },
        "line": {
          "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LogLine": {
      "description": "Application log line emitted while processing a request.",
      "id": "LogLine",
      "properties": {
        "logMessage": {
          "description": "App-provided log message.",
          "type": "string"
        },
        "severity": {
          "description": "Severity of this log entry.",
          "enum": [
            "DEFAULT",
            "DEBUG",
            "INFO",
            "NOTICE",
            "WARNING",
            "ERROR",
            "CRITICAL",
            "ALERT",
            "EMERGENCY"
          ],
          "enumDescriptions": [
            "(0) The log entry has no assigned severity level.",
            "(100) Debug or trace information.",
            "(200) Routine information, such as ongoing status or performance.",
            "(300) Normal but significant events, such as start up, shut down, or a configuration change.",
            "(400) Warning events might cause problems.",
            "(500) Error events are likely to cause problems.",
            "(600) Critical events cause more severe problems or outages.",
            "(700) A person must take an action immediately.",
            "(800) One or more systems are unusable."
          ],
          "type": "string"
        },
        "sourceLocation": {
          "$ref": "SourceLocation",
          "description": "Where in the source code this log message was written."
        },
        "time": {
          "description": "Approximate time when this log entry was made.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LogMetric": {
      "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.",
      "id": "LogMetric",
      "properties": {
        "bucketOptions": {
          "$ref": "BucketOptions",
          "description": "Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values."
        },
        "createTime": {
          "description": "Output only. The creation timestamp of the metric.This field may not be present for older metrics.",
          "format": "google-datetime",
          "type": "string"
        },
        "description": {
          "description": "Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.",
          "type": "string"
        },
        "filter": {
          "description": "Required. An advanced logs filter which is used to match log entries. Example:\n\"resource.type=gae_app AND severity\u003e=ERROR\"\nThe maximum length of the filter is 20000 characters.",
          "type": "string"
        },
        "labelExtractors": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.",
          "type": "object"
        },
        "metricDescriptor": {
          "$ref": "MetricDescriptor",
          "description": "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description."
        },
        "name": {
          "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.The metric identifier in this field must not be URL-encoded (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the [METRIC_ID] part of a metric_name API parameter, then the metric identifier must be URL-encoded. Example: \"projects/my-project/metrics/nginx%2Frequests\".",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The last update timestamp of the metric.This field may not be present for older metrics.",
          "format": "google-datetime",
          "type": "string"
        },
        "valueExtractor": {
          "description": "Optional. A value_extractor is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field, regex). The argument are:  1. field: The name of the log entry field from which the value is to be  extracted.  2. regex: A regular expression using the Google RE2 syntax  (https://github.com/google/re2/wiki/Syntax) with a single capture  group to extract data from the specified log entry field. The value  of the field is converted to a string before applying the regex.  It is an error to specify a regex that does not include exactly one  capture group.The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution.Example: REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(\\d+).*\")",
          "type": "string"
        },
        "version": {
          "description": "Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed.",
          "enum": [
            "V2",
            "V1"
          ],
          "enumDescriptions": [
            "Logging API v2.",
            "Logging API v1."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "LogSink": {
      "description": "Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.",
      "id": "LogSink",
      "properties": {
        "createTime": {
          "description": "Output only. The creation timestamp of the sink.This field may not be present for older sinks.",
          "format": "google-datetime",
          "type": "string"
        },
        "destination": {
          "description": "Required. The export destination:\n\"storage.googleapis.com/[GCS_BUCKET]\"\n\"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"\n\"pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]\"\nThe sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs with Sinks.",
          "type": "string"
        },
        "filter": {
          "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. For example:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity\u003e=ERROR\n",
          "type": "string"
        },
        "includeChildren": {
          "description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:\nlogName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND\nresource.type=gce_instance\n",
          "type": "boolean"
        },
        "name": {
          "description": "Required. The client-assigned sink identifier, unique within the project. Example: \"my-syslog-errors-to-pubsub\". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.",
          "type": "string"
        },
        "outputVersionFormat": {
          "description": "Deprecated. The log entry format to use for this sink's exported log entries. The v2 format is used by default and cannot be changed.",
          "enum": [
            "VERSION_FORMAT_UNSPECIFIED",
            "V2",
            "V1"
          ],
          "enumDescriptions": [
            "An unspecified format version that will default to V2.",
            "LogEntry version 2 format.",
            "LogEntry version 1 format."
          ],
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The last update timestamp of the sink.This field may not be present for older sinks.",
          "format": "google-datetime",
          "type": "string"
        },
        "writerIdentity": {
          "description": "Output only. An IAM identity\u0026mdash;a service account or group\u0026mdash;under which Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricDescriptor": {
      "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.",
      "id": "MetricDescriptor",
      "properties": {
        "description": {
          "description": "A detailed description of the metric, which can be used in documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.",
          "type": "string"
        },
        "labels": {
          "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "MetricDescriptorMetadata",
          "description": "Optional. Metadata which can be used to guide usage of the metric."
        },
        "metricKind": {
          "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.",
          "enum": [
            "METRIC_KIND_UNSPECIFIED",
            "GAUGE",
            "DELTA",
            "CUMULATIVE"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "An instantaneous measurement of a value.",
            "The change in a value during a time interval.",
            "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points."
          ],
          "type": "string"
        },
        "name": {
          "description": "The resource name of the metric descriptor.",
          "type": "string"
        },
        "type": {
          "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n",
          "type": "string"
        },
        "unit": {
          "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n          | Annotation\n          | \"1\"\n          ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is  equivalent to 1 if it is used alone. For examples,  {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not  containing '{' or '}'.\n1 represents dimensionless value 1, such as in 1/s.\n% represents dimensionless value 1/100, and annotates values giving  a percentage.",
          "type": "string"
        },
        "valueType": {
          "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.",
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "BOOL",
            "INT64",
            "DOUBLE",
            "STRING",
            "DISTRIBUTION",
            "MONEY"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "The value is a boolean. This value type can be used only if the metric kind is GAUGE.",
            "The value is a signed 64-bit integer.",
            "The value is a double precision floating point number.",
            "The value is a text string. This value type can be used only if the metric kind is GAUGE.",
            "The value is a Distribution.",
            "The value is money."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricDescriptorMetadata": {
      "description": "Additional annotations that can be used to guide the usage of a metric.",
      "id": "MetricDescriptorMetadata",
      "properties": {
        "ingestDelay": {
          "description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.",
          "format": "google-duration",
          "type": "string"
        },
        "launchStage": {
          "description": "The launch stage of the metric definition.",
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects whitelisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation."
          ],
          "type": "string"
        },
        "samplePeriod": {
          "description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MonitoredResource": {
      "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n  \"labels\": { \"instance_id\": \"12345678901234\",\n              \"zone\": \"us-central1-a\" }}\n",
      "id": "MonitoredResource",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".",
          "type": "object"
        },
        "type": {
          "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MonitoredResourceDescriptor": {
      "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.",
      "id": "MonitoredResourceDescriptor",
      "properties": {
        "description": {
          "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".",
          "type": "string"
        },
        "labels": {
          "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "name": {
          "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".",
          "type": "string"
        },
        "type": {
          "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MonitoredResourceMetadata": {
      "description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.",
      "id": "MonitoredResourceMetadata",
      "properties": {
        "systemLabels": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example:\n{ \"name\": \"my-test-instance\",\n  \"security_group\": [\"a\", \"b\", \"c\"],\n  \"spot_instance\": false }\n",
          "type": "object"
        },
        "userLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Output only. A map of user-defined metadata labels.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "RequestLog": {
      "description": "Complete log information about a single HTTP request to an App Engine application.",
      "id": "RequestLog",
      "properties": {
        "appEngineRelease": {
          "description": "App Engine release version.",
          "type": "string"
        },
        "appId": {
          "description": "Application that handled this request.",
          "type": "string"
        },
        "cost": {
          "description": "An indication of the relative cost of serving this request.",
          "format": "double",
          "type": "number"
        },
        "endTime": {
          "description": "Time when the request finished.",
          "format": "google-datetime",
          "type": "string"
        },
        "finished": {
          "description": "Whether this request is finished or active.",
          "type": "boolean"
        },
        "first": {
          "description": "Whether this is the first RequestLog entry for this request. If an active request has several RequestLog entries written to Stackdriver Logging, then this field will be set for one of them.",
          "type": "boolean"
        },
        "host": {
          "description": "Internet host and port number of the resource being requested.",
          "type": "string"
        },
        "httpVersion": {
          "description": "HTTP version of request. Example: \"HTTP/1.1\".",
          "type": "string"
        },
        "instanceId": {
          "description": "An identifier for the instance that handled the request.",
          "type": "string"
        },
        "instanceIndex": {
          "description": "If the instance processing this request belongs to a manually scaled module, then this is the 0-based index of the instance. Otherwise, this value is -1.",
          "format": "int32",
          "type": "integer"
        },
        "ip": {
          "description": "Origin IP address.",
          "type": "string"
        },
        "latency": {
          "description": "Latency of the request.",
          "format": "google-duration",
          "type": "string"
        },
        "line": {
          "description": "A list of log lines emitted by the application while serving this request.",
          "items": {
            "$ref": "LogLine"
          },
          "type": "array"
        },
        "megaCycles": {
          "description": "Number of CPU megacycles used to process request.",
          "format": "int64",
          "type": "string"
        },
        "method": {
          "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".",
          "type": "string"
        },
        "moduleId": {
          "description": "Module of the application that handled this request.",
          "type": "string"
        },
        "nickname": {
          "description": "The logged-in user who made the request.Most likely, this is the part of the user's email before the @ sign. The field value is the same for different requests from the same user, but different users can have similar names. This information is also available to the application via the App Engine Users API.This field will be populated starting with App Engine 1.9.21.",
          "type": "string"
        },
        "pendingTime": {
          "description": "Time this request spent in the pending request queue.",
          "format": "google-duration",
          "type": "string"
        },
        "referrer": {
          "description": "Referrer URL of request.",
          "type": "string"
        },
        "requestId": {
          "description": "Globally unique identifier for a request, which is based on the request start time. Request IDs for requests which started later will compare greater as strings than those for requests which started earlier.",
          "type": "string"
        },
        "resource": {
          "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included.",
          "type": "string"
        },
        "responseSize": {
          "description": "Size in bytes sent back to client by request.",
          "format": "int64",
          "type": "string"
        },
        "sourceReference": {
          "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.",
          "items": {
            "$ref": "SourceReference"
          },
          "type": "array"
        },
        "startTime": {
          "description": "Time when the request started.",
          "format": "google-datetime",
          "type": "string"
        },
        "status": {
          "description": "HTTP response status code. Example: 200, 404.",
          "format": "int32",
          "type": "integer"
        },
        "taskName": {
          "description": "Task name of the request, in the case of an offline request.",
          "type": "string"
        },
        "taskQueueName": {
          "description": "Queue name of the request, in the case of an offline request.",
          "type": "string"
        },
        "traceId": {
          "description": "Stackdriver Trace identifier for this request.",
          "type": "string"
        },
        "traceSampled": {
          "description": "If true, the value in the 'trace_id' field was sampled for storage in a trace backend.",
          "type": "boolean"
        },
        "urlMapEntry": {
          "description": "File or class that handled the request.",
          "type": "string"
        },
        "userAgent": {
          "description": "User agent that made the request.",
          "type": "string"
        },
        "versionId": {
          "description": "Version of the application that handled this request.",
          "type": "string"
        },
        "wasLoadingRequest": {
          "description": "Whether this was a loading request for the instance.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "SourceLocation": {
      "description": "Specifies a location in a source code file.",
      "id": "SourceLocation",
      "properties": {
        "file": {
          "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.",
          "type": "string"
        },
        "functionName": {
          "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).",
          "type": "string"
        },
        "line": {
          "description": "Line within the source file.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SourceReference": {
      "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.",
      "id": "SourceReference",
      "properties": {
        "repository": {
          "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"",
          "type": "string"
        },
        "revisionId": {
          "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "WriteLogEntriesRequest": {
      "description": "The parameters to WriteLogEntries.",
      "id": "WriteLogEntriesRequest",
      "properties": {
        "dryRun": {
          "description": "Optional. If true, the request should expect normal response, but the entries won't be persisted nor exported. Useful for checking whether the logging API endpoints are working properly before sending valuable data.",
          "type": "boolean"
        },
        "entries": {
          "description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.",
          "items": {
            "$ref": "LogEntry"
          },
          "type": "array"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry.",
          "type": "object"
        },
        "logName": {
          "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example:\n\"projects/my-project-id/logs/syslog\"\n\"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\"\nThe permission \u003ccode\u003elogging.logEntries.create\u003c/code\u003e is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in \u003ccode\u003elogName\u003c/code\u003e or in an individual log entry.",
          "type": "string"
        },
        "partialSuccess": {
          "description": "Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method.",
          "type": "boolean"
        },
        "resource": {
          "$ref": "MonitoredResource",
          "description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example:\n{ \"type\": \"gce_instance\",\n  \"labels\": {\n    \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }}\nSee LogEntry."
        }
      },
      "type": "object"
    },
    "WriteLogEntriesResponse": {
      "description": "Result returned from WriteLogEntries. empty",
      "id": "WriteLogEntriesResponse",
      "properties": {},
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Stackdriver Logging API",
  "version": "v2beta1",
  "version_module": true
}