{
 "kind": "discovery#restDescription",
 "etag": "\"bRFOOrZKfO9LweMbPqu0kcu6De8/W_DehY1ieVoEybycxDkoZdKE5Bk\"",
 "discoveryVersion": "v1",
 "id": "monitoring:v3",
 "name": "monitoring",
 "version": "v3",
 "revision": "20160321",
 "title": "Google Monitoring API",
 "description": "The Google Monitoring API lets you manage your monitoring data and configurations.",
 "ownerDomain": "google.com",
 "ownerName": "Google",
 "icons": {
  "x16": "http://www.google.com/images/icons/product/search-16.gif",
  "x32": "http://www.google.com/images/icons/product/search-32.gif"
 },
 "documentationLink": "https://cloud.google.com/monitoring/api/",
 "protocol": "rest",
 "baseUrl": "https://monitoring.googleapis.com/",
 "basePath": "",
 "rootUrl": "https://monitoring.googleapis.com/",
 "servicePath": "",
 "batchPath": "batch",
 "version_module": true,
 "parameters": {
  "access_token": {
   "type": "string",
   "description": "OAuth access token.",
   "location": "query"
  },
  "alt": {
   "type": "string",
   "description": "Data format for response.",
   "default": "json",
   "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"
  },
  "bearer_token": {
   "type": "string",
   "description": "OAuth bearer token.",
   "location": "query"
  },
  "callback": {
   "type": "string",
   "description": "JSONP",
   "location": "query"
  },
  "fields": {
   "type": "string",
   "description": "Selector specifying which fields to include in a partial response.",
   "location": "query"
  },
  "key": {
   "type": "string",
   "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"
  },
  "oauth_token": {
   "type": "string",
   "description": "OAuth 2.0 token for the current user.",
   "location": "query"
  },
  "pp": {
   "type": "boolean",
   "description": "Pretty-print response.",
   "default": "true",
   "location": "query"
  },
  "prettyPrint": {
   "type": "boolean",
   "description": "Returns response with indentations and line breaks.",
   "default": "true",
   "location": "query"
  },
  "quotaUser": {
   "type": "string",
   "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"
  },
  "upload_protocol": {
   "type": "string",
   "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
   "location": "query"
  },
  "uploadType": {
   "type": "string",
   "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
   "location": "query"
  },
  "$.xgafv": {
   "type": "string",
   "description": "V1 error format.",
   "enumDescriptions": [
    "v1 error format",
    "v2 error format"
   ],
   "location": "query"
  }
 },
 "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/monitoring": {
     "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects"
    },
    "https://www.googleapis.com/auth/monitoring.read": {
     "description": "View monitoring data for all of your Google Cloud and third-party projects"
    },
    "https://www.googleapis.com/auth/monitoring.write": {
     "description": "Publish metric data to your Google Cloud projects"
    }
   }
  }
 },
 "schemas": {
  "CreateCollectdTimeSeriesRequest": {
   "id": "CreateCollectdTimeSeriesRequest",
   "type": "object",
   "description": "The `CreateCollectdTimeSeries` request.",
   "properties": {
    "resource": {
     "$ref": "MonitoredResource",
     "description": "The monitored resource associated with the time series."
    },
    "collectdVersion": {
     "type": "string",
     "description": "The version of `collectd` that collected the data. Example: `\"5.3.0-192.el6\"`."
    },
    "collectdPayloads": {
     "type": "array",
     "description": "The `collectd` payloads representing the time series data. You must not include more than a single point for each time series, so no two payloads can have the same values for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.",
     "items": {
      "$ref": "CollectdPayload"
     }
    }
   }
  },
  "MonitoredResource": {
   "id": "MonitoredResource",
   "type": "object",
   "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\"`: { \"type\": \"gce_instance\", \"labels\": { \"instance_id\": \"my-instance\", \"zone\": \"us-central1-a\" }}",
   "properties": {
    "type": {
     "type": "string",
     "description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `\"cloudsql_database\"`."
    },
    "labels": {
     "type": "object",
     "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `\"database_id\"` and `\"zone\"`.",
     "additionalProperties": {
      "type": "string"
     }
    }
   }
  },
  "CollectdPayload": {
   "id": "CollectdPayload",
   "type": "object",
   "description": "A collection of data points sent from a `collectd`-based plugin. See the `collectd` documentation for more information.",
   "properties": {
    "values": {
     "type": "array",
     "description": "The measured values during this time interval. Each value must have a different `dataSourceName`.",
     "items": {
      "$ref": "CollectdValue"
     }
    },
    "startTime": {
     "type": "string",
     "description": "The start time of the interval."
    },
    "endTime": {
     "type": "string",
     "description": "The end time of the interval."
    },
    "plugin": {
     "type": "string",
     "description": "The name of the plugin. Example: `\"disk\"`."
    },
    "pluginInstance": {
     "type": "string",
     "description": "The instance name of the plugin Example: `\"hdcl\"`."
    },
    "type": {
     "type": "string",
     "description": "The measurement type. Example: `\"memory\"`."
    },
    "typeInstance": {
     "type": "string",
     "description": "The measurement type instance. Example: `\"used\"`."
    },
    "metadata": {
     "type": "object",
     "description": "The measurement metadata. Example: `\"process_id\" -\u003e 12345`",
     "additionalProperties": {
      "$ref": "TypedValue"
     }
    }
   }
  },
  "CollectdValue": {
   "id": "CollectdValue",
   "type": "object",
   "description": "A single data point from a `collectd`-based plugin.",
   "properties": {
    "dataSourceName": {
     "type": "string",
     "description": "The data source for the `collectd` value. For example there are two data sources for network measurements: `\"rx\"` and `\"tx\"`."
    },
    "dataSourceType": {
     "type": "string",
     "description": "The type of measurement.",
     "enum": [
      "UNSPECIFIED_DATA_SOURCE_TYPE",
      "GAUGE",
      "COUNTER",
      "DERIVE",
      "ABSOLUTE"
     ]
    },
    "value": {
     "$ref": "TypedValue",
     "description": "The measurement value."
    }
   }
  },
  "TypedValue": {
   "id": "TypedValue",
   "type": "object",
   "description": "A single strongly-typed value.",
   "properties": {
    "boolValue": {
     "type": "boolean",
     "description": "A Boolean value: `true` or `false`."
    },
    "int64Value": {
     "type": "string",
     "description": "A 64-bit integer. Its range is approximately ±9.2x1018.",
     "format": "int64"
    },
    "doubleValue": {
     "type": "number",
     "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.",
     "format": "double"
    },
    "stringValue": {
     "type": "string",
     "description": "A variable-length string value."
    },
    "distributionValue": {
     "$ref": "Distribution",
     "description": "A distribution value."
    }
   }
  },
  "Distribution": {
   "id": "Distribution",
   "type": "object",
   "description": "Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.",
   "properties": {
    "count": {
     "type": "string",
     "description": "The number of values in the population. Must be non-negative.",
     "format": "int64"
    },
    "mean": {
     "type": "number",
     "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.",
     "format": "double"
    },
    "sumOfSquaredDeviation": {
     "type": "number",
     "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.",
     "format": "double"
    },
    "range": {
     "$ref": "Range",
     "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero."
    },
    "bucketOptions": {
     "$ref": "BucketOptions",
     "description": "Defines the histogram bucket boundaries."
    },
    "bucketCounts": {
     "type": "array",
     "description": "If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    }
   }
  },
  "Range": {
   "id": "Range",
   "type": "object",
   "description": "The range of the population values.",
   "properties": {
    "min": {
     "type": "number",
     "description": "The minimum of the population values.",
     "format": "double"
    },
    "max": {
     "type": "number",
     "description": "The maximum of the population values.",
     "format": "double"
    }
   }
  },
  "BucketOptions": {
   "id": "BucketOptions",
   "type": "object",
   "description": "A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is 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. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given.",
   "properties": {
    "linearBuckets": {
     "$ref": "Linear",
     "description": "The linear bucket."
    },
    "exponentialBuckets": {
     "$ref": "Exponential",
     "description": "The exponential buckets."
    },
    "explicitBuckets": {
     "$ref": "Explicit",
     "description": "The explicit buckets."
    }
   }
  },
  "Linear": {
   "id": "Linear",
   "type": "object",
   "description": "Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).",
   "properties": {
    "numFiniteBuckets": {
     "type": "integer",
     "description": "Must be greater than 0.",
     "format": "int32"
    },
    "width": {
     "type": "number",
     "description": "Must be greater than 0.",
     "format": "double"
    },
    "offset": {
     "type": "number",
     "description": "Lower bound of the first bucket.",
     "format": "double"
    }
   }
  },
  "Exponential": {
   "id": "Exponential",
   "type": "object",
   "description": "Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).",
   "properties": {
    "numFiniteBuckets": {
     "type": "integer",
     "description": "must be greater than 0",
     "format": "int32"
    },
    "growthFactor": {
     "type": "number",
     "description": "Must be greater than 1",
     "format": "double"
    },
    "scale": {
     "type": "number",
     "description": "Must be greater than 0",
     "format": "double"
    }
   }
  },
  "Explicit": {
   "id": "Explicit",
   "type": "object",
   "description": "A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 \u003c= i \u003c N-1): bounds[i] Lower bound (1 \u003c= i \u003c N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.",
   "properties": {
    "bounds": {
     "type": "array",
     "description": "The values must be monotonically increasing.",
     "items": {
      "type": "number",
      "format": "double"
     }
    }
   }
  },
  "Empty": {
   "id": "Empty",
   "type": "object",
   "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: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
  },
  "ListGroupsResponse": {
   "id": "ListGroupsResponse",
   "type": "object",
   "description": "The `ListGroups` response.",
   "properties": {
    "group": {
     "type": "array",
     "description": "The groups that match the specified filters.",
     "items": {
      "$ref": "Group"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method."
    }
   }
  },
  "Group": {
   "id": "Group",
   "type": "object",
   "description": "The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `\"environment\"` and `\"role\"`. A parent group has a filter, `environment=\"production\"`. A child of that parent group has a filter, `role=\"transcoder\"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.",
   "properties": {
    "name": {
     "type": "string",
     "description": "The name of this group. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly"
    },
    "displayName": {
     "type": "string",
     "description": "A user-assigned name for this group, used only for display purposes."
    },
    "parentName": {
     "type": "string",
     "description": "The name of the group's parent, if it has one. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`. For groups with no parent, `parentName` is the empty string, `\"\"`."
    },
    "filter": {
     "type": "string",
     "description": "The filter used to determine which monitored resources belong to this group."
    },
    "isCluster": {
     "type": "boolean",
     "description": "If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters."
    }
   }
  },
  "ListGroupMembersResponse": {
   "id": "ListGroupMembersResponse",
   "type": "object",
   "description": "The `ListGroupMembers` response.",
   "properties": {
    "members": {
     "type": "array",
     "description": "A set of monitored resources in the group.",
     "items": {
      "$ref": "MonitoredResource"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method."
    },
    "totalSize": {
     "type": "integer",
     "description": "The total number of elements matching this request.",
     "format": "int32"
    }
   }
  },
  "ListMonitoredResourceDescriptorsResponse": {
   "id": "ListMonitoredResourceDescriptorsResponse",
   "type": "object",
   "description": "The `ListMonitoredResourcDescriptors` response.",
   "properties": {
    "resourceDescriptors": {
     "type": "array",
     "description": "The monitored resource descriptors that are available to this project and that match `filter`, if present.",
     "items": {
      "$ref": "MonitoredResourceDescriptor"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method."
    }
   }
  },
  "MonitoredResourceDescriptor": {
   "id": "MonitoredResourceDescriptor",
   "type": "object",
   "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.",
   "properties": {
    "name": {
     "type": "string",
     "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": {
     "type": "string",
     "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL."
    },
    "displayName": {
     "type": "string",
     "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. For example, `\"Google Cloud SQL Database\"`."
    },
    "description": {
     "type": "string",
     "description": "Optional. A detailed description of the monitored resource type that might be used in documentation."
    },
    "labels": {
     "type": "array",
     "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"
     }
    }
   }
  },
  "LabelDescriptor": {
   "id": "LabelDescriptor",
   "type": "object",
   "description": "A description of a label.",
   "properties": {
    "key": {
     "type": "string",
     "description": "The label key."
    },
    "valueType": {
     "type": "string",
     "description": "The type of data that can be assigned to the label.",
     "enum": [
      "STRING",
      "BOOL",
      "INT64"
     ]
    },
    "description": {
     "type": "string",
     "description": "A human-readable description for the label."
    }
   }
  },
  "ListMetricDescriptorsResponse": {
   "id": "ListMetricDescriptorsResponse",
   "type": "object",
   "description": "The `ListMetricDescriptors` response.",
   "properties": {
    "metricDescriptors": {
     "type": "array",
     "description": "The metric descriptors that are available to the project and that match the value of `filter`, if present.",
     "items": {
      "$ref": "MetricDescriptor"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method."
    }
   }
  },
  "MetricDescriptor": {
   "id": "MetricDescriptor",
   "type": "object",
   "description": "Defines a metric type and its schema.",
   "properties": {
    "name": {
     "type": "string",
     "description": "Resource name. The format of the name may vary between different implementations. For examples: projects/{project_id}/metricDescriptors/{type=**} metricDescriptors/{type=**}"
    },
    "type": {
     "type": "string",
     "description": "The metric type including a DNS name prefix, for example `\"compute.googleapis.com/instance/cpu/utilization\"`. Metric types should use a natural hierarchical grouping such as the following: compute.googleapis.com/instance/cpu/utilization compute.googleapis.com/instance/disk/read_ops_count compute.googleapis.com/instance/network/received_bytes_count Note that if the metric type changes, the monitoring data will be discontinued, and anything depends on it will break, such as monitoring dashboards, alerting rules and quota limits. Therefore, once a metric has been published, its type should be immutable."
    },
    "labels": {
     "type": "array",
     "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the `compute.googleapis.com/instance/network/received_bytes_count` metric type has a label, `loadbalanced`, that specifies whether the traffic was received through a load balanced IP address.",
     "items": {
      "$ref": "LabelDescriptor"
     }
    },
    "metricKind": {
     "type": "string",
     "description": "Whether the metric records instantaneous values, changes to a value, etc.",
     "enum": [
      "METRIC_KIND_UNSPECIFIED",
      "GAUGE",
      "DELTA",
      "CUMULATIVE"
     ]
    },
    "valueType": {
     "type": "string",
     "description": "Whether the measurement is an integer, a floating-point number, etc.",
     "enum": [
      "VALUE_TYPE_UNSPECIFIED",
      "BOOL",
      "INT64",
      "DOUBLE",
      "STRING",
      "DISTRIBUTION",
      "MONEY"
     ]
    },
    "unit": {
     "type": "string",
     "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)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) **Grammar** The grammar includes the dimensionless unit `1`, such as `1/s`. The grammar also includes these connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression = Component { \".\" Component } { \"/\" Component } ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` 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`. * `NAME` is a sequence of non-blank printable ASCII characters not containing '{' or '}'."
    },
    "description": {
     "type": "string",
     "description": "A detailed description of the metric, which can be used in documentation."
    },
    "displayName": {
     "type": "string",
     "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\"."
    }
   }
  },
  "ListTimeSeriesResponse": {
   "id": "ListTimeSeriesResponse",
   "type": "object",
   "description": "The `ListTimeSeries` response.",
   "properties": {
    "timeSeries": {
     "type": "array",
     "description": "One or more time series that match the filter included in the request.",
     "items": {
      "$ref": "TimeSeries"
     }
    },
    "nextPageToken": {
     "type": "string",
     "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method."
    }
   }
  },
  "TimeSeries": {
   "id": "TimeSeries",
   "type": "object",
   "description": "A collection of data points that describes the time-varying nature of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric.",
   "properties": {
    "metric": {
     "$ref": "Metric",
     "description": "The fully-specified metric used to identify the time series."
    },
    "resource": {
     "$ref": "MonitoredResource",
     "description": "The fully-specified monitored resource used to identify the time series."
    },
    "metricKind": {
     "type": "string",
     "description": "The metric kind of the time series. This can be different than the metric kind specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly",
     "enum": [
      "METRIC_KIND_UNSPECIFIED",
      "GAUGE",
      "DELTA",
      "CUMULATIVE"
     ]
    },
    "valueType": {
     "type": "string",
     "description": "The value type of the time series. This can be different than the value type specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly",
     "enum": [
      "VALUE_TYPE_UNSPECIFIED",
      "BOOL",
      "INT64",
      "DOUBLE",
      "STRING",
      "DISTRIBUTION",
      "MONEY"
     ]
    },
    "points": {
     "type": "array",
     "description": "The data points of this time series. When used as output, points will be sorted by decreasing time order. When used as input, points could be written in any orders.",
     "items": {
      "$ref": "Point"
     }
    }
   }
  },
  "Metric": {
   "id": "Metric",
   "type": "object",
   "description": "A specific metric identified by specifying values for all of the labels of a `MetricDescriptor`.",
   "properties": {
    "type": {
     "type": "string",
     "description": "An existing metric type, see google.api.MetricDescriptor. For example, `compute.googleapis.com/instance/cpu/usage_time`."
    },
    "labels": {
     "type": "object",
     "description": "The set of labels that uniquely identify a metric. To specify a metric, all labels enumerated in the `MetricDescriptor` must be assigned values.",
     "additionalProperties": {
      "type": "string"
     }
    }
   }
  },
  "Point": {
   "id": "Point",
   "type": "object",
   "description": "A single data point in a time series.",
   "properties": {
    "interval": {
     "$ref": "TimeInterval",
     "description": "The time interval to which the value applies."
    },
    "value": {
     "$ref": "TypedValue",
     "description": "The value of the data point."
    }
   }
  },
  "TimeInterval": {
   "id": "TimeInterval",
   "type": "object",
   "description": "A time interval extending from after `startTime` through `endTime`. If `startTime` is omitted, the interval is the single point in time, `endTime`.",
   "properties": {
    "endTime": {
     "type": "string",
     "description": "(required) The end of the interval. The interval includes this time."
    },
    "startTime": {
     "type": "string",
     "description": "(optional) If omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`."
    }
   }
  },
  "CreateTimeSeriesRequest": {
   "id": "CreateTimeSeriesRequest",
   "type": "object",
   "description": "The `CreateTimeSeries` request.",
   "properties": {
    "timeSeries": {
     "type": "array",
     "description": "The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each `TimeSeries` value must fully specify a unique time series by supplying all label values for the metric and the monitored resource.",
     "items": {
      "$ref": "TimeSeries"
     }
    }
   }
  },
  "Type": {
   "id": "Type",
   "type": "object",
   "description": "A protocol buffer message type.",
   "properties": {
    "name": {
     "type": "string",
     "description": "The fully qualified message name."
    },
    "fields": {
     "type": "array",
     "description": "The list of fields.",
     "items": {
      "$ref": "Field"
     }
    },
    "oneofs": {
     "type": "array",
     "description": "The list of types appearing in `oneof` definitions in this type.",
     "items": {
      "type": "string"
     }
    },
    "options": {
     "type": "array",
     "description": "The protocol buffer options.",
     "items": {
      "$ref": "Option"
     }
    },
    "sourceContext": {
     "$ref": "SourceContext",
     "description": "The source context."
    },
    "syntax": {
     "type": "string",
     "description": "The source syntax.",
     "enum": [
      "SYNTAX_PROTO2",
      "SYNTAX_PROTO3"
     ]
    }
   }
  },
  "Field": {
   "id": "Field",
   "type": "object",
   "description": "A single field of a message type.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "The field type.",
     "enum": [
      "TYPE_UNKNOWN",
      "TYPE_DOUBLE",
      "TYPE_FLOAT",
      "TYPE_INT64",
      "TYPE_UINT64",
      "TYPE_INT32",
      "TYPE_FIXED64",
      "TYPE_FIXED32",
      "TYPE_BOOL",
      "TYPE_STRING",
      "TYPE_GROUP",
      "TYPE_MESSAGE",
      "TYPE_BYTES",
      "TYPE_UINT32",
      "TYPE_ENUM",
      "TYPE_SFIXED32",
      "TYPE_SFIXED64",
      "TYPE_SINT32",
      "TYPE_SINT64"
     ]
    },
    "cardinality": {
     "type": "string",
     "description": "The field cardinality.",
     "enum": [
      "CARDINALITY_UNKNOWN",
      "CARDINALITY_OPTIONAL",
      "CARDINALITY_REQUIRED",
      "CARDINALITY_REPEATED"
     ]
    },
    "number": {
     "type": "integer",
     "description": "The field number.",
     "format": "int32"
    },
    "name": {
     "type": "string",
     "description": "The field name."
    },
    "typeUrl": {
     "type": "string",
     "description": "The field type URL, without the scheme, for message or enumeration types. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`."
    },
    "oneofIndex": {
     "type": "integer",
     "description": "The index of the field type in `Type.oneofs`, for message or enumeration types. The first type has index 1; zero means the type is not in the list.",
     "format": "int32"
    },
    "packed": {
     "type": "boolean",
     "description": "Whether to use alternative packed wire representation."
    },
    "options": {
     "type": "array",
     "description": "The protocol buffer options.",
     "items": {
      "$ref": "Option"
     }
    },
    "jsonName": {
     "type": "string",
     "description": "The field JSON name."
    },
    "defaultValue": {
     "type": "string",
     "description": "The string value of the default value of this field. Proto2 syntax only."
    }
   }
  },
  "Option": {
   "id": "Option",
   "type": "object",
   "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.",
   "properties": {
    "name": {
     "type": "string",
     "description": "The option's name. For example, `\"java_package\"`."
    },
    "value": {
     "type": "object",
     "description": "The option's value. For example, `\"com.google.protobuf\"`.",
     "additionalProperties": {
      "type": "any",
      "description": "Properties of the object. Contains field @ype with type URL."
     }
    }
   }
  },
  "SourceContext": {
   "id": "SourceContext",
   "type": "object",
   "description": "`SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.",
   "properties": {
    "fileName": {
     "type": "string",
     "description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: `\"google/protobuf/source.proto\"`."
    }
   }
  }
 },
 "resources": {
  "projects": {
   "resources": {
    "collectdTimeSeries": {
     "methods": {
      "create": {
       "id": "monitoring.projects.collectdTimeSeries.create",
       "path": "v3/{+name}/collectdTimeSeries",
       "httpMethod": "POST",
       "description": "Creates a new time series with the given data points. This method is only for use in `collectd`-related code, including the Google Monitoring Agent. See [google.monitoring.v3.MetricService.CreateTimeSeries] instead.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project in which to create the time series. The format is `\"projects/PROJECT_ID_OR_NUMBER\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "request": {
        "$ref": "CreateCollectdTimeSeriesRequest"
       },
       "response": {
        "$ref": "Empty"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      }
     }
    },
    "groups": {
     "methods": {
      "list": {
       "id": "monitoring.projects.groups.list",
       "path": "v3/{+name}/groups",
       "httpMethod": "GET",
       "description": "Lists the existing groups.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project whose groups are to be listed. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        },
        "childrenOfGroup": {
         "type": "string",
         "description": "A group name: `\"projects/{project_id_or_number}/groups/{group_id}\"`. Returns groups whose `parentName` field contains the group name. If no groups have this parent, the results are empty.",
         "location": "query"
        },
        "ancestorsOfGroup": {
         "type": "string",
         "description": "A group name: `\"projects/{project_id_or_number}/groups/{group_id}\"`. Returns groups that are ancestors of the specified group. The groups are returned in order, starting with the immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty.",
         "location": "query"
        },
        "descendantsOfGroup": {
         "type": "string",
         "description": "A group name: `\"projects/{project_id_or_number}/groups/{group_id}\"`. Returns the descendants of the specified group. This is a superset of the results returned by the `childrenOfGroup` filter, and includes children-of-children, and so forth.",
         "location": "query"
        },
        "pageSize": {
         "type": "integer",
         "description": "A positive number that is the maximum number of results to return.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "ListGroupsResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read"
       ]
      },
      "get": {
       "id": "monitoring.projects.groups.get",
       "path": "v3/{+name}",
       "httpMethod": "GET",
       "description": "Gets a single group.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The group to retrieve. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*/groups/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "Group"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read"
       ]
      },
      "create": {
       "id": "monitoring.projects.groups.create",
       "path": "v3/{+name}/groups",
       "httpMethod": "POST",
       "description": "Creates a new group.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project in which to create the group. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        },
        "validateOnly": {
         "type": "boolean",
         "description": "If true, validate this request but do not create the group.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "request": {
        "$ref": "Group"
       },
       "response": {
        "$ref": "Group"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring"
       ]
      },
      "update": {
       "id": "monitoring.projects.groups.update",
       "path": "v3/{+name}",
       "httpMethod": "PUT",
       "description": "Updates an existing group. You can change any group attributes except `name`.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The name of this group. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly",
         "required": true,
         "pattern": "^projects/[^/]*/groups/[^/]*$",
         "location": "path"
        },
        "validateOnly": {
         "type": "boolean",
         "description": "If true, validate this request but do not update the existing group.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "request": {
        "$ref": "Group"
       },
       "response": {
        "$ref": "Group"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring"
       ]
      },
      "delete": {
       "id": "monitoring.projects.groups.delete",
       "path": "v3/{+name}",
       "httpMethod": "DELETE",
       "description": "Deletes an existing group.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The group to delete. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*/groups/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "Empty"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring"
       ]
      }
     },
     "resources": {
      "members": {
       "methods": {
        "list": {
         "id": "monitoring.projects.groups.members.list",
         "path": "v3/{+name}/members",
         "httpMethod": "GET",
         "description": "Lists the monitored resources that are members of a group.",
         "parameters": {
          "name": {
           "type": "string",
           "description": "The group whose members are listed. The format is `\"projects/{project_id_or_number}/groups/{group_id}\"`.",
           "required": true,
           "pattern": "^projects/[^/]*/groups/[^/]*$",
           "location": "path"
          },
          "pageSize": {
           "type": "integer",
           "description": "A positive number that is the maximum number of results to return.",
           "format": "int32",
           "location": "query"
          },
          "pageToken": {
           "type": "string",
           "description": "If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.",
           "location": "query"
          },
          "filter": {
           "type": "string",
           "description": "An optional [list filter](/monitoring/api/learn_more#filtering) describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter: resource.type = \"gce_instance\"",
           "location": "query"
          },
          "interval.endTime": {
           "type": "string",
           "description": "(required) The end of the interval. The interval includes this time.",
           "location": "query"
          },
          "interval.startTime": {
           "type": "string",
           "description": "(optional) If omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.",
           "location": "query"
          }
         },
         "parameterOrder": [
          "name"
         ],
         "response": {
          "$ref": "ListGroupMembersResponse"
         },
         "scopes": [
          "https://www.googleapis.com/auth/cloud-platform",
          "https://www.googleapis.com/auth/monitoring",
          "https://www.googleapis.com/auth/monitoring.read"
         ]
        }
       }
      }
     }
    },
    "monitoredResourceDescriptors": {
     "methods": {
      "list": {
       "id": "monitoring.projects.monitoredResourceDescriptors.list",
       "path": "v3/{+name}/monitoredResourceDescriptors",
       "httpMethod": "GET",
       "description": "Lists monitored resource descriptors that match a filter.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project on which to execute the request. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        },
        "filter": {
         "type": "string",
         "description": "An optional [filter](/monitoring/api/v3/filters) describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an `id` label: resource.type = starts_with(\"gce_\") AND resource.label:id",
         "location": "query"
        },
        "pageSize": {
         "type": "integer",
         "description": "A positive number that is the maximum number of results to return.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "ListMonitoredResourceDescriptorsResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      },
      "get": {
       "id": "monitoring.projects.monitoredResourceDescriptors.get",
       "path": "v3/{+name}",
       "httpMethod": "GET",
       "description": "Gets a single monitored resource descriptor.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The monitored resource descriptor to get. The format is `\"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}\"`. The `{resource_type}` is a predefined type, such as `cloudsql_database`.",
         "required": true,
         "pattern": "^projects/[^/]*/monitoredResourceDescriptors/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "MonitoredResourceDescriptor"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      }
     }
    },
    "metricDescriptors": {
     "methods": {
      "list": {
       "id": "monitoring.projects.metricDescriptors.list",
       "path": "v3/{+name}/metricDescriptors",
       "httpMethod": "GET",
       "description": "Lists metric descriptors that match a filter.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project on which to execute the request. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        },
        "filter": {
         "type": "string",
         "description": "If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the [filter](/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all [custom metrics](/monitoring/custom-metrics): metric.type = starts_with(\"custom.googleapis.com/\")",
         "location": "query"
        },
        "pageSize": {
         "type": "integer",
         "description": "A positive number that is the maximum number of results to return.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "ListMetricDescriptorsResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      },
      "get": {
       "id": "monitoring.projects.metricDescriptors.get",
       "path": "v3/{+name}",
       "httpMethod": "GET",
       "description": "Gets a single metric descriptor.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The metric descriptor on which to execute the request. The format is `\"projects/{project_id_or_number}/metricDescriptors/{metric_id}\"`. An example value of `{metric_id}` is `\"compute.googleapis.com/instance/disk/read_bytes_count\"`.",
         "required": true,
         "pattern": "^projects/[^/]*/metricDescriptors/.*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "MetricDescriptor"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      },
      "create": {
       "id": "monitoring.projects.metricDescriptors.create",
       "path": "v3/{+name}/metricDescriptors",
       "httpMethod": "POST",
       "description": "Creates a new metric descriptor. User-created metric descriptors define [custom metrics](/monitoring/custom-metrics).",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project on which to execute the request. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "request": {
        "$ref": "MetricDescriptor"
       },
       "response": {
        "$ref": "MetricDescriptor"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      },
      "delete": {
       "id": "monitoring.projects.metricDescriptors.delete",
       "path": "v3/{+name}",
       "httpMethod": "DELETE",
       "description": "Deletes a metric descriptor. Only user-created [custom metrics](/monitoring/custom-metrics) can be deleted.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The metric descriptor on which to execute the request. The format is `\"projects/{project_id_or_number}/metricDescriptors/{metric_id}\"`. An example of `{metric_id}` is: `\"custom.googleapis.com/my_test_metric\"`.",
         "required": true,
         "pattern": "^projects/[^/]*/metricDescriptors/.*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "Empty"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring"
       ]
      }
     }
    },
    "timeSeries": {
     "methods": {
      "list": {
       "id": "monitoring.projects.timeSeries.list",
       "path": "v3/{+name}/timeSeries",
       "httpMethod": "GET",
       "description": "Lists time series that match a filter.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        },
        "filter": {
         "type": "string",
         "description": "A [monitoring filter](/monitoring/api/v3/filters) that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = \"compute.googleapis.com/instance/cpu/usage_time\" AND metric.label.instance_name = \"my-instance-name\"",
         "location": "query"
        },
        "interval.endTime": {
         "type": "string",
         "description": "(required) The end of the interval. The interval includes this time.",
         "location": "query"
        },
        "interval.startTime": {
         "type": "string",
         "description": "(optional) If omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.",
         "location": "query"
        },
        "aggregation.alignmentPeriod": {
         "type": "string",
         "description": "The alignment period for per-[time series](TimeSeries) alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.",
         "location": "query"
        },
        "aggregation.perSeriesAligner": {
         "type": "string",
         "description": "The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.",
         "enum": [
          "ALIGN_NONE",
          "ALIGN_DELTA",
          "ALIGN_RATE",
          "ALIGN_INTERPOLATE",
          "ALIGN_NEXT_OLDER",
          "ALIGN_MIN",
          "ALIGN_MAX",
          "ALIGN_MEAN",
          "ALIGN_COUNT",
          "ALIGN_SUM",
          "ALIGN_STDDEV",
          "ALIGN_COUNT_TRUE",
          "ALIGN_FRACTION_TRUE"
         ],
         "location": "query"
        },
        "aggregation.crossSeriesReducer": {
         "type": "string",
         "description": "The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.",
         "enum": [
          "REDUCE_NONE",
          "REDUCE_MEAN",
          "REDUCE_MIN",
          "REDUCE_MAX",
          "REDUCE_SUM",
          "REDUCE_STDDEV",
          "REDUCE_COUNT",
          "REDUCE_COUNT_TRUE",
          "REDUCE_FRACTION_TRUE",
          "REDUCE_PERCENTILE_99",
          "REDUCE_PERCENTILE_95",
          "REDUCE_PERCENTILE_50",
          "REDUCE_PERCENTILE_05"
         ],
         "location": "query"
        },
        "aggregation.groupByFields": {
         "type": "string",
         "description": "The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified, the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.",
         "repeated": true,
         "location": "query"
        },
        "orderBy": {
         "type": "string",
         "description": "Specifies the order in which the points of the time series should be returned. By default, results are not ordered. Currently, this field must be left blank.",
         "location": "query"
        },
        "view": {
         "type": "string",
         "description": "Specifies which information is returned about the time series.",
         "enum": [
          "FULL",
          "HEADERS"
         ],
         "location": "query"
        },
        "pageSize": {
         "type": "integer",
         "description": "A positive number that is the maximum number of results to return. When `view` field sets to `FULL`, it limits the number of `Points` server will return; if `view` field is `HEADERS`, it limits the number of `TimeSeries` server will return.",
         "format": "int32",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "response": {
        "$ref": "ListTimeSeriesResponse"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.read"
       ]
      },
      "create": {
       "id": "monitoring.projects.timeSeries.create",
       "path": "v3/{+name}/timeSeries",
       "httpMethod": "POST",
       "description": "Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.",
       "parameters": {
        "name": {
         "type": "string",
         "description": "The project on which to execute the request. The format is `\"projects/{project_id_or_number}\"`.",
         "required": true,
         "pattern": "^projects/[^/]*$",
         "location": "path"
        }
       },
       "parameterOrder": [
        "name"
       ],
       "request": {
        "$ref": "CreateTimeSeriesRequest"
       },
       "response": {
        "$ref": "Empty"
       },
       "scopes": [
        "https://www.googleapis.com/auth/cloud-platform",
        "https://www.googleapis.com/auth/monitoring",
        "https://www.googleapis.com/auth/monitoring.write"
       ]
      }
     }
    }
   }
  }
 }
}
