## Enumerations

### Aligner

static

number

The Aligner describes how to bring the data points in a single time series into temporal alignment.

#### Value

ALIGN_NONE

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_DELTA

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_RATE

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_INTERPOLATE

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_NEXT_OLDER

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_MIN

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_MAX

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_MEAN

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_COUNT

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_SUM

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_STDDEV

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_COUNT_TRUE

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_COUNT_FALSE

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_FRACTION_TRUE

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_PERCENTILE_99

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_PERCENTILE_95

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_PERCENTILE_50

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_PERCENTILE_05

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_PERCENT_CHANGE

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.

### ComparisonType

constant   static

number

Specifies an ordering relationship on two arguments, here called left and right.

#### Value

COMPARISON_UNSPECIFIED

No ordering relationship is specified.

COMPARISON_GT

The left argument is greater than the right argument.

COMPARISON_GE

The left argument is greater than or equal to the right argument.

COMPARISON_LT

The left argument is less than the right argument.

COMPARISON_LE

The left argument is less than or equal to the right argument.

COMPARISON_EQ

The left argument is equal to the right argument.

COMPARISON_NE

The left argument is not equal to the right argument.

### ConditionCombinerType

static

number

Operators for combining conditions.

#### Value

COMBINE_UNSPECIFIED

An unspecified combiner.

AND

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.

OR

Combine conditions using the logical OR operator. An incident is created if any of the listed conditions is met.

AND_WITH_MATCHING_RESOURCE

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.

### GroupResourceType

constant   static

number

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.

#### Value

RESOURCE_TYPE_UNSPECIFIED

Default value (not valid).

INSTANCE

A group of instances from Google Cloud Platform (GCP) or Amazon Web Services (AWS).

A group of Amazon ELB load balancers.

### Reducer

static

number

A Reducer describes how to aggregate data points from multiple time series into a single time series.

#### Value

REDUCE_NONE

No cross-time series reduction. The output of the aligner is returned.

REDUCE_MEAN

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_MIN

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_MAX

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_SUM

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_STDDEV

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_COUNT

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_COUNT_TRUE

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_COUNT_FALSE

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_FRACTION_TRUE

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_PERCENTILE_99

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_PERCENTILE_95

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_PERCENTILE_50

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_PERCENTILE_05

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

### ServiceTier

constant   static

number

The tier of service for a Workspace. Please see the service tiers documentation for more details.

#### Value

SERVICE_TIER_UNSPECIFIED

An invalid sentinel value, used to indicate that a tier has not been provided explicitly.

SERVICE_TIER_BASIC

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.

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.

### TimeSeriesView

static

number

Controls which fields are returned by ListTimeSeries.

#### Value

FULL

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.

### UptimeCheckRegion

constant   static

number

The regions from which an uptime check can be run.

#### Value

REGION_UNSPECIFIED

Default value if no region is specified. Will result in uptime checks running from all regions.

USA

Allows checks to run from locations within the United States of America.

EUROPE

Allows checks to run from locations within the continent of Europe.

SOUTH_AMERICA

Allows checks to run from locations within the continent of South America.

ASIA_PACIFIC

Allows checks to run from locations within the Asia Pacific area (ex: Singapore).

### VerificationStatus

static

number

Indicates whether the channel has been verified or not. It is illegal to specify this field in a CreateNotificationChannel or an UpdateNotificationChannel operation.

#### Value

VERIFICATION_STATUS_UNSPECIFIED

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).

UNVERIFIED

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.

VERIFIED

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.

## Properties

### Aligner

static

number

The Aligner describes how to bring the data points in a single time series into temporal alignment.

#### Value

ALIGN_NONE

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_DELTA

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_RATE

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_INTERPOLATE

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_NEXT_OLDER

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_MIN

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_MAX

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_MEAN

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_COUNT

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_SUM

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_STDDEV

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_COUNT_TRUE

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_COUNT_FALSE

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_FRACTION_TRUE

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_PERCENTILE_99

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_PERCENTILE_95

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_PERCENTILE_50

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_PERCENTILE_05

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_PERCENT_CHANGE

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.

### ComparisonType

constant   static

number

Specifies an ordering relationship on two arguments, here called left and right.

#### Value

COMPARISON_UNSPECIFIED

No ordering relationship is specified.

COMPARISON_GT

The left argument is greater than the right argument.

COMPARISON_GE

The left argument is greater than or equal to the right argument.

COMPARISON_LT

The left argument is less than the right argument.

COMPARISON_LE

The left argument is less than or equal to the right argument.

COMPARISON_EQ

The left argument is equal to the right argument.

COMPARISON_NE

The left argument is not equal to the right argument.

### ConditionCombinerType

static

number

Operators for combining conditions.

#### Value

COMBINE_UNSPECIFIED

An unspecified combiner.

AND

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.

OR

Combine conditions using the logical OR operator. An incident is created if any of the listed conditions is met.

AND_WITH_MATCHING_RESOURCE

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.

### GroupResourceType

constant   static

number

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.

#### Value

RESOURCE_TYPE_UNSPECIFIED

Default value (not valid).

INSTANCE

A group of instances from Google Cloud Platform (GCP) or Amazon Web Services (AWS).

A group of Amazon ELB load balancers.

### Reducer

static

number

A Reducer describes how to aggregate data points from multiple time series into a single time series.

#### Value

REDUCE_NONE

No cross-time series reduction. The output of the aligner is returned.

REDUCE_MEAN

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_MIN

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_MAX

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_SUM

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_STDDEV

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_COUNT

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_COUNT_TRUE

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_COUNT_FALSE

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_FRACTION_TRUE

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_PERCENTILE_99

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_PERCENTILE_95

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_PERCENTILE_50

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_PERCENTILE_05

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

### ServiceTier

constant   static

number

The tier of service for a Workspace. Please see the service tiers documentation for more details.

#### Value

SERVICE_TIER_UNSPECIFIED

An invalid sentinel value, used to indicate that a tier has not been provided explicitly.

SERVICE_TIER_BASIC

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.

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.

### TimeSeriesView

static

number

Controls which fields are returned by ListTimeSeries.

#### Value

FULL

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.

### UptimeCheckRegion

constant   static

number

The regions from which an uptime check can be run.

#### Value

REGION_UNSPECIFIED

Default value if no region is specified. Will result in uptime checks running from all regions.

USA

Allows checks to run from locations within the United States of America.

EUROPE

Allows checks to run from locations within the continent of Europe.

SOUTH_AMERICA

Allows checks to run from locations within the continent of South America.

ASIA_PACIFIC

Allows checks to run from locations within the Asia Pacific area (ex: Singapore).

### VerificationStatus

static

number

Indicates whether the channel has been verified or not. It is illegal to specify this field in a CreateNotificationChannel or an UpdateNotificationChannel operation.

#### Value

VERIFICATION_STATUS_UNSPECIFIED

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).

UNVERIFIED

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.

VERIFIED

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.

## Abstract types

### Aggregation

static

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.

#### Parameter

alignmentPeriod

Object

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.

This object should have the same structure as Duration

perSeriesAligner

number

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 number should be among the values of Aligner

crossSeriesReducer

number

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 number should be among the values of Reducer

groupByFields

Array of string

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.

google.monitoring.v3.Aggregation definition in proto format

static

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.

#### Parameter

name

string

Required if the policy exists. The resource name for this policy. The syntax is:

[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.

displayName

string

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

Object

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.

This object should have the same structure as Documentation

userLabels

Object with string properties

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.

conditions

Array of Object

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.

This object should have the same structure as Condition

combiner

number

How to combine the results of multiple conditions to determine if an incident should be opened.

The number should be among the values of ConditionCombinerType

enabled

Object

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.

This object should have the same structure as BoolValue

Array of string

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] [google.monitoring.v3.NotificationChannelService.ListNotificationChannels] method. The syntax of the entries in this field is:

creationRecord

Object

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.

This object should have the same structure as MutationRecord

mutationRecord

Object

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.

This object should have the same structure as MutationRecord

### BasicAuthentication

static

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.

#### Parameter

string

The username to authenticate.

string

The password to authenticate.

google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication definition in proto format

### Condition

static

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.

#### Parameter

name

string

Required if the condition exists. The unique resource name for this condition. Its syntax is:

[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.

displayName

string

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.

conditionThreshold

Object

A condition that compares a time series against a threshold.

This object should have the same structure as MetricThreshold

conditionAbsent

Object

A condition that checks that a time series continues to receive new data points.

This object should have the same structure as MetricAbsence

### ContentMatcher

static

Used to perform string matching. It allows substring and regular expressions, together with their negations.

#### Parameter

content

string

String or regex content to match (max 1024 bytes)

google.monitoring.v3.UptimeCheckConfig.ContentMatcher definition in proto format

static

The protocol for the CreateAlertPolicy request.

#### Parameter

name

string

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.

Object

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.

This object should have the same structure as AlertPolicy

### CreateGroupRequest

static

The CreateGroup request.

#### Parameter

name

string

The project in which to create the group. The format is "projects/{project_id_or_number}".

group

Object

A group definition. It is an error to define the name field because the system assigns the name.

This object should have the same structure as Group

validateOnly

boolean

If true, validate this request but do not create the group.

google.monitoring.v3.CreateGroupRequest definition in proto format

### CreateMetricDescriptorRequest

static

The CreateMetricDescriptor request.

#### Parameter

name

string

The project on which to execute the request. The format is "projects/{project_id_or_number}".

metricDescriptor

Object

The new custom metric descriptor.

This object should have the same structure as MetricDescriptor

google.monitoring.v3.CreateMetricDescriptorRequest definition in proto format

static

#### Parameter

name

string

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.

Object

The definition of the NotificationChannel to create.

This object should have the same structure as NotificationChannel

### CreateTimeSeriesRequest

static

The CreateTimeSeries request.

#### Parameter

name

string

The project on which to execute the request. The format is "projects/{project_id_or_number}".

timeSeries

Array of Object

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.

This object should have the same structure as TimeSeries

google.monitoring.v3.CreateTimeSeriesRequest definition in proto format

### CreateUptimeCheckConfigRequest

static

The protocol for the CreateUptimeCheckConfig request.

#### Parameter

parent

string

The project in which to create the uptime check. The format is projects/[PROJECT_ID].

uptimeCheckConfig

Object

The new uptime check configuration.

This object should have the same structure as UptimeCheckConfig

google.monitoring.v3.CreateUptimeCheckConfigRequest definition in proto format

static

The protocol for the DeleteAlertPolicy request.

#### Parameter

name

string

The alerting policy to delete. The format is:

### DeleteGroupRequest

static

The DeleteGroup request. You can only delete a group if it has no children.

#### Parameter

name

string

The group to delete. The format is "projects/{project_id_or_number}/groups/{group_id}".

google.monitoring.v3.DeleteGroupRequest definition in proto format

### DeleteMetricDescriptorRequest

static

The DeleteMetricDescriptor request.

#### Parameter

name

string

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".

google.monitoring.v3.DeleteMetricDescriptorRequest definition in proto format

static

#### Parameter

name

string

The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID].

force

boolean

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.

### DeleteUptimeCheckConfigRequest

static

The protocol for the DeleteUptimeCheckConfig request.

#### Parameter

name

string

The uptime check configuration to delete. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].

google.monitoring.v3.DeleteUptimeCheckConfigRequest definition in proto format

### Documentation

static

A content string and a MIME type that describes the content string's format.

#### Parameter

content

string

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.

mimeType

string

The format of the content field. Presently, only the value "text/markdown" is supported. See Markdown for more information.

static

The protocol for the GetAlertPolicy request.

#### Parameter

name

string

The alerting policy to retrieve. The format is

### GetGroupRequest

static

The GetGroup request.

#### Parameter

name

string

The group to retrieve. The format is "projects/{project_id_or_number}/groups/{group_id}".

google.monitoring.v3.GetGroupRequest definition in proto format

### GetMetricDescriptorRequest

static

The GetMetricDescriptor request.

#### Parameter

name

string

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".

google.monitoring.v3.GetMetricDescriptorRequest definition in proto format

### GetMonitoredResourceDescriptorRequest

static

The GetMonitoredResourceDescriptor request.

#### Parameter

name

string

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.

google.monitoring.v3.GetMonitoredResourceDescriptorRequest definition in proto format

static

#### Parameter

name

string

The channel type for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannelDescriptors/{channel_type}.

static

#### Parameter

name

string

The channel for which to execute the request. The format is projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID].

static

#### Parameter

name

string

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.

expireTime

Object

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).

This object should have the same structure as Timestamp

static

#### Parameter

code

string

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).

expireTime

Object

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.

This object should have the same structure as Timestamp

### GetUptimeCheckConfigRequest

static

The protocol for the GetUptimeCheckConfig request.

#### Parameter

name

string

The uptime check configuration to retrieve. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].

google.monitoring.v3.GetUptimeCheckConfigRequest definition in proto format

### Group

static

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.

#### Parameter

name

string

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.

displayName

string

A user-assigned name for this group, used only for display purposes.

parentName

string

The name of the group's parent, if it has one. The format is "projects/{project_id_or_number}/groups/{group_id}". For groups with no parent, parentName is the empty string, "".

filter

string

The filter used to determine which monitored resources belong to this group.

isCluster

boolean

If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.

google.monitoring.v3.Group definition in proto format

### HttpCheck

static

Information involved in an HTTP/HTTPS uptime check request.

#### Parameter

useSsl

boolean

If true, use HTTPS instead of HTTP to run the check.

path

string

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 "/").

port

number

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).

authInfo

Object

The authentication information. Optional when creating an HTTP check; defaults to empty.

This object should have the same structure as BasicAuthentication

boolean

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 **.

Object with string properties

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.

google.monitoring.v3.UptimeCheckConfig.HttpCheck definition in proto format

### InternalChecker

static

An internal checker allows uptime checks to run on private/internal GCP resources.

#### Parameter

name

string

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.

displayName

string

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.

network

string

The GCP VPC network where the internal resource lives (ex: "default").

gcpZone

string

The GCP zone the uptime check should egress from. Only respected for internal uptime checks, where internal_network is specified.

peerProjectId

string

The GCP project_id where the internal checker lives. Not necessary the same as the workspace project.

google.monitoring.v3.InternalChecker definition in proto format

static

The protocol for the ListAlertPolicies request.

#### Parameter

name

string

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 operation, instead.

filter

string

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.

orderBy

string

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.

pageSize

number

The maximum number of results to return in a single response.

pageToken

string

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.

static

The protocol for the ListAlertPolicies response.

#### Parameter

Array of Object

The returned alert policies.

This object should have the same structure as AlertPolicy

nextPageToken

string

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.

### ListGroupMembersRequest

static

The ListGroupMembers request.

#### Parameter

name

string

The group whose members are listed. The format is "projects/{project_id_or_number}/groups/{group_id}".

pageSize

number

A positive number that is the maximum number of results to return.

pageToken

string

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.

filter

string

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:

resource.type = "gce_instance"

interval

Object

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.

This object should have the same structure as TimeInterval

google.monitoring.v3.ListGroupMembersRequest definition in proto format

### ListGroupMembersResponse

static

The ListGroupMembers response.

#### Parameter

members

Array of Object

A set of monitored resources in the group.

This object should have the same structure as MonitoredResource

nextPageToken

string

If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.

totalSize

number

The total number of elements matching this request.

google.monitoring.v3.ListGroupMembersResponse definition in proto format

### ListGroupsRequest

static

The ListGroup request.

#### Parameter

name

string

The project whose groups are to be listed. The format is "projects/{project_id_or_number}".

childrenOfGroup

string

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.

ancestorsOfGroup

string

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.

descendantsOfGroup

string

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.

pageSize

number

A positive number that is the maximum number of results to return.

pageToken

string

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.

google.monitoring.v3.ListGroupsRequest definition in proto format

### ListGroupsResponse

static

The ListGroups response.

#### Parameter

group

Array of Object

The groups that match the specified filters.

This object should have the same structure as Group

nextPageToken

string

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.

google.monitoring.v3.ListGroupsResponse definition in proto format

### ListMetricDescriptorsRequest

static

The ListMetricDescriptors request.

#### Parameter

name

string

The project on which to execute the request. The format is "projects/{project_id_or_number}".

filter

string

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:

pageSize

number

A positive number that is the maximum number of results to return.

pageToken

string

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.

google.monitoring.v3.ListMetricDescriptorsRequest definition in proto format

### ListMetricDescriptorsResponse

static

The ListMetricDescriptors response.

#### Parameter

metricDescriptors

Array of Object

The metric descriptors that are available to the project and that match the value of filter, if present.

This object should have the same structure as MetricDescriptor

nextPageToken

string

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.

google.monitoring.v3.ListMetricDescriptorsResponse definition in proto format

### ListMonitoredResourceDescriptorsRequest

static

The ListMonitoredResourceDescriptors request.

#### Parameter

name

string

The project on which to execute the request. The format is "projects/{project_id_or_number}".

filter

string

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:

resource.type = starts_with("gce_") AND resource.label:id

pageSize

number

A positive number that is the maximum number of results to return.

pageToken

string

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.

google.monitoring.v3.ListMonitoredResourceDescriptorsRequest definition in proto format

### ListMonitoredResourceDescriptorsResponse

static

The ListMonitoredResourceDescriptors response.

#### Parameter

resourceDescriptors

Array of Object

The monitored resource descriptors that are available to this project and that match filter, if present.

This object should have the same structure as MonitoredResourceDescriptor

nextPageToken

string

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.

google.monitoring.v3.ListMonitoredResourceDescriptorsResponse definition in proto format

static

#### Parameter

name

string

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 operation, instead.

pageSize

number

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.

pageToken

string

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.

static

#### Parameter

channelDescriptors

Array of Object

The monitored resource descriptors supported for the specified project, optionally filtered.

This object should have the same structure as NotificationChannelDescriptor

nextPageToken

string

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.

static

#### Parameter

name

string

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.

filter

string

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.

orderBy

string

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.

pageSize

number

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.

pageToken

string

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.

static

#### Parameter

Array of Object

The notification channels defined for the specified project.

This object should have the same structure as NotificationChannel

nextPageToken

string

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.

### ListTimeSeriesRequest

static

The ListTimeSeries request.

#### Parameter

name

string

The project on which to execute the request. The format is "projects/{project_id_or_number}".

filter

string

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:

metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
metric.label.instance_name = "my-instance-name"

interval

Object

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.

This object should have the same structure as TimeInterval

aggregation

Object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

This object should have the same structure as Aggregation

orderBy

string

Unsupported: must be left blank. The points in each time series are returned in reverse time order.

view

number

Specifies which information is returned about the time series.

The number should be among the values of TimeSeriesView

pageSize

number

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.

pageToken

string

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.

google.monitoring.v3.ListTimeSeriesRequest definition in proto format

### ListTimeSeriesResponse

static

The ListTimeSeries response.

#### Parameter

timeSeries

Array of Object

One or more time series that match the filter included in the request.

This object should have the same structure as TimeSeries

nextPageToken

string

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.

executionErrors

Array of Object

Query execution errors that may have caused the time series data returned to be incomplete.

This object should have the same structure as Status

google.monitoring.v3.ListTimeSeriesResponse definition in proto format

### ListUptimeCheckConfigsRequest

static

The protocol for the ListUptimeCheckConfigs request.

#### Parameter

parent

string

The project whose uptime check configurations are listed. The format is projects/[PROJECT_ID].

pageSize

number

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.

pageToken

string

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.

google.monitoring.v3.ListUptimeCheckConfigsRequest definition in proto format

### ListUptimeCheckConfigsResponse

static

The protocol for the ListUptimeCheckConfigs response.

#### Parameter

uptimeCheckConfigs

Array of Object

The returned uptime check configurations.

This object should have the same structure as UptimeCheckConfig

nextPageToken

string

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).

totalSize

number

The total number of uptime check configurations for the project, irrespective of any pagination.

google.monitoring.v3.ListUptimeCheckConfigsResponse definition in proto format

### ListUptimeCheckIpsRequest

static

The protocol for the ListUptimeCheckIps request.

#### Parameter

pageSize

number

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

pageToken

string

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

google.monitoring.v3.ListUptimeCheckIpsRequest definition in proto format

### ListUptimeCheckIpsResponse

static

The protocol for the ListUptimeCheckIps response.

#### Parameter

uptimeCheckIps

Array of Object

The returned list of IP addresses (including region and location) that the checkers run from.

This object should have the same structure as UptimeCheckIp

nextPageToken

string

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

google.monitoring.v3.ListUptimeCheckIpsResponse definition in proto format

### MetricAbsence

static

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.

#### Parameter

filter

string

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.

aggregations

Array of Object

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.

This object should have the same structure as Aggregation

duration

Object

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.

This object should have the same structure as Duration

trigger

Object

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.

This object should have the same structure as Trigger

### MetricThreshold

static

A condition type that compares a collection of time series against a threshold.

#### Parameter

filter

string

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.

aggregations

Array of Object

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.

This object should have the same structure as Aggregation

denominatorFilter

string

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.

denominatorAggregations

Array of Object

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.

This object should have the same structure as Aggregation

comparison

number

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.

The number should be among the values of ComparisonType

thresholdValue

number

A value against which to compare the time series.

duration

Object

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.

This object should have the same structure as Duration

trigger

Object

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.

This object should have the same structure as Trigger

### MutationRecord

static

Describes a change made to a configuration.

#### Parameter

mutateTime

Object

When the change occurred.

This object should have the same structure as Timestamp

mutatedBy

string

The email address of the user making the change.

google.monitoring.v3.MutationRecord definition in proto format

static

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.

#### Parameter

type

string

The type of the notification channel. This field matches the value of the NotificationChannelDescriptor.type field.

name

string

The full REST resource name for this channel. The syntax is:

The [CHANNEL_ID] is automatically assigned by the server on creation.

displayName

string

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.

description

string

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 exceeed 1024 Unicode characters.

labels

Object with string properties

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.

userLabels

Object with string properties

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.

verificationStatus

number

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.

The number should be among the values of VerificationStatus

enabled

Object

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.

This object should have the same structure as BoolValue

static

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.

#### Parameter

name

string

The full REST resource name for this descriptor. The syntax is:

In the above, [TYPE] is the value of the type field.

type

string

The type of notification channel, such as "email", "sms", etc. Notification channel types are globally unique.

displayName

string

A human-readable name for the notification channel type. This form of the name is suitable for a user interface.

description

string

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.

labels

Array of Object

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.

This object should have the same structure as LabelDescriptor

supportedTiers

Array of number

The tiers that support this notification channel; the project service tier must be one of the supported_tiers.

The number should be among the values of ServiceTier

### Point

static

A single data point in a time series.

#### Parameter

interval

Object

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.

This object should have the same structure as TimeInterval

value

Object

The value of the data point.

This object should have the same structure as TypedValue

google.monitoring.v3.Point definition in proto format

### ResourceGroup

static

The resource submessage for group checks. It can be used instead of a monitored resource, when multiple resources are being monitored.

#### Parameter

groupId

string

The group of resources being monitored. Should be only the group_id, not projects/<project_id>/groups/<group_id>.

resourceType

number

The resource type of the group members.

The number should be among the values of GroupResourceType

google.monitoring.v3.UptimeCheckConfig.ResourceGroup definition in proto format

static

#### Parameter

name

string

The notification channel to which to send a verification code.

### TcpCheck

static

Information required for a TCP uptime check request.

#### Parameter

port

number

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.

google.monitoring.v3.UptimeCheckConfig.TcpCheck definition in proto format

### TimeInterval

static

A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.

#### Parameter

endTime

Object

Required. The end of the time interval.

This object should have the same structure as Timestamp

startTime

Object

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.

This object should have the same structure as Timestamp

google.monitoring.v3.TimeInterval definition in proto format

### TimeSeries

static

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.

#### Parameter

metric

Object

The associated metric. A fully-specified metric used to identify the time series.

This object should have the same structure as Metric

resource

Object

The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.

This object should have the same structure as MonitoredResource

Object

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.

This object should have the same structure as MonitoredResourceMetadata

metricKind

number

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 number should be among the values of MetricKind

valueType

number

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 number should be among the values of ValueType

points

Array of Object

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.

This object should have the same structure as Point

google.monitoring.v3.TimeSeries definition in proto format

### Trigger

static

Specifies how many time series must fail a predicate to trigger a condition. If not specified, then a {count: 1} trigger is used.

#### Parameter

count

number

The absolute number of time series that must fail the predicate for the condition to be triggered.

percent

number

The percentage of time series that must fail the predicate for the condition to be triggered.

### TypedValue

static

A single strongly-typed value.

#### Parameter

boolValue

boolean

A Boolean value: true or false.

int64Value

number

A 64-bit integer. Its range is approximately ±9.2x1018.

doubleValue

number

A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.

stringValue

string

A variable-length string value.

distributionValue

Object

A distribution value.

This object should have the same structure as Distribution

google.monitoring.v3.TypedValue definition in proto format

static

The protocol for the UpdateAlertPolicy request.

#### Parameter

Object

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.

This object should have the same structure as FieldMask

Object

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.

This object should have the same structure as AlertPolicy

### UpdateGroupRequest

static

The UpdateGroup request.

#### Parameter

group

Object

The new definition of the group. All fields of the existing group, excepting name, are replaced with the corresponding fields of this group.

This object should have the same structure as Group

validateOnly

boolean

If true, validate this request but do not update the existing group.

google.monitoring.v3.UpdateGroupRequest definition in proto format

static

#### Parameter

Object

The fields to update.

This object should have the same structure as FieldMask

Object

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.

This object should have the same structure as NotificationChannel

### UpdateUptimeCheckConfigRequest

static

The protocol for the UpdateUptimeCheckConfig request.

#### Parameter

Object

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.

This object should have the same structure as FieldMask

uptimeCheckConfig

Object

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.

This object should have the same structure as UptimeCheckConfig

google.monitoring.v3.UpdateUptimeCheckConfigRequest definition in proto format

### UptimeCheckConfig

static

This message configures which resources and services to monitor for availability.

#### Parameter

name

string

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.

displayName

string

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.

monitoredResource

Object

The monitored resource 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

This object should have the same structure as MonitoredResource

resourceGroup

Object

The group resource associated with the configuration.

This object should have the same structure as ResourceGroup

httpCheck

Object

Contains information needed to make an HTTP or HTTPS check.

This object should have the same structure as HttpCheck

tcpCheck

Object

Contains information needed to make a TCP check.

This object should have the same structure as TcpCheck

period

Object

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 300s.

This object should have the same structure as Duration

timeout

Object

The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.

This object should have the same structure as Duration

contentMatchers

Array of Object

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.

This object should have the same structure as ContentMatcher

selectedRegions

Array of number

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.

The number should be among the values of UptimeCheckRegion

isInternal

boolean

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.

internalCheckers

Array of Object

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.

This object should have the same structure as InternalChecker

google.monitoring.v3.UptimeCheckConfig definition in proto format

### UptimeCheckIp

static

Contains the region, location, and list of IP addresses where checkers in the location run from.

#### Parameter

region

number

A broad region category in which the IP address is located.

The number should be among the values of UptimeCheckRegion

location

string

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.

string

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.

google.monitoring.v3.UptimeCheckIp definition in proto format

static

#### Parameter

name

string

The notification channel to verify.

code

string

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).