{
  "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"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://monitoring.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Monitoring",
  "description": "Manages your Stackdriver Monitoring data and configurations. Most projects must be associated with a Stackdriver account, with a few exceptions as noted on the individual method pages.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/monitoring/api/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "monitoring:v3",
  "kind": "discovery#restDescription",
  "name": "monitoring",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "alertPolicies": {
          "methods": {
            "create": {
              "description": "Creates a new alerting policy.",
              "flatPath": "v3/projects/{projectsId}/alertPolicies",
              "httpMethod": "POST",
              "id": "monitoring.projects.alertPolicies.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project in which to create the alerting policy. The format is projects/[PROJECT_ID].Note that this field names the parent container in which the alerting policy will be written, not the name of the created policy. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[POLICY_ID], identifying the policy in the container.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}/alertPolicies",
              "request": {
                "$ref": "AlertPolicy"
              },
              "response": {
                "$ref": "AlertPolicy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "delete": {
              "description": "Deletes an alerting policy.",
              "flatPath": "v3/projects/{projectsId}/alertPolicies/{alertPoliciesId}",
              "httpMethod": "DELETE",
              "id": "monitoring.projects.alertPolicies.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The alerting policy to delete. The format is:\nprojects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]\nFor more information, see AlertPolicy.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/alertPolicies/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "get": {
              "description": "Gets a single alerting policy.",
              "flatPath": "v3/projects/{projectsId}/alertPolicies/{alertPoliciesId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.alertPolicies.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The alerting policy to retrieve. The format is\nprojects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]\n",
                  "location": "path",
                  "pattern": "^projects/[^/]+/alertPolicies/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "AlertPolicy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "list": {
              "description": "Lists the existing alerting policies for the project.",
              "flatPath": "v3/projects/{projectsId}/alertPolicies",
              "httpMethod": "GET",
              "id": "monitoring.projects.alertPolicies.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "filter": {
                  "description": "If provided, this field specifies the criteria that must be met by alert policies to be included in the response.For more details, see sorting and filtering.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The project whose alert policies are to be listed. The format is\nprojects/[PROJECT_ID]\nNote that this field names the parent container in which the alerting policies to be listed are stored. To retrieve a single alerting policy by name, use the GetAlertPolicy operation, instead.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "orderBy": {
                  "description": "A comma-separated list of fields by which to sort the result. Supports the same set of field references as the filter field. Entries can be prefixed with a minus sign to sort by the field in descending order.For more details, see sorting and filtering.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of results to return in a single response.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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 more results from the previous method call.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/alertPolicies",
              "response": {
                "$ref": "ListAlertPoliciesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "patch": {
              "description": "Updates an alerting policy. You can either replace the entire policy with a new one or replace only certain fields in the current alerting policy by specifying the fields to be updated via updateMask. Returns the updated alerting policy.",
              "flatPath": "v3/projects/{projectsId}/alertPolicies/{alertPoliciesId}",
              "httpMethod": "PATCH",
              "id": "monitoring.projects.alertPolicies.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required if the policy exists. The resource name for this policy. The syntax is:\nprojects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]\n[ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/alertPolicies/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Optional. A list of alerting policy field names. If this field is not empty, each listed field in the existing alerting policy is set to the value of the corresponding field in the supplied policy (alert_policy), or to the field's default value if the field is not in the supplied alerting policy. Fields not listed retain their previous value.Examples of valid field masks include display_name, documentation, documentation.content, documentation.mime_type, user_labels, user_label.nameofkey, enabled, conditions, combiner, etc.If this field is empty, then the supplied alerting policy replaces the existing policy. It is the same as deleting the existing policy and adding the supplied policy, except for the following:\nThe new policy will have the same [ALERT_POLICY_ID] as the former policy. This gives you continuity with the former policy in your notifications and incidents.\nConditions in the new policy will keep their former [CONDITION_ID] if the supplied condition includes the name field with that [CONDITION_ID]. If the supplied condition omits the name field, then a new [CONDITION_ID] is created.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "request": {
                "$ref": "AlertPolicy"
              },
              "response": {
                "$ref": "AlertPolicy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            }
          }
        },
        "collectdTimeSeries": {
          "methods": {
            "create": {
              "description": "Stackdriver Monitoring Agent only: Creates a new time series.\u003caside class=\"caution\"\u003eThis method is only for use by the Stackdriver Monitoring Agent. Use projects.timeSeries.create instead.\u003c/aside\u003e",
              "flatPath": "v3/projects/{projectsId}/collectdTimeSeries",
              "httpMethod": "POST",
              "id": "monitoring.projects.collectdTimeSeries.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project in which to create the time series. The format is \"projects/PROJECT_ID_OR_NUMBER\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}/collectdTimeSeries",
              "request": {
                "$ref": "CreateCollectdTimeSeriesRequest"
              },
              "response": {
                "$ref": "CreateCollectdTimeSeriesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.write"
              ]
            }
          }
        },
        "groups": {
          "methods": {
            "create": {
              "description": "Creates a new group.",
              "flatPath": "v3/projects/{projectsId}/groups",
              "httpMethod": "POST",
              "id": "monitoring.projects.groups.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project in which to create the group. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "validateOnly": {
                  "description": "If true, validate this request but do not create the group.",
                  "location": "query",
                  "type": "boolean"
                }
              },
              "path": "v3/{+name}/groups",
              "request": {
                "$ref": "Group"
              },
              "response": {
                "$ref": "Group"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "delete": {
              "description": "Deletes an existing group.",
              "flatPath": "v3/projects/{projectsId}/groups/{groupsId}",
              "httpMethod": "DELETE",
              "id": "monitoring.projects.groups.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The group to delete. The format is \"projects/{project_id_or_number}/groups/{group_id}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/groups/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "recursive": {
                  "description": "If this field is true, then the request means to delete a group with all its descendants. Otherwise, the request means to delete a group only when it has no descendants. The default value is false.",
                  "location": "query",
                  "type": "boolean"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "get": {
              "description": "Gets a single group.",
              "flatPath": "v3/projects/{projectsId}/groups/{groupsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.groups.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The group to retrieve. The format is \"projects/{project_id_or_number}/groups/{group_id}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/groups/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+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"
              ]
            },
            "list": {
              "description": "Lists the existing groups.",
              "flatPath": "v3/projects/{projectsId}/groups",
              "httpMethod": "GET",
              "id": "monitoring.projects.groups.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "ancestorsOfGroup": {
                  "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",
                  "type": "string"
                },
                "childrenOfGroup": {
                  "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",
                  "type": "string"
                },
                "descendantsOfGroup": {
                  "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",
                  "type": "string"
                },
                "name": {
                  "description": "The project whose groups are to be listed. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "A positive number that is the maximum number of results to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/groups",
              "response": {
                "$ref": "ListGroupsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "update": {
              "description": "Updates an existing group. You can change any group attributes except name.",
              "flatPath": "v3/projects/{projectsId}/groups/{groupsId}",
              "httpMethod": "PUT",
              "id": "monitoring.projects.groups.update",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. 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.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/groups/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "validateOnly": {
                  "description": "If true, validate this request but do not update the existing group.",
                  "location": "query",
                  "type": "boolean"
                }
              },
              "path": "v3/{+name}",
              "request": {
                "$ref": "Group"
              },
              "response": {
                "$ref": "Group"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            }
          },
          "resources": {
            "members": {
              "methods": {
                "list": {
                  "description": "Lists the monitored resources that are members of a group.",
                  "flatPath": "v3/projects/{projectsId}/groups/{groupsId}/members",
                  "httpMethod": "GET",
                  "id": "monitoring.projects.groups.members.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "filter": {
                      "description": "An optional list filter 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:\nresource.type = \"gce_instance\"\n",
                      "location": "query",
                      "type": "string"
                    },
                    "interval.endTime": {
                      "description": "Required. The end of the time interval.",
                      "format": "google-datetime",
                      "location": "query",
                      "type": "string"
                    },
                    "interval.startTime": {
                      "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.",
                      "format": "google-datetime",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "The group whose members are listed. The format is \"projects/{project_id_or_number}/groups/{group_id}\".",
                      "location": "path",
                      "pattern": "^projects/[^/]+/groups/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "A positive number that is the maximum number of results to return.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "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",
                      "type": "string"
                    }
                  },
                  "path": "v3/{+name}/members",
                  "response": {
                    "$ref": "ListGroupMembersResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/monitoring",
                    "https://www.googleapis.com/auth/monitoring.read"
                  ]
                }
              }
            }
          }
        },
        "metricDescriptors": {
          "methods": {
            "create": {
              "description": "Creates a new metric descriptor. User-created metric descriptors define custom metrics.",
              "flatPath": "v3/projects/{projectsId}/metricDescriptors",
              "httpMethod": "POST",
              "id": "monitoring.projects.metricDescriptors.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}/metricDescriptors",
              "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": {
              "description": "Deletes a metric descriptor. Only user-created custom metrics can be deleted.",
              "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}",
              "httpMethod": "DELETE",
              "id": "monitoring.projects.metricDescriptors.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "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\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/metricDescriptors/.+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "get": {
              "description": "Gets a single metric descriptor. This method does not require a Stackdriver account.",
              "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.metricDescriptors.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "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\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/metricDescriptors/.+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+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"
              ]
            },
            "list": {
              "description": "Lists metric descriptors that match a filter. This method does not require a Stackdriver account.",
              "flatPath": "v3/projects/{projectsId}/metricDescriptors",
              "httpMethod": "GET",
              "id": "monitoring.projects.metricDescriptors.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "filter": {
                  "description": "If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics:\nmetric.type = starts_with(\"custom.googleapis.com/\")\n",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "A positive number that is the maximum number of results to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/metricDescriptors",
              "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"
              ]
            }
          }
        },
        "monitoredResourceDescriptors": {
          "methods": {
            "get": {
              "description": "Gets a single monitored resource descriptor. This method does not require a Stackdriver account.",
              "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors/{monitoredResourceDescriptorsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.monitoredResourceDescriptors.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "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.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/monitoredResourceDescriptors/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+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"
              ]
            },
            "list": {
              "description": "Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.",
              "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors",
              "httpMethod": "GET",
              "id": "monitoring.projects.monitoredResourceDescriptors.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "filter": {
                  "description": "An optional filter 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:\nresource.type = starts_with(\"gce_\") AND resource.label:id\n",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "A positive number that is the maximum number of results to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/monitoredResourceDescriptors",
              "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"
              ]
            }
          }
        },
        "notificationChannelDescriptors": {
          "methods": {
            "get": {
              "description": "Gets a single channel descriptor. The descriptor indicates which fields are expected / permitted for a notification channel of the given type.",
              "flatPath": "v3/projects/{projectsId}/notificationChannelDescriptors/{notificationChannelDescriptorsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.notificationChannelDescriptors.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The channel type for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannelDescriptors/{channel_type}.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannelDescriptors/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "NotificationChannelDescriptor"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "list": {
              "description": "Lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added.",
              "flatPath": "v3/projects/{projectsId}/notificationChannelDescriptors",
              "httpMethod": "GET",
              "id": "monitoring.projects.notificationChannelDescriptors.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The REST resource name of the parent from which to retrieve the notification channel descriptors. The expected syntax is:\nprojects/[PROJECT_ID]\nNote that this names the parent container in which to look for the descriptors; to retrieve a single descriptor by name, use the GetNotificationChannelDescriptor operation, instead.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of results to return in a single response. If not set to a positive number, a reasonable value will be chosen by the service.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "If non-empty, page_token must contain a value returned as the next_page_token in a previous response to request the next set of results.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/notificationChannelDescriptors",
              "response": {
                "$ref": "ListNotificationChannelDescriptorsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            }
          }
        },
        "notificationChannels": {
          "methods": {
            "create": {
              "description": "Creates a new notification channel, representing a single notification endpoint such as an email address, SMS number, or PagerDuty service.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels",
              "httpMethod": "POST",
              "id": "monitoring.projects.notificationChannels.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project on which to execute the request. The format is:\nprojects/[PROJECT_ID]\nNote that this names the container into which the channel will be written. This does not name the newly created channel. The resulting channel's name will have a normalized version of this field as a prefix, but will add /notificationChannels/[CHANNEL_ID] to identify the channel.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}/notificationChannels",
              "request": {
                "$ref": "NotificationChannel"
              },
              "response": {
                "$ref": "NotificationChannel"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "delete": {
              "description": "Deletes a notification channel.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}",
              "httpMethod": "DELETE",
              "id": "monitoring.projects.notificationChannels.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "force": {
                  "description": "If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, channels that are still referenced by an existing alerting policy will fail to be deleted in a delete operation.",
                  "location": "query",
                  "type": "boolean"
                },
                "name": {
                  "description": "The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "get": {
              "description": "Gets a single notification channel. The channel includes the relevant configuration details with which the channel was created. However, the response may truncate or omit passwords, API keys, or other private key matter and thus the response may not be 100% identical to the information that was supplied in the call to the create method.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.notificationChannels.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "NotificationChannel"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "getVerificationCode": {
              "description": "Requests a verification code for an already verified channel that can then be used in a call to VerifyNotificationChannel() on a different channel with an equivalent identity in the same or in a different project. This makes it possible to copy a channel between projects without requiring manual reverification of the channel. If the channel is not in the verified state, this method will fail (in other words, this may only be used if the SendNotificationChannelVerificationCode and VerifyNotificationChannel paths have already been used to put the given channel into the verified state).There is no guarantee that the verification codes returned by this method will be of a similar structure or form as the ones that are delivered to the channel via SendNotificationChannelVerificationCode; while VerifyNotificationChannel() will recognize both the codes delivered via SendNotificationChannelVerificationCode() and returned from GetNotificationChannelVerificationCode(), it is typically the case that the verification codes delivered via SendNotificationChannelVerificationCode() will be shorter and also have a shorter expiration (e.g. codes such as \"G-123456\") whereas GetVerificationCode() will typically return a much longer, websafe base 64 encoded string that has a longer expiration time.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}:getVerificationCode",
              "httpMethod": "POST",
              "id": "monitoring.projects.notificationChannels.getVerificationCode",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The notification channel for which a verification code is to be generated and retrieved. This must name a channel that is already verified; if the specified channel is not verified, the request will fail.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}:getVerificationCode",
              "request": {
                "$ref": "GetNotificationChannelVerificationCodeRequest"
              },
              "response": {
                "$ref": "GetNotificationChannelVerificationCodeResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "list": {
              "description": "Lists the notification channels that have been created for the project.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels",
              "httpMethod": "GET",
              "id": "monitoring.projects.notificationChannels.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "filter": {
                  "description": "If provided, this field specifies the criteria that must be met by notification channels to be included in the response.For more details, see sorting and filtering.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The project on which to execute the request. The format is projects/[PROJECT_ID]. That is, this names the container in which to look for the notification channels; it does not name a specific channel. To query a specific channel by REST resource name, use the GetNotificationChannel operation.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "orderBy": {
                  "description": "A comma-separated list of fields by which to sort the result. Supports the same set of fields as in filter. Entries can be prefixed with a minus sign to sort in descending rather than ascending order.For more details, see sorting and filtering.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of results to return in a single response. If not set to a positive number, a reasonable value will be chosen by the service.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "If non-empty, page_token must contain a value returned as the next_page_token in a previous response to request the next set of results.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/notificationChannels",
              "response": {
                "$ref": "ListNotificationChannelsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "patch": {
              "description": "Updates a notification channel. Fields not specified in the field mask remain unchanged.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}",
              "httpMethod": "PATCH",
              "id": "monitoring.projects.notificationChannels.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The full REST resource name for this channel. The syntax is:\nprojects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]\nThe [CHANNEL_ID] is automatically assigned by the server on creation.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "The fields to update.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "request": {
                "$ref": "NotificationChannel"
              },
              "response": {
                "$ref": "NotificationChannel"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "sendVerificationCode": {
              "description": "Causes a verification code to be delivered to the channel. The code can then be supplied in VerifyNotificationChannel to verify the channel.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}:sendVerificationCode",
              "httpMethod": "POST",
              "id": "monitoring.projects.notificationChannels.sendVerificationCode",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The notification channel to which to send a verification code.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}:sendVerificationCode",
              "request": {
                "$ref": "SendNotificationChannelVerificationCodeRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "verify": {
              "description": "Verifies a NotificationChannel by proving receipt of the code delivered to the channel as a result of calling SendNotificationChannelVerificationCode.",
              "flatPath": "v3/projects/{projectsId}/notificationChannels/{notificationChannelsId}:verify",
              "httpMethod": "POST",
              "id": "monitoring.projects.notificationChannels.verify",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The notification channel to verify.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/notificationChannels/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}:verify",
              "request": {
                "$ref": "VerifyNotificationChannelRequest"
              },
              "response": {
                "$ref": "NotificationChannel"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            }
          }
        },
        "timeSeries": {
          "methods": {
            "create": {
              "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.",
              "flatPath": "v3/projects/{projectsId}/timeSeries",
              "httpMethod": "POST",
              "id": "monitoring.projects.timeSeries.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}/timeSeries",
              "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"
              ]
            },
            "list": {
              "description": "Lists time series that match a filter. This method does not require a Stackdriver account.",
              "flatPath": "v3/projects/{projectsId}/timeSeries",
              "httpMethod": "GET",
              "id": "monitoring.projects.timeSeries.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "aggregation.alignmentPeriod": {
                  "description": "The alignment period for per-time series 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.",
                  "format": "google-duration",
                  "location": "query",
                  "type": "string"
                },
                "aggregation.crossSeriesReducer": {
                  "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_COUNT_FALSE",
                    "REDUCE_FRACTION_TRUE",
                    "REDUCE_PERCENTILE_99",
                    "REDUCE_PERCENTILE_95",
                    "REDUCE_PERCENTILE_50",
                    "REDUCE_PERCENTILE_05"
                  ],
                  "location": "query",
                  "type": "string"
                },
                "aggregation.groupByFields": {
                  "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. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "aggregation.perSeriesAligner": {
                  "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_COUNT_FALSE",
                    "ALIGN_FRACTION_TRUE",
                    "ALIGN_PERCENTILE_99",
                    "ALIGN_PERCENTILE_95",
                    "ALIGN_PERCENTILE_50",
                    "ALIGN_PERCENTILE_05",
                    "ALIGN_PERCENT_CHANGE"
                  ],
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "description": "A monitoring filter 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:\nmetric.type = \"compute.googleapis.com/instance/cpu/usage_time\" AND\n    metric.label.instance_name = \"my-instance-name\"\n",
                  "location": "query",
                  "type": "string"
                },
                "interval.endTime": {
                  "description": "Required. The end of the time interval.",
                  "format": "google-datetime",
                  "location": "query",
                  "type": "string"
                },
                "interval.startTime": {
                  "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.",
                  "format": "google-datetime",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "orderBy": {
                  "description": "Unsupported: must be left blank. The points in each time series are returned in reverse time order.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "A positive number that is the maximum number of results to return. If page_size is empty or more than 100,000 results, the effective page_size is 100,000 results. If view is set to FULL, this is the maximum number of Points returned. If view is set to HEADERS, this is the maximum number of TimeSeries returned.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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",
                  "type": "string"
                },
                "view": {
                  "description": "Specifies which information is returned about the time series.",
                  "enum": [
                    "FULL",
                    "HEADERS"
                  ],
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}/timeSeries",
              "response": {
                "$ref": "ListTimeSeriesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            }
          }
        },
        "uptimeCheckConfigs": {
          "methods": {
            "create": {
              "description": "Creates a new uptime check configuration.",
              "flatPath": "v3/projects/{projectsId}/uptimeCheckConfigs",
              "httpMethod": "POST",
              "id": "monitoring.projects.uptimeCheckConfigs.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "The project in which to create the uptime check. The format  is projects/[PROJECT_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+parent}/uptimeCheckConfigs",
              "request": {
                "$ref": "UptimeCheckConfig"
              },
              "response": {
                "$ref": "UptimeCheckConfig"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "delete": {
              "description": "Deletes an uptime check configuration. Note that this method will fail if the uptime check configuration is referenced by an alert policy or other dependent configs that would be rendered invalid by the deletion.",
              "flatPath": "v3/projects/{projectsId}/uptimeCheckConfigs/{uptimeCheckConfigsId}",
              "httpMethod": "DELETE",
              "id": "monitoring.projects.uptimeCheckConfigs.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The uptime check configuration to delete. The format  is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+/uptimeCheckConfigs/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            },
            "get": {
              "description": "Gets a single uptime check configuration.",
              "flatPath": "v3/projects/{projectsId}/uptimeCheckConfigs/{uptimeCheckConfigsId}",
              "httpMethod": "GET",
              "id": "monitoring.projects.uptimeCheckConfigs.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The uptime check configuration to retrieve. The format  is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+/uptimeCheckConfigs/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "response": {
                "$ref": "UptimeCheckConfig"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "list": {
              "description": "Lists the existing valid uptime check configurations for the project, leaving out any invalid configurations.",
              "flatPath": "v3/projects/{projectsId}/uptimeCheckConfigs",
              "httpMethod": "GET",
              "id": "monitoring.projects.uptimeCheckConfigs.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of results to return in a single response. The server may further constrain the maximum number of results returned in a single page. If the page_size is \u003c=0, the server will decide the number of results to be returned.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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 more results from the previous method call.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The project whose uptime check configurations are listed. The format  is projects/[PROJECT_ID].",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3/{+parent}/uptimeCheckConfigs",
              "response": {
                "$ref": "ListUptimeCheckConfigsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring",
                "https://www.googleapis.com/auth/monitoring.read"
              ]
            },
            "patch": {
              "description": "Updates an uptime check configuration. You can either replace the entire configuration with a new one or replace only certain fields in the current configuration by specifying the fields to be updated via \"updateMask\". Returns the updated configuration.",
              "flatPath": "v3/projects/{projectsId}/uptimeCheckConfigs/{uptimeCheckConfigsId}",
              "httpMethod": "PATCH",
              "id": "monitoring.projects.uptimeCheckConfigs.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "A unique resource name for this UptimeCheckConfig. The format is:projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].This field should be omitted when creating the uptime check configuration; on create, the resource name is assigned by the server and included in the response.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/uptimeCheckConfigs/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Optional. If present, only the listed fields in the current uptime check configuration are updated with values from the new configuration. If this field is empty, then the current configuration is completely replaced with the new configuration.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v3/{+name}",
              "request": {
                "$ref": "UptimeCheckConfig"
              },
              "response": {
                "$ref": "UptimeCheckConfig"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/monitoring"
              ]
            }
          }
        }
      }
    },
    "uptimeCheckIps": {
      "methods": {
        "list": {
          "description": "Returns the list of IPs that checkers run from",
          "flatPath": "v3/uptimeCheckIps",
          "httpMethod": "GET",
          "id": "monitoring.uptimeCheckIps.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "The maximum number of results to return in a single response. The server may further constrain the maximum number of results returned in a single page. If the page_size is \u003c=0, the server will decide the number of results to be returned. NOTE: this field is not yet implemented",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "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 more results from the previous method call. NOTE: this field is not yet implemented",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v3/uptimeCheckIps",
          "response": {
            "$ref": "ListUptimeCheckIpsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/monitoring",
            "https://www.googleapis.com/auth/monitoring.read"
          ]
        }
      }
    }
  },
  "revision": "20190503",
  "rootUrl": "https://monitoring.googleapis.com/",
  "schemas": {
    "Aggregation": {
      "description": "Describes how to combine multiple time series to provide different views of the data. Aggregation consists of an alignment step on individual time series (alignment_period and per_series_aligner) followed by an optional reduction step of the data across the aligned time series (cross_series_reducer and group_by_fields). For more details, see Aggregation.",
      "id": "Aggregation",
      "properties": {
        "alignmentPeriod": {
          "description": "The alignment period for per-time series 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.",
          "format": "google-duration",
          "type": "string"
        },
        "crossSeriesReducer": {
          "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_COUNT_FALSE",
            "REDUCE_FRACTION_TRUE",
            "REDUCE_PERCENTILE_99",
            "REDUCE_PERCENTILE_95",
            "REDUCE_PERCENTILE_50",
            "REDUCE_PERCENTILE_05"
          ],
          "enumDescriptions": [
            "No cross-time series reduction. The output of the aligner is returned.",
            "Reduce by computing the mean across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric or distribution values. The value type of the output is DOUBLE.",
            "Reduce by computing the minimum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric values. The value type of the output is the same as the value type of the input.",
            "Reduce by computing the maximum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric values. The value type of the output is the same as the value type of the input.",
            "Reduce by computing the sum across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric and distribution values. The value type of the output is the same as the value type of the input.",
            "Reduce by computing the standard deviation across time series for each alignment period. This reducer is valid for delta and gauge metrics with numeric or distribution values. The value type of the output is DOUBLE.",
            "Reduce by computing the count of data points across time series for each alignment period. This reducer is valid for delta and gauge metrics of numeric, Boolean, distribution, and string value type. The value type of the output is INT64.",
            "Reduce by computing the count of True-valued data points across time series for each alignment period. This reducer is valid for delta and gauge metrics of Boolean value type. The value type of the output is INT64.",
            "Reduce by computing the count of False-valued data points across time series for each alignment period. This reducer is valid for delta and gauge metrics of Boolean value type. The value type of the output is INT64.",
            "Reduce by computing the fraction of True-valued data points across time series for each alignment period. This reducer is valid for delta and gauge metrics of Boolean value type. The output value is in the range 0, 1 and has value type DOUBLE.",
            "Reduce by computing 99th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is DOUBLE",
            "Reduce by computing 95th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is DOUBLE",
            "Reduce by computing 50th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is DOUBLE",
            "Reduce by computing 5th percentile of data points across time series for each alignment period. This reducer is valid for gauge and delta metrics of numeric and distribution type. The value of the output is DOUBLE"
          ],
          "type": "string"
        },
        "groupByFields": {
          "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. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "perSeriesAligner": {
          "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_COUNT_FALSE",
            "ALIGN_FRACTION_TRUE",
            "ALIGN_PERCENTILE_99",
            "ALIGN_PERCENTILE_95",
            "ALIGN_PERCENTILE_50",
            "ALIGN_PERCENTILE_05",
            "ALIGN_PERCENT_CHANGE"
          ],
          "enumDescriptions": [
            "No alignment. Raw data is returned. Not valid if cross-time series reduction is requested. The value type of the result is the same as the value type of the input.",
            "Align and convert to delta metric type. This alignment is valid for cumulative metrics and delta metrics. Aligning an existing delta metric to a delta metric requires that the alignment period be increased. The value type of the result is the same as the value type of the input.One can think of this aligner as a rate but without time units; that is, the output is conceptually (second_point - first_point).",
            "Align and convert to a rate. This alignment is valid for cumulative metrics and delta metrics with numeric values. The output is a gauge metric with value type DOUBLE.One can think of this aligner as conceptually providing the slope of the line that passes through the value at the start and end of the window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)), and the output unit is one that has a \"/time\" dimension.If, by rate, you are looking for percentage change, see the ALIGN_PERCENT_CHANGE aligner option.",
            "Align by interpolating between adjacent points around the period boundary. This alignment is valid for gauge metrics with numeric values. The value type of the result is the same as the value type of the input.",
            "Align by shifting the oldest data point before the period boundary to the boundary. This alignment is valid for gauge metrics. The value type of the result is the same as the value type of the input.",
            "Align time series via aggregation. The resulting data point in the alignment period is the minimum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the result is the same as the value type of the input.",
            "Align time series via aggregation. The resulting data point in the alignment period is the maximum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the result is the same as the value type of the input.",
            "Align time series via aggregation. The resulting data point in the alignment period is the average or arithmetic mean of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the output is DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the count of all data points in the period. This alignment is valid for gauge and delta metrics with numeric or Boolean values. The value type of the output is INT64.",
            "Align time series via aggregation. The resulting data point in the alignment period is the sum of all data points in the period. This alignment is valid for gauge and delta metrics with numeric and distribution values. The value type of the output is the same as the value type of the input.",
            "Align time series via aggregation. The resulting data point in the alignment period is the standard deviation of all data points in the period. This alignment is valid for gauge and delta metrics with numeric values. The value type of the output is DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the count of True-valued data points in the period. This alignment is valid for gauge metrics with Boolean values. The value type of the output is INT64.",
            "Align time series via aggregation. The resulting data point in the alignment period is the count of False-valued data points in the period. This alignment is valid for gauge metrics with Boolean values. The value type of the output is INT64.",
            "Align time series via aggregation. The resulting data point in the alignment period is the fraction of True-valued data points in the period. This alignment is valid for gauge metrics with Boolean values. The output value is in the range 0, 1 and has value type DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the 99th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the 95th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the 50th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type DOUBLE.",
            "Align time series via aggregation. The resulting data point in the alignment period is the 5th percentile of all data points in the period. This alignment is valid for gauge and delta metrics with distribution values. The output is a gauge metric with value type DOUBLE.",
            "Align and convert to a percentage change. This alignment is valid for gauge and delta metrics with numeric values. This alignment conceptually computes the equivalent of \"((current - previous)/previous)*100\" where previous value is determined based on the alignmentPeriod. In the event that previous is 0 the calculated value is infinity with the exception that if both (current - previous) and previous are 0 the calculated value is 0. A 10 minute moving mean is computed at each point of the time window prior to the above calculation to smooth the metric and prevent false positives from very short lived spikes. Only applicable for data that is \u003e= 0. Any values \u003c 0 are treated as no data. While delta metrics are accepted by this alignment special care should be taken that the values for the metric will always be positive. The output is a gauge metric with value type DOUBLE."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AlertPolicy": {
      "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alert policies, see Introduction to Alerting.",
      "id": "AlertPolicy",
      "properties": {
        "combiner": {
          "description": "How to combine the results of multiple conditions to determine if an incident should be opened.",
          "enum": [
            "COMBINE_UNSPECIFIED",
            "AND",
            "OR",
            "AND_WITH_MATCHING_RESOURCE"
          ],
          "enumDescriptions": [
            "An unspecified combiner.",
            "Combine conditions using the logical AND operator. An incident is created only if all conditions are met simultaneously. This combiner is satisfied if all conditions are met, even if they are met on completely different resources.",
            "Combine conditions using the logical OR operator. An incident is created if any of the listed conditions is met.",
            "Combine conditions using logical AND operator, but unlike the regular AND option, an incident is created only if all conditions are met simultaneously on at least one resource."
          ],
          "type": "string"
        },
        "conditions": {
          "description": "A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions.",
          "items": {
            "$ref": "Condition"
          },
          "type": "array"
        },
        "creationRecord": {
          "$ref": "MutationRecord",
          "description": "A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored."
        },
        "displayName": {
          "description": "A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.",
          "type": "string"
        },
        "documentation": {
          "$ref": "Documentation",
          "description": "Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation."
        },
        "enabled": {
          "description": "Whether or not the policy is enabled. On write, the default interpretation if unset is that the policy is enabled. On read, clients should not make any assumption about the state if it has not been populated. The field should always be populated on List and Get operations, unless a field projection has been specified that strips it out.",
          "type": "boolean"
        },
        "mutationRecord": {
          "$ref": "MutationRecord",
          "description": "A read-only record of the most recent change to the alerting policy. If provided in a call to create or update, this field will be ignored."
        },
        "name": {
          "description": "Required if the policy exists. The resource name for this policy. The syntax is:\nprojects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]\n[ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request.",
          "type": "string"
        },
        "notificationChannels": {
          "description": "Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the ListNotificationChannels method. The syntax of the entries in this field is:\nprojects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]\n",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "userLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "BasicAuthentication": {
      "description": "A type of authentication to perform against the specified resource or URL that uses username and password. Currently, only Basic authentication is supported in Uptime Monitoring.",
      "id": "BasicAuthentication",
      "properties": {
        "password": {
          "description": "The password to authenticate.",
          "type": "string"
        },
        "username": {
          "description": "The username to authenticate.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BucketOptions": {
      "description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.",
      "id": "BucketOptions",
      "properties": {
        "explicitBuckets": {
          "$ref": "Explicit",
          "description": "The explicit buckets."
        },
        "exponentialBuckets": {
          "$ref": "Exponential",
          "description": "The exponential buckets."
        },
        "linearBuckets": {
          "$ref": "Linear",
          "description": "The linear bucket."
        }
      },
      "type": "object"
    },
    "CollectdPayload": {
      "description": "A collection of data points sent from a collectd-based plugin. See the collectd documentation for more information.",
      "id": "CollectdPayload",
      "properties": {
        "endTime": {
          "description": "The end time of the interval.",
          "format": "google-datetime",
          "type": "string"
        },
        "metadata": {
          "additionalProperties": {
            "$ref": "TypedValue"
          },
          "description": "The measurement metadata. Example: \"process_id\" -\u003e 12345",
          "type": "object"
        },
        "plugin": {
          "description": "The name of the plugin. Example: \"disk\".",
          "type": "string"
        },
        "pluginInstance": {
          "description": "The instance name of the plugin Example: \"hdcl\".",
          "type": "string"
        },
        "startTime": {
          "description": "The start time of the interval.",
          "format": "google-datetime",
          "type": "string"
        },
        "type": {
          "description": "The measurement type. Example: \"memory\".",
          "type": "string"
        },
        "typeInstance": {
          "description": "The measurement type instance. Example: \"used\".",
          "type": "string"
        },
        "values": {
          "description": "The measured values during this time interval. Each value must have a different dataSourceName.",
          "items": {
            "$ref": "CollectdValue"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CollectdPayloadError": {
      "description": "Describes the error status for payloads that were not written.",
      "id": "CollectdPayloadError",
      "properties": {
        "error": {
          "$ref": "Status",
          "description": "Records the error status for the payload. If this field is present, the partial errors for nested values won't be populated."
        },
        "index": {
          "description": "The zero-based index in CreateCollectdTimeSeriesRequest.collectd_payloads.",
          "format": "int32",
          "type": "integer"
        },
        "valueErrors": {
          "description": "Records the error status for values that were not written due to an error.Failed payloads for which nothing is written will not include partial value errors.",
          "items": {
            "$ref": "CollectdValueError"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CollectdValue": {
      "description": "A single data point from a collectd-based plugin.",
      "id": "CollectdValue",
      "properties": {
        "dataSourceName": {
          "description": "The data source for the collectd value. For example there are two data sources for network measurements: \"rx\" and \"tx\".",
          "type": "string"
        },
        "dataSourceType": {
          "description": "The type of measurement.",
          "enum": [
            "UNSPECIFIED_DATA_SOURCE_TYPE",
            "GAUGE",
            "COUNTER",
            "DERIVE",
            "ABSOLUTE"
          ],
          "enumDescriptions": [
            "An unspecified data source type. This corresponds to google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED.",
            "An instantaneous measurement of a varying quantity. This corresponds to google.api.MetricDescriptor.MetricKind.GAUGE.",
            "A cumulative value over time. This corresponds to google.api.MetricDescriptor.MetricKind.CUMULATIVE.",
            "A rate of change of the measurement.",
            "An amount of change since the last measurement interval. This corresponds to google.api.MetricDescriptor.MetricKind.DELTA."
          ],
          "type": "string"
        },
        "value": {
          "$ref": "TypedValue",
          "description": "The measurement value."
        }
      },
      "type": "object"
    },
    "CollectdValueError": {
      "description": "Describes the error status for values that were not written.",
      "id": "CollectdValueError",
      "properties": {
        "error": {
          "$ref": "Status",
          "description": "Records the error status for the value."
        },
        "index": {
          "description": "The zero-based index in CollectdPayload.values within the parent CreateCollectdTimeSeriesRequest.collectd_payloads.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Condition": {
      "description": "A condition is a true/false test that determines when an alerting policy should open an incident. If a condition evaluates to true, it signifies that something is wrong.",
      "id": "Condition",
      "properties": {
        "conditionAbsent": {
          "$ref": "MetricAbsence",
          "description": "A condition that checks that a time series continues to receive new data points."
        },
        "conditionThreshold": {
          "$ref": "MetricThreshold",
          "description": "A condition that compares a time series against a threshold."
        },
        "displayName": {
          "description": "A short name or phrase used to identify the condition in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple conditions in the same policy.",
          "type": "string"
        },
        "name": {
          "description": "Required if the condition exists. The unique resource name for this condition. Its syntax is:\nprojects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]\n[CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is created as part of a new or updated alerting policy.When calling the alertPolicies.create method, do not include the name field in the conditions of the requested alerting policy. Stackdriver Monitoring creates the condition identifiers and includes them in the new policy.When calling the alertPolicies.update method to update a policy, including a condition name causes the existing condition to be updated. Conditions without names are added to the updated policy. Existing conditions are deleted if they are not updated.Best practice is to preserve [CONDITION_ID] if you make only small changes, such as those to condition thresholds, durations, or trigger values. Otherwise, treat the change as a new condition and let the existing condition be deleted.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ContentMatcher": {
      "description": "Used to perform string matching. It allows substring and regular expressions, together with their negations.",
      "id": "ContentMatcher",
      "properties": {
        "content": {
          "description": "String or regex content to match (max 1024 bytes)",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateCollectdTimeSeriesRequest": {
      "description": "The CreateCollectdTimeSeries request.",
      "id": "CreateCollectdTimeSeriesRequest",
      "properties": {
        "collectdPayloads": {
          "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"
          },
          "type": "array"
        },
        "collectdVersion": {
          "description": "The version of collectd that collected the data. Example: \"5.3.0-192.el6\".",
          "type": "string"
        },
        "resource": {
          "$ref": "MonitoredResource",
          "description": "The monitored resource associated with the time series."
        }
      },
      "type": "object"
    },
    "CreateCollectdTimeSeriesResponse": {
      "description": "The CreateCollectdTimeSeries response.",
      "id": "CreateCollectdTimeSeriesResponse",
      "properties": {
        "payloadErrors": {
          "description": "Records the error status for points that were not written due to an error.Failed requests for which nothing is written will return an error response instead.",
          "items": {
            "$ref": "CollectdPayloadError"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CreateTimeSeriesRequest": {
      "description": "The CreateTimeSeries request.",
      "id": "CreateTimeSeriesRequest",
      "properties": {
        "timeSeries": {
          "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.The maximum number of TimeSeries objects per Create request is 200.",
          "items": {
            "$ref": "TimeSeries"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Distribution": {
      "description": "Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of 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 formulas for buckets of fixed or exponentially increasing widths.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.",
      "id": "Distribution",
      "properties": {
        "bucketCounts": {
          "description": "Required in the Stackdriver Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "bucketOptions": {
          "$ref": "BucketOptions",
          "description": "Required in the Stackdriver Monitoring API v3. Defines the histogram bucket boundaries."
        },
        "count": {
          "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.",
          "format": "int64",
          "type": "string"
        },
        "exemplars": {
          "description": "Must be in increasing order of value field.",
          "items": {
            "$ref": "Exemplar"
          },
          "type": "array"
        },
        "mean": {
          "description": "The arithmetic mean of the values in the population. If count is zero then this field must be zero.",
          "format": "double",
          "type": "number"
        },
        "range": {
          "$ref": "Range",
          "description": "If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Stackdriver Monitoring API v3."
        },
        "sumOfSquaredDeviation": {
          "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is:\nSum[i=1..n]((x_i - mean)^2)\nKnuth, \"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",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Documentation": {
      "description": "A content string and a MIME type that describes the content string's format.",
      "id": "Documentation",
      "properties": {
        "content": {
          "description": "The text of the documentation, interpreted according to mime_type. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.",
          "type": "string"
        },
        "mimeType": {
          "description": "The format of the content field. Presently, only the value \"text/markdown\" is supported. See Markdown (https://en.wikipedia.org/wiki/Markdown) for more information.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DroppedLabels": {
      "description": "A set of (label, value) pairs which were dropped during aggregation, attached to google.api.Distribution.Exemplars in google.api.Distribution values during aggregation.These values are used in combination with the label values that remain on the aggregated Distribution timeseries to construct the full label set for the exemplar values. The resulting full label set may be used to identify the specific task/job/instance (for example) which may be contributing to a long-tail, while allowing the storage savings of only storing aggregated distribution values for a large group.Note that there are no guarantees on ordering of the labels from exemplar-to-exemplar and from distribution-to-distribution in the same stream, and there may be duplicates. It is up to clients to resolve any ambiguities.",
      "id": "DroppedLabels",
      "properties": {
        "label": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Map from label to its value, for all labels dropped in any aggregation.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n  rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "Exemplar": {
      "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.",
      "id": "Exemplar",
      "properties": {
        "attachments": {
          "description": "Contextual information about the example value. Examples are:Trace: type.googleapis.com/google.monitoring.v3.SpanContextLiteral string: type.googleapis.com/google.protobuf.StringValueLabels dropped during aggregation:  type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "timestamp": {
          "description": "The observation (sampling) time of the above value.",
          "format": "google-datetime",
          "type": "string"
        },
        "value": {
          "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Explicit": {
      "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi  Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.",
      "id": "Explicit",
      "properties": {
        "bounds": {
          "description": "The values must be monotonically increasing.",
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Exponential": {
      "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i).  Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).",
      "id": "Exponential",
      "properties": {
        "growthFactor": {
          "description": "Must be greater than 1.",
          "format": "double",
          "type": "number"
        },
        "numFiniteBuckets": {
          "description": "Must be greater than 0.",
          "format": "int32",
          "type": "integer"
        },
        "scale": {
          "description": "Must be greater than 0.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Field": {
      "description": "A single field of a message type.",
      "id": "Field",
      "properties": {
        "cardinality": {
          "description": "The field cardinality.",
          "enum": [
            "CARDINALITY_UNKNOWN",
            "CARDINALITY_OPTIONAL",
            "CARDINALITY_REQUIRED",
            "CARDINALITY_REPEATED"
          ],
          "enumDescriptions": [
            "For fields with unknown cardinality.",
            "For optional fields.",
            "For required fields. Proto2 syntax only.",
            "For repeated fields."
          ],
          "type": "string"
        },
        "defaultValue": {
          "description": "The string value of the default value of this field. Proto2 syntax only.",
          "type": "string"
        },
        "jsonName": {
          "description": "The field JSON name.",
          "type": "string"
        },
        "kind": {
          "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"
          ],
          "enumDescriptions": [
            "Field type unknown.",
            "Field type double.",
            "Field type float.",
            "Field type int64.",
            "Field type uint64.",
            "Field type int32.",
            "Field type fixed64.",
            "Field type fixed32.",
            "Field type bool.",
            "Field type string.",
            "Field type group. Proto2 syntax only, and deprecated.",
            "Field type message.",
            "Field type bytes.",
            "Field type uint32.",
            "Field type enum.",
            "Field type sfixed32.",
            "Field type sfixed64.",
            "Field type sint32.",
            "Field type sint64."
          ],
          "type": "string"
        },
        "name": {
          "description": "The field name.",
          "type": "string"
        },
        "number": {
          "description": "The field number.",
          "format": "int32",
          "type": "integer"
        },
        "oneofIndex": {
          "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",
          "type": "integer"
        },
        "options": {
          "description": "The protocol buffer options.",
          "items": {
            "$ref": "Option"
          },
          "type": "array"
        },
        "packed": {
          "description": "Whether to use alternative packed wire representation.",
          "type": "boolean"
        },
        "typeUrl": {
          "description": "The field type URL, without the scheme, for message or enumeration types. Example: \"type.googleapis.com/google.protobuf.Timestamp\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GetNotificationChannelVerificationCodeRequest": {
      "description": "The GetNotificationChannelVerificationCode request.",
      "id": "GetNotificationChannelVerificationCodeRequest",
      "properties": {
        "expireTime": {
          "description": "The desired expiration time. If specified, the API will guarantee that the returned code will not be valid after the specified timestamp; however, the API cannot guarantee that the returned code will be valid for at least as long as the requested time (the API puts an upper bound on the amount of time for which a code may be valid). If omitted, a default expiration will be used, which may be less than the max permissible expiration (so specifying an expiration may extend the code's lifetime over omitting an expiration, even though the API does impose an upper limit on the maximum expiration that is permitted).",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GetNotificationChannelVerificationCodeResponse": {
      "description": "The GetNotificationChannelVerificationCode request.",
      "id": "GetNotificationChannelVerificationCodeResponse",
      "properties": {
        "code": {
          "description": "The verification code, which may be used to verify other channels that have an equivalent identity (i.e. other channels of the same type with the same fingerprint such as other email channels with the same email address or other sms channels with the same number).",
          "type": "string"
        },
        "expireTime": {
          "description": "The expiration time associated with the code that was returned. If an expiration was provided in the request, this is the minimum of the requested expiration in the request and the max permitted expiration.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Group": {
      "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.",
      "id": "Group",
      "properties": {
        "displayName": {
          "description": "A user-assigned name for this group, used only for display purposes.",
          "type": "string"
        },
        "filter": {
          "description": "The filter used to determine which monitored resources belong to this group.",
          "type": "string"
        },
        "isCluster": {
          "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.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. 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.",
          "type": "string"
        },
        "parentName": {
          "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, \"\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HttpCheck": {
      "description": "Information involved in an HTTP/HTTPS uptime check request.",
      "id": "HttpCheck",
      "properties": {
        "authInfo": {
          "$ref": "BasicAuthentication",
          "description": "The authentication information. Optional when creating an HTTP check; defaults to empty."
        },
        "headers": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.",
          "type": "object"
        },
        "maskHeaders": {
          "description": "Boolean specifiying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to True then the headers will be obscured with ******.",
          "type": "boolean"
        },
        "path": {
          "description": "The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. Optional (defaults to \"/\"). If the provided path does not begin with \"/\", it will be prepended automatically.",
          "type": "string"
        },
        "port": {
          "description": "The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).",
          "format": "int32",
          "type": "integer"
        },
        "useSsl": {
          "description": "If true, use HTTPS instead of HTTP to run the check.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "InternalChecker": {
      "description": "An internal checker allows uptime checks to run on private/internal GCP resources.DEPRECATED. Use PrivateChecker instead.",
      "id": "InternalChecker",
      "properties": {
        "displayName": {
          "description": "The checker's human-readable name. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.",
          "type": "string"
        },
        "gcpZone": {
          "description": "The GCP zone the uptime check should egress from. Only respected for internal uptime checks, where internal_network is specified.",
          "type": "string"
        },
        "name": {
          "description": "A unique resource name for this InternalChecker. The format is:projects/[PROJECT_ID]/internalCheckers/[INTERNAL_CHECKER_ID].PROJECT_ID is the stackdriver workspace project for the uptime check config associated with the internal checker.",
          "type": "string"
        },
        "network": {
          "description": "The GCP VPC network (https://cloud.google.com/vpc/docs/vpc) where the internal resource lives (ex: \"default\").",
          "type": "string"
        },
        "peerProjectId": {
          "description": "The GCP project_id where the internal checker lives. Not necessary the same as the workspace project.",
          "type": "string"
        },
        "state": {
          "description": "The current operational state of the internal checker.",
          "enum": [
            "UNSPECIFIED",
            "CREATING",
            "RUNNING"
          ],
          "enumDescriptions": [
            "An internal checker should never be in the unspecified state.",
            "The checker is being created, provisioned, and configured. A checker in this state can be returned by ListInternalCheckers or GetInternalChecker, as well as by examining the longrunning.Operation that created it.",
            "The checker is running and available for use. A checker in this state can be returned by ListInternalCheckers or GetInternalChecker as well as by examining the longrunning.Operation that created it. If a checker is being torn down, it is neither visible nor usable, so there is no \"deleting\" or \"down\" state."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabelDescriptor": {
      "description": "A description of a label.",
      "id": "LabelDescriptor",
      "properties": {
        "description": {
          "description": "A human-readable description for the label.",
          "type": "string"
        },
        "key": {
          "description": "The label key.",
          "type": "string"
        },
        "valueType": {
          "description": "The type of data that can be assigned to the label.",
          "enum": [
            "STRING",
            "BOOL",
            "INT64"
          ],
          "enumDescriptions": [
            "A variable-length string. This is the default.",
            "Boolean; true or false.",
            "A 64-bit signed integer."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Linear": {
      "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i).  Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).",
      "id": "Linear",
      "properties": {
        "numFiniteBuckets": {
          "description": "Must be greater than 0.",
          "format": "int32",
          "type": "integer"
        },
        "offset": {
          "description": "Lower bound of the first bucket.",
          "format": "double",
          "type": "number"
        },
        "width": {
          "description": "Must be greater than 0.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ListAlertPoliciesResponse": {
      "description": "The protocol for the ListAlertPolicies response.",
      "id": "ListAlertPoliciesResponse",
      "properties": {
        "alertPolicies": {
          "description": "The returned alert policies.",
          "items": {
            "$ref": "AlertPolicy"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If there might be more results than were 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.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListGroupMembersResponse": {
      "description": "The ListGroupMembers response.",
      "id": "ListGroupMembersResponse",
      "properties": {
        "members": {
          "description": "A set of monitored resources in the group.",
          "items": {
            "$ref": "MonitoredResource"
          },
          "type": "array"
        },
        "nextPageToken": {
          "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.",
          "type": "string"
        },
        "totalSize": {
          "description": "The total number of elements matching this request.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ListGroupsResponse": {
      "description": "The ListGroups response.",
      "id": "ListGroupsResponse",
      "properties": {
        "group": {
          "description": "The groups that match the specified filters.",
          "items": {
            "$ref": "Group"
          },
          "type": "array"
        },
        "nextPageToken": {
          "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.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListMetricDescriptorsResponse": {
      "description": "The ListMetricDescriptors response.",
      "id": "ListMetricDescriptorsResponse",
      "properties": {
        "metricDescriptors": {
          "description": "The metric descriptors that are available to the project and that match the value of filter, if present.",
          "items": {
            "$ref": "MetricDescriptor"
          },
          "type": "array"
        },
        "nextPageToken": {
          "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.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListMonitoredResourceDescriptorsResponse": {
      "description": "The ListMonitoredResourceDescriptors response.",
      "id": "ListMonitoredResourceDescriptorsResponse",
      "properties": {
        "nextPageToken": {
          "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.",
          "type": "string"
        },
        "resourceDescriptors": {
          "description": "The monitored resource descriptors that are available to this project and that match filter, if present.",
          "items": {
            "$ref": "MonitoredResourceDescriptor"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListNotificationChannelDescriptorsResponse": {
      "description": "The ListNotificationChannelDescriptors response.",
      "id": "ListNotificationChannelDescriptorsResponse",
      "properties": {
        "channelDescriptors": {
          "description": "The monitored resource descriptors supported for the specified project, optionally filtered.",
          "items": {
            "$ref": "NotificationChannelDescriptor"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more results that match the request. Use the value in the page_token field in a subsequent request to fetch the next set of results. If empty, all results have been returned.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListNotificationChannelsResponse": {
      "description": "The ListNotificationChannels response.",
      "id": "ListNotificationChannelsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more results that match the request. Use the value in the page_token field in a subsequent request to fetch the next set of results. If empty, all results have been returned.",
          "type": "string"
        },
        "notificationChannels": {
          "description": "The notification channels defined for the specified project.",
          "items": {
            "$ref": "NotificationChannel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTimeSeriesResponse": {
      "description": "The ListTimeSeries response.",
      "id": "ListTimeSeriesResponse",
      "properties": {
        "executionErrors": {
          "description": "Query execution errors that may have caused the time series data returned to be incomplete.",
          "items": {
            "$ref": "Status"
          },
          "type": "array"
        },
        "nextPageToken": {
          "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.",
          "type": "string"
        },
        "timeSeries": {
          "description": "One or more time series that match the filter included in the request.",
          "items": {
            "$ref": "TimeSeries"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListUptimeCheckConfigsResponse": {
      "description": "The protocol for the ListUptimeCheckConfigs response.",
      "id": "ListUptimeCheckConfigsResponse",
      "properties": {
        "nextPageToken": {
          "description": "This field represents the pagination token to retrieve the next page of results. If the value is empty, it means no further results for the request. To retrieve the next page of results, the value of the next_page_token is passed to the subsequent List method call (in the request message's page_token field).",
          "type": "string"
        },
        "totalSize": {
          "description": "The total number of uptime check configurations for the project, irrespective of any pagination.",
          "format": "int32",
          "type": "integer"
        },
        "uptimeCheckConfigs": {
          "description": "The returned uptime check configurations.",
          "items": {
            "$ref": "UptimeCheckConfig"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListUptimeCheckIpsResponse": {
      "description": "The protocol for the ListUptimeCheckIps response.",
      "id": "ListUptimeCheckIpsResponse",
      "properties": {
        "nextPageToken": {
          "description": "This field represents the pagination token to retrieve the next page of results. If the value is empty, it means no further results for the request. To retrieve the next page of results, the value of the next_page_token is passed to the subsequent List method call (in the request message's page_token field). NOTE: this field is not yet implemented",
          "type": "string"
        },
        "uptimeCheckIps": {
          "description": "The returned list of IP addresses (including region and location) that the checkers run from.",
          "items": {
            "$ref": "UptimeCheckIp"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Metric": {
      "description": "A specific metric, identified by specifying values for all of the labels of a MetricDescriptor.",
      "id": "Metric",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.",
          "type": "object"
        },
        "type": {
          "description": "An existing metric type, see google.api.MetricDescriptor. For example, custom.googleapis.com/invoice/paid/amount.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricAbsence": {
      "description": "A condition type that checks that monitored resources are reporting data. The configuration defines a metric and a set of monitored resources. The predicate is considered in violation when a time series for the specified metric of a monitored resource does not include any data in the specified duration.",
      "id": "MetricAbsence",
      "properties": {
        "aggregations": {
          "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resrouces). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field.",
          "items": {
            "$ref": "Aggregation"
          },
          "type": "array"
        },
        "duration": {
          "description": "The amount of time that a time series must fail to report new data to be considered failing. Currently, only values that are a multiple of a minute--e.g. 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. The Duration.nanos field is ignored.",
          "format": "google-duration",
          "type": "string"
        },
        "filter": {
          "description": "A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.",
          "type": "string"
        },
        "trigger": {
          "$ref": "Trigger",
          "description": "The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations."
        }
      },
      "type": "object"
    },
    "MetricDescriptor": {
      "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.",
      "id": "MetricDescriptor",
      "properties": {
        "description": {
          "description": "A detailed description of the metric, which can be used in documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.",
          "type": "string"
        },
        "labels": {
          "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "MetricDescriptorMetadata",
          "description": "Optional. Metadata which can be used to guide usage of the metric."
        },
        "metricKind": {
          "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.",
          "enum": [
            "METRIC_KIND_UNSPECIFIED",
            "GAUGE",
            "DELTA",
            "CUMULATIVE"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "An instantaneous measurement of a value.",
            "The change in a value during a time interval.",
            "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points."
          ],
          "type": "string"
        },
        "name": {
          "description": "The resource name of the metric descriptor.",
          "type": "string"
        },
        "type": {
          "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"external.googleapis.com/prometheus/up\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n",
          "type": "string"
        },
        "unit": {
          "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n          | Annotation\n          | \"1\"\n          ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is  equivalent to 1 if it is used alone. For examples,  {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not  containing '{' or '}'.\n1 represents dimensionless value 1, such as in 1/s.\n% represents dimensionless value 1/100, and annotates values giving  a percentage.",
          "type": "string"
        },
        "valueType": {
          "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.",
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "BOOL",
            "INT64",
            "DOUBLE",
            "STRING",
            "DISTRIBUTION",
            "MONEY"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "The value is a boolean. This value type can be used only if the metric kind is GAUGE.",
            "The value is a signed 64-bit integer.",
            "The value is a double precision floating point number.",
            "The value is a text string. This value type can be used only if the metric kind is GAUGE.",
            "The value is a Distribution.",
            "The value is money."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricDescriptorMetadata": {
      "description": "Additional annotations that can be used to guide the usage of a metric.",
      "id": "MetricDescriptorMetadata",
      "properties": {
        "ingestDelay": {
          "description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.",
          "format": "google-duration",
          "type": "string"
        },
        "launchStage": {
          "description": "The launch stage of the metric definition.",
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects whitelisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation."
          ],
          "type": "string"
        },
        "samplePeriod": {
          "description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MetricThreshold": {
      "description": "A condition type that compares a collection of time series against a threshold.",
      "id": "MetricThreshold",
      "properties": {
        "aggregations": {
          "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resrouces). Multiple aggregations are applied in the order specified.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field.",
          "items": {
            "$ref": "Aggregation"
          },
          "type": "array"
        },
        "comparison": {
          "description": "The comparison to apply between the time series (indicated by filter and aggregation) and the threshold (indicated by threshold_value). The comparison is applied on each time series, with the time series on the left-hand side and the threshold on the right-hand side.Only COMPARISON_LT and COMPARISON_GT are supported currently.",
          "enum": [
            "COMPARISON_UNSPECIFIED",
            "COMPARISON_GT",
            "COMPARISON_GE",
            "COMPARISON_LT",
            "COMPARISON_LE",
            "COMPARISON_EQ",
            "COMPARISON_NE"
          ],
          "enumDescriptions": [
            "No ordering relationship is specified.",
            "The left argument is greater than the right argument.",
            "The left argument is greater than or equal to the right argument.",
            "The left argument is less than the right argument.",
            "The left argument is less than or equal to the right argument.",
            "The left argument is equal to the right argument.",
            "The left argument is not equal to the right argument."
          ],
          "type": "string"
        },
        "denominatorAggregations": {
          "description": "Specifies the alignment of data points in individual time series selected by denominatorFilter as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources).When computing ratios, the aggregations and denominator_aggregations fields must use the same alignment period and produce time series that have the same periodicity and labels.This field is similar to the one in the MetricService.ListTimeSeries request. It is advisable to use the ListTimeSeries method when debugging this field.",
          "items": {
            "$ref": "Aggregation"
          },
          "type": "array"
        },
        "denominatorFilter": {
          "description": "A filter that identifies a time series that should be used as the denominator of a ratio that will be compared with the threshold. If a denominator_filter is specified, the time series specified by the filter field will be used as the numerator.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.",
          "type": "string"
        },
        "duration": {
          "description": "The amount of time that a time series must violate the threshold to be considered failing. Currently, only values that are a multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value is given, an error will be returned. When choosing a duration, it is useful to keep in mind the frequency of the underlying time series data (which may also be affected by any alignments specified in the aggregations field); a good duration is long enough so that a single outlier does not generate spurious alerts, but short enough that unhealthy states are detected and alerted on quickly.",
          "format": "google-duration",
          "type": "string"
        },
        "filter": {
          "description": "A filter that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the MetricService.ListTimeSeries request (that call is useful to verify the time series that will be retrieved / processed) and must specify the metric type and optionally may contain restrictions on resource type, resource labels, and metric labels. This field may not exceed 2048 Unicode characters in length.",
          "type": "string"
        },
        "thresholdValue": {
          "description": "A value against which to compare the time series.",
          "format": "double",
          "type": "number"
        },
        "trigger": {
          "$ref": "Trigger",
          "description": "The number/percent of time series for which the comparison must hold in order for the condition to trigger. If unspecified, then the condition will trigger if the comparison is true for any of the time series that have been identified by filter and aggregations, or by the ratio, if denominator_filter and denominator_aggregations are specified."
        }
      },
      "type": "object"
    },
    "MonitoredResource": {
      "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n  \"labels\": { \"instance_id\": \"12345678901234\",\n              \"zone\": \"us-central1-a\" }}\n",
      "id": "MonitoredResource",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".",
          "type": "object"
        },
        "type": {
          "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types and Logging resource types.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MonitoredResourceDescriptor": {
      "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.",
      "id": "MonitoredResourceDescriptor",
      "properties": {
        "description": {
          "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".",
          "type": "string"
        },
        "labels": {
          "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "launchStage": {
          "description": "Optional. The launch stage of the monitored resource definition.",
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects whitelisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation."
          ],
          "type": "string"
        },
        "name": {
          "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".",
          "type": "string"
        },
        "type": {
          "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MonitoredResourceMetadata": {
      "description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.",
      "id": "MonitoredResourceMetadata",
      "properties": {
        "systemLabels": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example:\n{ \"name\": \"my-test-instance\",\n  \"security_group\": [\"a\", \"b\", \"c\"],\n  \"spot_instance\": false }\n",
          "type": "object"
        },
        "userLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Output only. A map of user-defined metadata labels.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "MutationRecord": {
      "description": "Describes a change made to a configuration.",
      "id": "MutationRecord",
      "properties": {
        "mutateTime": {
          "description": "When the change occurred.",
          "format": "google-datetime",
          "type": "string"
        },
        "mutatedBy": {
          "description": "The email address of the user making the change.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NotificationChannel": {
      "description": "A NotificationChannel is a medium through which an alert is delivered when a policy violation is detected. Examples of channels include email, SMS, and third-party messaging applications. Fields containing sensitive information like authentication tokens or contact info are only partially populated on retrieval.",
      "id": "NotificationChannel",
      "properties": {
        "description": {
          "description": "An optional human-readable description of this notification channel. This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters.",
          "type": "string"
        },
        "displayName": {
          "description": "An optional human-readable name for this notification channel. It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters.",
          "type": "string"
        },
        "enabled": {
          "description": "Whether notifications are forwarded to the described channel. This makes it possible to disable delivery of notifications to a particular channel without removing the channel from all alerting policies that reference the channel. This is a more convenient approach when the change is temporary and you want to receive notifications from the same set of alerting policies on the channel at some point in the future.",
          "type": "boolean"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the NotificationChannelDescriptor.labels of the NotificationChannelDescriptor corresponding to the type field.",
          "type": "object"
        },
        "name": {
          "description": "The full REST resource name for this channel. The syntax is:\nprojects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]\nThe [CHANNEL_ID] is automatically assigned by the server on creation.",
          "type": "string"
        },
        "type": {
          "description": "The type of the notification channel. This field matches the value of the NotificationChannelDescriptor.type field.",
          "type": "string"
        },
        "userLabels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.",
          "type": "object"
        },
        "verificationStatus": {
          "description": "Indicates whether this channel has been verified or not. On a ListNotificationChannels or GetNotificationChannel operation, this field is expected to be populated.If the value is UNVERIFIED, then it indicates that the channel is non-functioning (it both requires verification and lacks verification); otherwise, it is assumed that the channel works.If the channel is neither VERIFIED nor UNVERIFIED, it implies that the channel is of a type that does not require verification or that this specific channel has been exempted from verification because it was created prior to verification being required for channels of this type.This field cannot be modified using a standard UpdateNotificationChannel operation. To change the value of this field, you must call VerifyNotificationChannel.",
          "enum": [
            "VERIFICATION_STATUS_UNSPECIFIED",
            "UNVERIFIED",
            "VERIFIED"
          ],
          "enumDescriptions": [
            "Sentinel value used to indicate that the state is unknown, omitted, or is not applicable (as in the case of channels that neither support nor require verification in order to function).",
            "The channel has yet to be verified and requires verification to function. Note that this state also applies to the case where the verification process has been initiated by sending a verification code but where the verification code has not been submitted to complete the process.",
            "It has been proven that notifications can be received on this notification channel and that someone on the project has access to messages that are delivered to that channel."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "NotificationChannelDescriptor": {
      "description": "A description of a notification channel. The descriptor includes the properties of the channel and the set of labels or fields that must be specified to configure channels of a given type.",
      "id": "NotificationChannelDescriptor",
      "properties": {
        "description": {
          "description": "A human-readable description of the notification channel type. The description may include a description of the properties of the channel and pointers to external documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "A human-readable name for the notification channel type. This form of the name is suitable for a user interface.",
          "type": "string"
        },
        "labels": {
          "description": "The set of labels that must be defined to identify a particular channel of the corresponding type. Each label includes a description for how that field should be populated.",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "name": {
          "description": "The full REST resource name for this descriptor. The syntax is:\nprojects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE]\nIn the above, [TYPE] is the value of the type field.",
          "type": "string"
        },
        "supportedTiers": {
          "description": "The tiers that support this notification channel; the project service tier must be one of the supported_tiers.",
          "enumDescriptions": [
            "An invalid sentinel value, used to indicate that a tier has not been provided explicitly.",
            "The Stackdriver Basic tier, a free tier of service that provides basic features, a moderate allotment of logs, and access to built-in metrics. A number of features are not available in this tier. For more details, see the service tiers documentation (https://cloud.google.com/monitoring/workspaces/tiers).",
            "The Stackdriver Premium tier, a higher, more expensive tier of service that provides access to all Stackdriver features, lets you use Stackdriver with AWS accounts, and has a larger allotments for logs and metrics. For more details, see the service tiers documentation (https://cloud.google.com/monitoring/workspaces/tiers)."
          ],
          "items": {
            "enum": [
              "SERVICE_TIER_UNSPECIFIED",
              "SERVICE_TIER_BASIC",
              "SERVICE_TIER_PREMIUM"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "description": "The type of notification channel, such as \"email\", \"sms\", etc. Notification channel types are globally unique.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Option": {
      "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.",
      "id": "Option",
      "properties": {
        "name": {
          "description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, \"map_entry\". For custom options, it should be the fully-qualified name. For example, \"google.api.http\".",
          "type": "string"
        },
        "value": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "Point": {
      "description": "A single data point in a time series.",
      "id": "Point",
      "properties": {
        "interval": {
          "$ref": "TimeInterval",
          "description": "The time interval to which the data point applies. For GAUGE metrics, only the end time of the interval is used. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points."
        },
        "value": {
          "$ref": "TypedValue",
          "description": "The value of the data point."
        }
      },
      "type": "object"
    },
    "Range": {
      "description": "The range of the population values.",
      "id": "Range",
      "properties": {
        "max": {
          "description": "The maximum of the population values.",
          "format": "double",
          "type": "number"
        },
        "min": {
          "description": "The minimum of the population values.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ResourceGroup": {
      "description": "The resource submessage for group checks. It can be used instead of a monitored resource, when multiple resources are being monitored.",
      "id": "ResourceGroup",
      "properties": {
        "groupId": {
          "description": "The group of resources being monitored. Should be only the group_id, not projects/\u003cproject_id\u003e/groups/\u003cgroup_id\u003e.",
          "type": "string"
        },
        "resourceType": {
          "description": "The resource type of the group members.",
          "enum": [
            "RESOURCE_TYPE_UNSPECIFIED",
            "INSTANCE",
            "AWS_ELB_LOAD_BALANCER"
          ],
          "enumDescriptions": [
            "Default value (not valid).",
            "A group of instances from Google Cloud Platform (GCP) or Amazon Web Services (AWS).",
            "A group of Amazon ELB load balancers."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SendNotificationChannelVerificationCodeRequest": {
      "description": "The SendNotificationChannelVerificationCode request.",
      "id": "SendNotificationChannelVerificationCodeRequest",
      "properties": {},
      "type": "object"
    },
    "SourceContext": {
      "description": "SourceContext represents information about the source of a protobuf element, like the file in which it is defined.",
      "id": "SourceContext",
      "properties": {
        "fileName": {
          "description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: \"google/protobuf/source_context.proto\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SpanContext": {
      "description": "The context of a span, attached to google.api.Distribution.Exemplars in google.api.Distribution values during aggregation.It contains the name of a span with format:  projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID",
      "id": "SpanContext",
      "properties": {
        "spanName": {
          "description": "The resource name of the span in the following format:\nprojects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]\nTRACE_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array.SPAN_ID is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TcpCheck": {
      "description": "Information required for a TCP uptime check request.",
      "id": "TcpCheck",
      "properties": {
        "port": {
          "description": "The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) to construct the full URL. Required.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "TimeInterval": {
      "description": "A time interval extending just after a start time through an end time. The start time must not be later than the end time. The default start time is the end time, making the startTime value technically optional. Whether this is useful depends on the MetricKind. If the start and end times are the same, the interval represents a point in time. This is appropriate for GAUGE metrics, but not for DELTA and CUMULATIVE metrics, which cover a span of time.",
      "id": "TimeInterval",
      "properties": {
        "endTime": {
          "description": "Required. The end of the time interval.",
          "format": "google-datetime",
          "type": "string"
        },
        "startTime": {
          "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TimeSeries": {
      "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.",
      "id": "TimeSeries",
      "properties": {
        "metadata": {
          "$ref": "MonitoredResourceMetadata",
          "description": "Output only. The associated monitored resource metadata. When reading a a timeseries, this field will include metadata labels that are explicitly named in the reduction. When creating a timeseries, this field is ignored."
        },
        "metric": {
          "$ref": "Metric",
          "description": "The associated metric. A fully-specified metric used to identify the time series."
        },
        "metricKind": {
          "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.",
          "enum": [
            "METRIC_KIND_UNSPECIFIED",
            "GAUGE",
            "DELTA",
            "CUMULATIVE"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "An instantaneous measurement of a value.",
            "The change in a value during a time interval.",
            "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points."
          ],
          "type": "string"
        },
        "points": {
          "description": "The data points of this time series. When listing time series, points are returned in reverse time order.When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.",
          "items": {
            "$ref": "Point"
          },
          "type": "array"
        },
        "resource": {
          "$ref": "MonitoredResource",
          "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data."
        },
        "valueType": {
          "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.",
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "BOOL",
            "INT64",
            "DOUBLE",
            "STRING",
            "DISTRIBUTION",
            "MONEY"
          ],
          "enumDescriptions": [
            "Do not use this default value.",
            "The value is a boolean. This value type can be used only if the metric kind is GAUGE.",
            "The value is a signed 64-bit integer.",
            "The value is a double precision floating point number.",
            "The value is a text string. This value type can be used only if the metric kind is GAUGE.",
            "The value is a Distribution.",
            "The value is money."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Trigger": {
      "description": "Specifies how many time series must fail a predicate to trigger a condition. If not specified, then a {count: 1} trigger is used.",
      "id": "Trigger",
      "properties": {
        "count": {
          "description": "The absolute number of time series that must fail the predicate for the condition to be triggered.",
          "format": "int32",
          "type": "integer"
        },
        "percent": {
          "description": "The percentage of time series that must fail the predicate for the condition to be triggered.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Type": {
      "description": "A protocol buffer message type.",
      "id": "Type",
      "properties": {
        "fields": {
          "description": "The list of fields.",
          "items": {
            "$ref": "Field"
          },
          "type": "array"
        },
        "name": {
          "description": "The fully qualified message name.",
          "type": "string"
        },
        "oneofs": {
          "description": "The list of types appearing in oneof definitions in this type.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "options": {
          "description": "The protocol buffer options.",
          "items": {
            "$ref": "Option"
          },
          "type": "array"
        },
        "sourceContext": {
          "$ref": "SourceContext",
          "description": "The source context."
        },
        "syntax": {
          "description": "The source syntax.",
          "enum": [
            "SYNTAX_PROTO2",
            "SYNTAX_PROTO3"
          ],
          "enumDescriptions": [
            "Syntax proto2.",
            "Syntax proto3."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "TypedValue": {
      "description": "A single strongly-typed value.",
      "id": "TypedValue",
      "properties": {
        "boolValue": {
          "description": "A Boolean value: true or false.",
          "type": "boolean"
        },
        "distributionValue": {
          "$ref": "Distribution",
          "description": "A distribution value."
        },
        "doubleValue": {
          "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately \u0026plusmn;10\u003csup\u003e\u0026plusmn;300\u003c/sup\u003e and it has 16 significant digits of precision.",
          "format": "double",
          "type": "number"
        },
        "int64Value": {
          "description": "A 64-bit integer. Its range is approximately \u0026plusmn;9.2x10\u003csup\u003e18\u003c/sup\u003e.",
          "format": "int64",
          "type": "string"
        },
        "stringValue": {
          "description": "A variable-length string value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UptimeCheckConfig": {
      "description": "This message configures which resources and services to monitor for availability.",
      "id": "UptimeCheckConfig",
      "properties": {
        "contentMatchers": {
          "description": "The expected content on the page the check is run against. Currently, only the first entry in the list is supported, and other entries will be ignored. The server will look for an exact match of the string in the page response's content. This field is optional and should only be specified if a content match is required.",
          "items": {
            "$ref": "ContentMatcher"
          },
          "type": "array"
        },
        "displayName": {
          "description": "A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced. Required.",
          "type": "string"
        },
        "httpCheck": {
          "$ref": "HttpCheck",
          "description": "Contains information needed to make an HTTP or HTTPS check."
        },
        "internalCheckers": {
          "description": "The internal checkers that this check will egress from. If is_internal is true and this list is empty, the check will egress from all the InternalCheckers configured for the project that owns this CheckConfig.",
          "items": {
            "$ref": "InternalChecker"
          },
          "type": "array"
        },
        "monitoredResource": {
          "$ref": "MonitoredResource",
          "description": "The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for uptime checks:  uptime_url  gce_instance  gae_app  aws_ec2_instance  aws_elb_load_balancer"
        },
        "name": {
          "description": "A unique resource name for this UptimeCheckConfig. The format is:projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].This field should be omitted when creating the uptime check configuration; on create, the resource name is assigned by the server and included in the response.",
          "type": "string"
        },
        "period": {
          "description": "How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 60s.",
          "format": "google-duration",
          "type": "string"
        },
        "resourceGroup": {
          "$ref": "ResourceGroup",
          "description": "The group resource associated with the configuration."
        },
        "selectedRegions": {
          "description": "The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.",
          "enumDescriptions": [
            "Default value if no region is specified. Will result in uptime checks running from all regions.",
            "Allows checks to run from locations within the United States of America.",
            "Allows checks to run from locations within the continent of Europe.",
            "Allows checks to run from locations within the continent of South America.",
            "Allows checks to run from locations within the Asia Pacific area (ex: Singapore)."
          ],
          "items": {
            "enum": [
              "REGION_UNSPECIFIED",
              "USA",
              "EUROPE",
              "SOUTH_AMERICA",
              "ASIA_PACIFIC"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "tcpCheck": {
          "$ref": "TcpCheck",
          "description": "Contains information needed to make a TCP check."
        },
        "timeout": {
          "description": "The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UptimeCheckIp": {
      "description": "Contains the region, location, and list of IP addresses where checkers in the location run from.",
      "id": "UptimeCheckIp",
      "properties": {
        "ipAddress": {
          "description": "The IP address from which the uptime check originates. This is a full IP address (not an IP address range). Most IP addresses, as of this publication, are in IPv4 format; however, one should not rely on the IP addresses being in IPv4 format indefinitely and should support interpreting this field in either IPv4 or IPv6 format.",
          "type": "string"
        },
        "location": {
          "description": "A more specific location within the region that typically encodes a particular city/town/metro (and its containing state/province or country) within the broader umbrella region category.",
          "type": "string"
        },
        "region": {
          "description": "A broad region category in which the IP address is located.",
          "enum": [
            "REGION_UNSPECIFIED",
            "USA",
            "EUROPE",
            "SOUTH_AMERICA",
            "ASIA_PACIFIC"
          ],
          "enumDescriptions": [
            "Default value if no region is specified. Will result in uptime checks running from all regions.",
            "Allows checks to run from locations within the United States of America.",
            "Allows checks to run from locations within the continent of Europe.",
            "Allows checks to run from locations within the continent of South America.",
            "Allows checks to run from locations within the Asia Pacific area (ex: Singapore)."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "VerifyNotificationChannelRequest": {
      "description": "The VerifyNotificationChannel request.",
      "id": "VerifyNotificationChannelRequest",
      "properties": {
        "code": {
          "description": "The verification code that was delivered to the channel as a result of invoking the SendNotificationChannelVerificationCode API method or that was retrieved from a verified channel via GetNotificationChannelVerificationCode. For example, one might have \"G-123456\" or \"TKNZGhhd2EyN3I1MnRnMjRv\" (in general, one is only guaranteed that the code is valid UTF-8; one should not make any assumptions regarding the structure or format of the code).",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Stackdriver Monitoring API",
  "version": "v3",
  "version_module": true
}