Get desktop application:
View/edit binary Protocol Buffers messages
The AlertPolicyService API is used to manage (list, create, delete, edit) alert policies in Stackdriver Monitoring. An alerting policy is 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. In addition to using this API, alert policies can also be managed through [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs/), which can be reached by clicking the "Monitoring" tab in [Cloud Console](https://console.cloud.google.com/).
Lists the existing alerting policies for the project.
The protocol for the `ListAlertPolicies` request.
The project whose alert policies are to be listed. The format is projects/[PROJECT_ID] Note 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][google.monitoring.v3.AlertPolicyService.GetAlertPolicy] operation, instead.
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](/monitoring/api/v3/sorting-and-filtering).
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](/monitoring/api/v3/sorting-and-filtering).
The maximum number of results to return in a single response.
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.
The protocol for the `ListAlertPolicies` response.
The returned alert policies.
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.
Gets a single alerting policy.
The protocol for the `GetAlertPolicy` request.
The alerting policy to retrieve. The format is projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
Creates a new alerting policy.
The protocol for the `CreateAlertPolicy` request.
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.
The requested alerting policy. You should omit the `name` field in this policy. The name will be returned in the new policy, including a new [ALERT_POLICY_ID] value.
Deletes an alerting policy.
The protocol for the `DeleteAlertPolicy` request.
The alerting policy to delete. The format is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] For more information, see [AlertPolicy][google.monitoring.v3.AlertPolicy].
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.
The protocol for the `UpdateAlertPolicy` request.
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: + The 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. + Conditions 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.
Required. The updated alerting policy or the updated values for the fields listed in `update_mask`. If `update_mask` is not empty, any fields in this policy that are not in `update_mask` are ignored.
The Group API lets you inspect and manage your [groups](#google.monitoring.v3.Group). A group is a named filter that is used to identify a collection of monitored resources. Groups are typically used to mirror the physical and/or logical topology of the environment. Because group membership is computed dynamically, monitored resources that are started in the future are automatically placed in matching groups. By using a group to name monitored resources in, for example, an alert policy, the target of that alert policy is updated automatically as monitored resources are added and removed from the infrastructure.
Lists the existing groups.
The `ListGroup` request.
The project whose groups are to be listed. The format is `"projects/{project_id_or_number}"`.
An optional filter consisting of a single group name. The filters limit the groups returned based on their parent-child relationship with the specified group. If no filter is specified, all groups are returned.
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.
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.
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.
A positive number that is the maximum number of results to return.
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.
The `ListGroups` response.
The groups that match the specified filters.
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.
Gets a single group.
The `GetGroup` request.
The group to retrieve. The format is `"projects/{project_id_or_number}/groups/{group_id}"`.
Creates a new group.
The `CreateGroup` request.
The project in which to create the group. The format is `"projects/{project_id_or_number}"`.
A group definition. It is an error to define the `name` field because the system assigns the name.
If true, validate this request but do not create the group.
Updates an existing group. You can change any group attributes except `name`.
The `UpdateGroup` request.
The new definition of the group. All fields of the existing group, excepting `name`, are replaced with the corresponding fields of this group.
If true, validate this request but do not update the existing group.
Deletes an existing group.
The `DeleteGroup` request. The default behavior is to be able to delete a single group without any descendants.
The group to delete. The format is `"projects/{project_id_or_number}/groups/{group_id}"`.
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.
Lists the monitored resources that are members of a group.
The `ListGroupMembers` request.
The group whose members are listed. The format is `"projects/{project_id_or_number}/groups/{group_id}"`.
A positive number that is the maximum number of results to return.
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.
An optional [list filter](/monitoring/api/learn_more#filtering) describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter: resource.type = "gce_instance"
An optional time interval for which results should be returned. Only members that were part of the group during the specified interval are included in the response. If no interval is provided then the group membership over the last minute is returned.
The `ListGroupMembers` response.
A set of monitored resources in the group.
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.
The total number of elements matching this request.
Manages metric descriptors, monitored resource descriptors, and time series data.
Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
The `ListMonitoredResourceDescriptors` request.
The project on which to execute the request. The format is `"projects/{project_id_or_number}"`.
An optional [filter](/monitoring/api/v3/filters) describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an `id` label: resource.type = starts_with("gce_") AND resource.label:id
A positive number that is the maximum number of results to return.
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.
The `ListMonitoredResourceDescriptors` response.
The monitored resource descriptors that are available to this project and that match `filter`, if present.
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.
Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
The `GetMonitoredResourceDescriptor` request.
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`.
Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
The `ListMetricDescriptors` request.
The project on which to execute the request. The format is `"projects/{project_id_or_number}"`.
If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the [filter](/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all [custom metrics](/monitoring/custom-metrics): metric.type = starts_with("custom.googleapis.com/")
A positive number that is the maximum number of results to return.
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.
The `ListMetricDescriptors` response.
The metric descriptors that are available to the project and that match the value of `filter`, if present.
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.
Gets a single metric descriptor. This method does not require a Stackdriver account.
The `GetMetricDescriptor` request.
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"`.
Creates a new metric descriptor. User-created metric descriptors define [custom metrics](/monitoring/custom-metrics).
The `CreateMetricDescriptor` request.
The project on which to execute the request. The format is `"projects/{project_id_or_number}"`.
The new [custom metric](/monitoring/custom-metrics) descriptor.
Deletes a metric descriptor. Only user-created [custom metrics](/monitoring/custom-metrics) can be deleted.
The `DeleteMetricDescriptor` request.
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"`.
Lists time series that match a filter. This method does not require a Stackdriver account.
The `ListTimeSeries` request.
The project on which to execute the request. The format is "projects/{project_id_or_number}".
A [monitoring filter](/monitoring/api/v3/filters) that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND metric.labels.instance_name = "my-instance-name"
The time interval for which results should be returned. Only time series that contain data points in the specified interval are included in the response.
By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.
Unsupported: must be left blank. The points in each time series are returned in reverse time order.
Specifies which information is returned about the time series.
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.
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.
The `ListTimeSeries` response.
One or more time series that match the filter included in the request.
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.
Query execution errors that may have caused the time series data returned to be incomplete.
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.
The `CreateTimeSeries` request.
The project on which to execute the request. The format is `"projects/{project_id_or_number}"`.
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.
The Notification Channel API provides access to configuration that controls how messages related to incidents are sent.
Lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added.
The `ListNotificationChannelDescriptors` request.
The REST resource name of the parent from which to retrieve the notification channel descriptors. The expected syntax is: projects/[PROJECT_ID] Note that this names the parent container in which to look for the descriptors; to retrieve a single descriptor by name, use the [GetNotificationChannelDescriptor][google.monitoring.v3.NotificationChannelService.GetNotificationChannelDescriptor] operation, instead.
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.
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.
The `ListNotificationChannelDescriptors` response.
The monitored resource descriptors supported for the specified project, optionally filtered.
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.
Gets a single channel descriptor. The descriptor indicates which fields are expected / permitted for a notification channel of the given type.
The `GetNotificationChannelDescriptor` response.
The channel type for which to execute the request. The format is `projects/[PROJECT_ID]/notificationChannelDescriptors/{channel_type}`.
Lists the notification channels that have been created for the project.
The `ListNotificationChannels` request.
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`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel] operation.
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](/monitoring/api/v3/sorting-and-filtering).
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](/monitoring/api/v3/sorting-and-filtering).
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.
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.
The `ListNotificationChannels` response.
The notification channels defined for the specified project.
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.
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.
The `GetNotificationChannel` request.
The channel for which to execute the request. The format is `projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]`.
Creates a new notification channel, representing a single notification endpoint such as an email address, SMS number, or PagerDuty service.
The `CreateNotificationChannel` request.
The project on which to execute the request. The format is: projects/[PROJECT_ID] Note 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.
The definition of the `NotificationChannel` to create.
Updates a notification channel. Fields not specified in the field mask remain unchanged.
The `UpdateNotificationChannel` request.
The fields to update.
A description of the changes to be applied to the specified notification channel. The description must provide a definition for fields to be updated; the names of these fields should also be included in the `update_mask`.
Deletes a notification channel.
The `DeleteNotificationChannel` request.
The channel for which to execute the request. The format is `projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]`.
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.
Causes a verification code to be delivered to the channel. The code can then be supplied in `VerifyNotificationChannel` to verify the channel.
The `SendNotificationChannelVerificationCode` request.
The notification channel to which to send a verification code.
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.
The `GetNotificationChannelVerificationCode` request.
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.
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).
The `GetNotificationChannelVerificationCode` request.
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).
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.
Verifies a `NotificationChannel` by proving receipt of the code delivered to the channel as a result of calling `SendNotificationChannelVerificationCode`.
The `VerifyNotificationChannel` request.
The notification channel to verify.
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).
The UptimeCheckService API is used to manage (list, create, delete, edit) Uptime check configurations in the Stackdriver Monitoring product. An Uptime check is a piece of configuration that determines which resources and services to monitor for availability. These configurations can also be configured interactively by navigating to the [Cloud Console] (http://console.cloud.google.com), selecting the appropriate project, clicking on "Monitoring" on the left-hand side to navigate to Stackdriver, and then clicking on "Uptime".
Lists the existing valid Uptime check configurations for the project (leaving out any invalid configurations).
The protocol for the `ListUptimeCheckConfigs` request.
The project whose Uptime check configurations are listed. The format is `projects/[PROJECT_ID]`.
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 <=0, the server will decide the number of results to be returned.
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.
The protocol for the `ListUptimeCheckConfigs` response.
The returned Uptime check configurations.
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).
The total number of Uptime check configurations for the project, irrespective of any pagination.
Gets a single Uptime check configuration.
The protocol for the `GetUptimeCheckConfig` request.
The Uptime check configuration to retrieve. The format is `projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]`.
Creates a new Uptime check configuration.
The protocol for the `CreateUptimeCheckConfig` request.
The project in which to create the Uptime check. The format is `projects/[PROJECT_ID]`.
The new Uptime check configuration.
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.
The protocol for the `UpdateUptimeCheckConfig` request.
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.
Required. If an `updateMask` has been specified, this field gives the values for the set of fields mentioned in the `updateMask`. If an `updateMask` has not been given, this Uptime check configuration replaces the current configuration. If a field is mentioned in `updateMask` but the corresonding field is omitted in this partial Uptime check configuration, it has the effect of deleting/clearing the field from the configuration on the server. The following fields can be updated: `display_name`, `http_check`, `tcp_check`, `timeout`, `content_matchers`, and `selected_regions`.
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.
The protocol for the `DeleteUptimeCheckConfig` request.
The Uptime check configuration to delete. The format is `projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]`.
Returns the list of IP addresses that checkers run from
The protocol for the `ListUptimeCheckIps` request.
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 <=0, the server will decide the number of results to be returned. NOTE: this field is not yet implemented
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
The protocol for the `ListUptimeCheckIps` response.
The returned list of IP addresses (including region and location) that the checkers run from.
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
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](/monitoring/api/learn_more#aggregation).
Used in:
, ,The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
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.
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.
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.
The Aligner describes how to bring the data points in a single time series into temporal alignment.
Used in:
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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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 >= 0. Any values < 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][google.api.MetricDescriptor.ValueType.DOUBLE].
A Reducer describes how to aggregate data points from multiple time series into a single time series.
Used in:
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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.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][google.api.MetricDescriptor.ValueType.DOUBLE]
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](/monitoring/alerts/).
Used as response type in: AlertPolicyService.CreateAlertPolicy, AlertPolicyService.GetAlertPolicy, AlertPolicyService.UpdateAlertPolicy
Used as field type in:
, ,Required if the policy exists. The resource name for this policy. The syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] `[ALERT_POLICY_ID]` is assigned by Stackdriver Monitoring when the policy is created. When calling the [alertPolicies.create][google.monitoring.v3.AlertPolicyService.CreateAlertPolicy] method, do not include the `name` field in the alerting policy passed as part of the request.
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.
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.
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.
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.
How to combine the results of multiple conditions to determine if an incident should be opened.
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.
Read-only description of how the alert policy is invalid. OK if the alert policy is valid. If not OK, the alert policy will not generate incidents.
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`][google.monitoring.v3.NotificationChannel] objects that are returned from the [`ListNotificationChannels`] [google.monitoring.v3.NotificationChannelService.ListNotificationChannels] method. The syntax of the entries in this field is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
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.
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.
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.
Used in:
Required if the condition exists. The unique resource name for this condition. Its syntax is: projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] `[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][google.monitoring.v3.AlertPolicyService.CreateAlertPolicy] 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][google.monitoring.v3.AlertPolicyService.UpdateAlertPolicy] 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.
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.
Only one of the following condition types will be specified.
A condition that compares a time series against a threshold.
A condition that checks that a time series continues to receive new data points.
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`.
Used in:
A [filter](/monitoring/api/v3/filters) 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](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (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.
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](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the `ListTimeSeries` method when debugging this field.
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.
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`.
A condition type that compares a collection of time series against a threshold.
Used in:
A [filter](/monitoring/api/v3/filters) 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](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (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.
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](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the `ListTimeSeries` method when debugging this field.
A [filter](/monitoring/api/v3/filters) 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 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.
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.
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.
A value against which to compare the time series.
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.
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.
Specifies how many time series must fail a predicate to trigger a condition. If not specified, then a `{count: 1}` trigger is used.
Used in:
,A type of trigger.
The absolute number of time series that must fail the predicate for the condition to be triggered.
The percentage of time series that must fail the predicate for the condition to be triggered.
Operators for combining conditions.
Used in:
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.
A content string and a MIME type that describes the content string's format.
Used in:
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.
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.
Specifies an ordering relationship on two arguments, here called left and right.
Used in:
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.
Describes the result of a failed request to write data to a time series.
The time series, including the `Metric`, `MonitoredResource`, and `Point`s (including timestamp and value) that resulted in the error. This field provides all of the context that would be needed to retry the operation.
The status of the requested write operation.
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.
Map from label to its value, for all labels dropped in any aggregation.
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.
Used as response type in: GroupService.CreateGroup, GroupService.GetGroup, GroupService.UpdateGroup
Used as field type in:
, ,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.
A user-assigned name for this group, used only for display purposes.
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, `""`.
The filter used to determine which monitored resources belong to this group.
If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
The supported resource types that can be used as values of `group_resource.resource_type`. `INSTANCE` includes `gce_instance` and `aws_ec2_instance` resource types. The resource types `gae_app` and `uptime_url` are not valid here because group checks on App Engine modules and URLs are not allowed.
Used in:
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.
An internal checker allows Uptime checks to run on private/internal GCP resources.
Used in:
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.
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.
The [GCP VPC network](https://cloud.google.com/vpc/docs/vpc) where the internal resource lives (ex: "default").
The GCP zone the Uptime check should egress from. Only respected for internal Uptime checks, where internal_network is specified.
The GCP project ID where the internal checker lives. Not necessary the same as the Workspace project.
The current operational state of the internal checker.
Operational states for an internal checker.
Used in:
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 [long running Operation](https://cloud.google.com/apis/design/design_patterns#long_running_operations) 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 [long running Operation](https://cloud.google.com/apis/design/design_patterns#long_running_operations) that created it. If a checker is being torn down, it is neither visible nor usable, so there is no "deleting" or "down" state.
Controls which fields are returned by `ListTimeSeries`.
Used in:
Returns the identity of the metric(s), the time series, and the time series data.
Returns the identity of the metric and the time series resource, but not the time series data.
Describes a change made to a configuration.
Used in:
When the change occurred.
The email address of the user making the change.
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.
Used as response type in: NotificationChannelService.CreateNotificationChannel, NotificationChannelService.GetNotificationChannel, NotificationChannelService.UpdateNotificationChannel, NotificationChannelService.VerifyNotificationChannel
Used as field type in:
, ,The type of the notification channel. This field matches the value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type] field.
The full REST resource name for this channel. The syntax is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] The `[CHANNEL_ID]` is automatically assigned by the server on creation.
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.
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.
Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels] of the `NotificationChannelDescriptor` corresponding to the `type` field.
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.
Indicates whether this channel has been verified or not. On a [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels] or [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.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`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel] operation. To change the value of this field, you must call [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel].
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.
Indicates whether the channel has been verified or not. It is illegal to specify this field in a [`CreateNotificationChannel`][google.monitoring.v3.NotificationChannelService.CreateNotificationChannel] or an [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel] operation.
Used in:
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.
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.
Used as response type in: NotificationChannelService.GetNotificationChannelDescriptor
Used as field type in:
The full REST resource name for this descriptor. The syntax is: projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE] In the above, `[TYPE]` is the value of the `type` field.
The type of notification channel, such as "email", "sms", etc. Notification channel types are globally unique.
A human-readable name for the notification channel type. This form of the name is suitable for a user interface.
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.
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.
The tiers that support this notification channel; the project service tier must be one of the supported_tiers.
A single data point in a time series.
Used in:
The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. 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.
The value of the data point.
The tier of service for a Workspace. Please see the [service tiers documentation](https://cloud.google.com/monitoring/workspaces/tiers) for more details.
Used in:
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).
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]
The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID] [TRACE_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.
A closed time interval. It extends from the start time to the end time, and includes both: `[startTime, endTime]`. Valid time intervals depend on the [`MetricKind`](/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. In no case can the end time be earlier than the start time. * For a `GAUGE` metric, the `startTime` value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for `GAUGE` metrics, which are point-in-time measurements. * For `DELTA` and `CUMULATIVE` metrics, the start time must be earlier than the end time. * In all cases, the start time of the next interval must be at least a microsecond after the end time of the previous interval. Because the interval is closed, if the start time of a new interval is the same as the end time of the previous interval, data written at the new start time could overwrite data written at the previous end time.
Used in:
, ,Required. The end of the time interval.
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.
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.
Used in:
, ,The associated metric. A fully-specified metric used to identify the time series.
The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.
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.
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`.
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.
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`.
A single strongly-typed value.
Used in:
The typed value field.
A Boolean value: `true` or `false`.
A 64-bit integer. Its range is approximately ±9.2x10<sup>18</sup>.
A 64-bit double-precision floating-point number. Its magnitude is approximately ±10<sup>±300</sup> and it has 16 significant digits of precision.
A variable-length string value.
A distribution value.
This message configures which resources and services to monitor for availability.
Used as response type in: UptimeCheckService.CreateUptimeCheckConfig, UptimeCheckService.GetUptimeCheckConfig, UptimeCheckService.UpdateUptimeCheckConfig
Used as field type in:
, ,A unique resource name for this Uptime check configuration. 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.
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.
The resource the check is checking. Required.
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`
The group resource associated with the configuration.
The type of Uptime check request.
Contains information needed to make an HTTP or HTTPS check.
Contains information needed to make a TCP check.
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`.
The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.
The content that is expected to appear in the data returned by the target server against which the check is run. Currently, only the first entry in the `content_matchers` list is supported, and additional entries will be ignored. This field is optional and should only be specified if a content match is required as part of the/ Uptime check.
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 must be provided to include a minimum of 3 locations. Not specifying this field will result in Uptime checks running from all available regions.
If this is `true`, then checks are made only from the 'internal_checkers'. If it is `false`, then checks are made only from the 'selected_regions'. It is an error to provide 'selected_regions' when is_internal is `true`, or to provide 'internal_checkers' when is_internal is `false`.
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 `UptimeCheckConfig`.
Used to perform string matching. It allows substring and regular expressions, together with their negations.
Used in:
String or regex content to match (max 1024 bytes)
The type of content matcher that will be applied to the server output, compared to the `content` string when the check is run.
Options to perform content matching.
Used in:
No content matcher type specified (maintained for backward compatibility, but deprecated for future use). Treated as `CONTAINS_STRING`.
Selects substring matching (there is a match if the output contains the `content` string). This is the default value for checks without a `matcher` option, or where the value of `matcher` is `CONTENT_MATCHER_OPTION_UNSPECIFIED`.
Selects negation of substring matching (there is a match if the output does NOT contain the `content` string).
Selects regular expression matching (there is a match of the output matches the regular expression specified in the `content` string).
Selects negation of regular expression matching (there is a match if the output does NOT match the regular expression specified in the `content` string).
Information involved in an HTTP/HTTPS Uptime check request.
Used in:
If `true`, use HTTPS instead of HTTP to run the check.
Optional (defaults to "/"). The path to the page against which to run the check. Will be combined with the `host` (specified within the `monitored_resource`) and `port` to construct the full URL. If the provided path does not begin with "/", a "/" will be prepended automatically.
Optional (defaults to 80 when `use_ssl` is `false`, and 443 when `use_ssl` is `true`). The TCP port on the HTTP server against which to run the check. Will be combined with host (specified within the `monitored_resource`) and `path` to construct the full URL.
The authentication information. Optional when creating an HTTP check; defaults to empty.
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 `******.`
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.
Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect.
The authentication parameters to provide to the specified resource or URL that requires a username and password. Currently, only [Basic HTTP authentication](https://tools.ietf.org/html/rfc7617) is supported in Uptime checks.
Used in:
The username to use when authenticating with the HTTP server.
The password to use when authenticating with the HTTP server.
The resource submessage for group checks. It can be used instead of a monitored resource, when multiple resources are being monitored.
Used in:
The group of resources being monitored. Should be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID]/groups/[GROUP_ID]`.
The resource type of the group members.
Information required for a TCP Uptime check request.
Used in:
The TCP port on the server against which to run the check. Will be combined with host (specified within the `monitored_resource`) to construct the full URL. Required.
Contains the region, location, and list of IP addresses where checkers in the location run from.
Used in:
A broad region category in which the IP address is located.
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.
The IP address from which the Uptime check originates. This is a fully specified 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.
The regions from which an Uptime check can be run.
Used in:
,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).