{
 "kind": "discovery#restDescription",
 "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/xW_CLgXez5AZDCw5fhxCvxKwgIc\"",
 "discoveryVersion": "v1",
 "id": "monitoring:v3",
 "name": "monitoring",
 "version": "v3",
 "revision": "20160425",
 "title": "Google Monitoring API",
 "description": "Manages your Stackdriver monitoring data and configurations. Projects must be associated with a Stackdriver account, except for the following methods: [monitoredResourceDescriptors.list](v3/projects.monitoredResourceDescriptors/list), [monitoredResourceDescriptors.get](v3/projects.monitoredResourceDescriptors/get), [metricDescriptors.list](v3/projects.metricDescriptors/list), [metricDescriptors.get](v3/projects.metricDescriptors/get), and [timeSeries.list](v3/projects.timeSeries/list).",
 "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": "If this value is 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": "If this value is 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. This method does not require a Stackdriver account.",
       "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. This method does not require a Stackdriver account.",
       "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. This method does not require a Stackdriver account.",
       "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. This method does not require a Stackdriver account.",
       "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. This method does not require a Stackdriver account.",
       "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": "If this value is 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"
       ]
      }
     }
    }
   }
  }
 }
}
