alert_policies
Creates, updates, deletes, gets or lists an alert_policies
resource.
Overview
Name | alert_policies |
Type | Resource |
Id | google.monitoring.alert_policies |
Fields
The following fields are returned by SELECT
queries:
- projects_alert_policies_get
- projects_alert_policies_list
Successful response
Name | Datatype | Description |
---|---|---|
name | string | Identifier. Required if the policy exists. The resource name for this policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Cloud 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. |
alertStrategy | object | Control over how this alerting policy's notification channels are notified. (id: AlertStrategy) |
combiner | string | How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED. |
conditions | array | 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. If condition_time_series_query_language is present, it must be the only condition. If condition_monitoring_query_language is present, it must be the only condition. |
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. (id: MutationRecord) |
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.The convention for the display_name of a PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy. |
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. (id: Documentation) |
enabled | boolean | 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. |
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. (id: MutationRecord) |
notificationChannels | array | Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the ListNotificationChannels method. The format of the entries in this field is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] |
severity | string | Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. |
userLabels | object | 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.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values. |
validity | object | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). (id: Status) |
Successful response
Name | Datatype | Description |
---|---|---|
name | string | Identifier. Required if the policy exists. The resource name for this policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Cloud 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. |
alertStrategy | object | Control over how this alerting policy's notification channels are notified. (id: AlertStrategy) |
combiner | string | How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED. |
conditions | array | 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. If condition_time_series_query_language is present, it must be the only condition. If condition_monitoring_query_language is present, it must be the only condition. |
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. (id: MutationRecord) |
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.The convention for the display_name of a PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy. |
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. (id: Documentation) |
enabled | boolean | 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. |
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. (id: MutationRecord) |
notificationChannels | array | Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the ListNotificationChannels method. The format of the entries in this field is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] |
severity | string | Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. |
userLabels | object | 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.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values. |
validity | object | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). (id: Status) |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
projects_alert_policies_get | select | projectsId , alertPoliciesId | Gets a single alerting policy. | |
projects_alert_policies_list | select | projectsId | filter , orderBy , pageSize , pageToken | Lists the existing alerting policies for the workspace. |
projects_alert_policies_create | insert | projectsId | Creates a new alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. | |
projects_alert_policies_patch | update | projectsId , alertPoliciesId | updateMask | Updates an alerting policy. You can either replace the entire policy with a new one or replace only certain fields in the current alerting policy by specifying the fields to be updated via updateMask. Returns the updated alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. |
projects_alert_policies_delete | delete | projectsId , alertPoliciesId | Deletes an alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
alertPoliciesId | string | |
projectsId | string | |
filter | string | |
orderBy | string | |
pageSize | integer (int32) | |
pageToken | string | |
updateMask | string (google-fieldmask) |
SELECT
examples
- projects_alert_policies_get
- projects_alert_policies_list
Gets a single alerting policy.
SELECT
name,
alertStrategy,
combiner,
conditions,
creationRecord,
displayName,
documentation,
enabled,
mutationRecord,
notificationChannels,
severity,
userLabels,
validity
FROM google.monitoring.alert_policies
WHERE projectsId = '{{ projectsId }}' -- required
AND alertPoliciesId = '{{ alertPoliciesId }}' -- required;
Lists the existing alerting policies for the workspace.
SELECT
name,
alertStrategy,
combiner,
conditions,
creationRecord,
displayName,
documentation,
enabled,
mutationRecord,
notificationChannels,
severity,
userLabels,
validity
FROM google.monitoring.alert_policies
WHERE projectsId = '{{ projectsId }}' -- required
AND filter = '{{ filter }}'
AND orderBy = '{{ orderBy }}'
AND pageSize = '{{ pageSize }}'
AND pageToken = '{{ pageToken }}';
INSERT
examples
- projects_alert_policies_create
- Manifest
Creates a new alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
INSERT INTO google.monitoring.alert_policies (
data__name,
data__displayName,
data__documentation,
data__userLabels,
data__conditions,
data__combiner,
data__enabled,
data__validity,
data__notificationChannels,
data__creationRecord,
data__mutationRecord,
data__alertStrategy,
data__severity,
projectsId
)
SELECT
'{{ name }}',
'{{ displayName }}',
'{{ documentation }}',
'{{ userLabels }}',
'{{ conditions }}',
'{{ combiner }}',
{{ enabled }},
'{{ validity }}',
'{{ notificationChannels }}',
'{{ creationRecord }}',
'{{ mutationRecord }}',
'{{ alertStrategy }}',
'{{ severity }}',
'{{ projectsId }}'
RETURNING
name,
alertStrategy,
combiner,
conditions,
creationRecord,
displayName,
documentation,
enabled,
mutationRecord,
notificationChannels,
severity,
userLabels,
validity
;
# Description fields are for documentation purposes
- name: alert_policies
props:
- name: projectsId
value: string
description: Required parameter for the alert_policies resource.
- name: name
value: string
description: >
Identifier. Required if the policy exists. The resource name for this policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Cloud 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.
- name: displayName
value: string
description: >
A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.The convention for the display_name of a PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy.
- name: documentation
value: object
description: >
Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.
- name: userLabels
value: object
description: >
User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values.
- name: conditions
value: array
description: >
A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. If condition_time_series_query_language is present, it must be the only condition. If condition_monitoring_query_language is present, it must be the only condition.
- name: combiner
value: string
description: >
How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED.
valid_values: ['COMBINE_UNSPECIFIED', 'AND', 'OR', 'AND_WITH_MATCHING_RESOURCE']
- name: enabled
value: boolean
description: >
Whether or not the policy is enabled. On write, the default interpretation if unset is that the policy is enabled. On read, clients should not make any assumption about the state if it has not been populated. The field should always be populated on List and Get operations, unless a field projection has been specified that strips it out.
- name: validity
value: object
description: >
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).
- name: notificationChannels
value: array
description: >
Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the ListNotificationChannels method. The format of the entries in this field is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
- name: creationRecord
value: object
description: >
A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored.
- name: mutationRecord
value: object
description: >
A read-only record of the most recent change to the alerting policy. If provided in a call to create or update, this field will be ignored.
- name: alertStrategy
value: object
description: >
Control over how this alerting policy's notification channels are notified.
- name: severity
value: string
description: >
Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.
valid_values: ['SEVERITY_UNSPECIFIED', 'CRITICAL', 'ERROR', 'WARNING']
UPDATE
examples
- projects_alert_policies_patch
Updates an alerting policy. You can either replace the entire policy with a new one or replace only certain fields in the current alerting policy by specifying the fields to be updated via updateMask. Returns the updated alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
UPDATE google.monitoring.alert_policies
SET
data__name = '{{ name }}',
data__displayName = '{{ displayName }}',
data__documentation = '{{ documentation }}',
data__userLabels = '{{ userLabels }}',
data__conditions = '{{ conditions }}',
data__combiner = '{{ combiner }}',
data__enabled = {{ enabled }},
data__validity = '{{ validity }}',
data__notificationChannels = '{{ notificationChannels }}',
data__creationRecord = '{{ creationRecord }}',
data__mutationRecord = '{{ mutationRecord }}',
data__alertStrategy = '{{ alertStrategy }}',
data__severity = '{{ severity }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND alertPoliciesId = '{{ alertPoliciesId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
alertStrategy,
combiner,
conditions,
creationRecord,
displayName,
documentation,
enabled,
mutationRecord,
notificationChannels,
severity,
userLabels,
validity;
DELETE
examples
- projects_alert_policies_delete
Deletes an alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
DELETE FROM google.monitoring.alert_policies
WHERE projectsId = '{{ projectsId }}' --required
AND alertPoliciesId = '{{ alertPoliciesId }}' --required;