Skip to main content

@swamp/gcp/monitoring

v2026.04.23.1

Google Cloud monitoring infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

gcpgoogle-cloudmonitoringcloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/gcp/monitoring

@swamp/gcp/monitoring/alertpoliciesv2026.04.23.1alertpolicies.ts

Global Arguments

ArgumentTypeDescription
alertStrategy?objectControl over how the notification channels in notification_channels are notified when this alert fires.
combiner?enumHow 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?arrayA 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?objectDescribes a change made to a configuration.
displayName?stringA short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don\
documentation?objectDocumentation that is included in the notifications and incidents pertaining to this policy.
enabled?booleanWhether 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?objectDescribes a change made to a configuration.
name?stringIdentifier. 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.
notificationChannels?arrayIdentifies 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?enumOptional. 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?recordUser-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 Prom
validity?objectThe 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).
createCreate a alertPolicies
getGet a alertPolicies
ArgumentTypeDescription
identifierstringThe name of the alertPolicies
updateUpdate alertPolicies attributes
deleteDelete the alertPolicies
ArgumentTypeDescription
identifierstringThe name of the alertPolicies
syncSync alertPolicies state from GCP

Resources

state(infinite)— A description of the conditions under which some aspect of your system is con...
@swamp/gcp/monitoring/alertsv2026.04.23.1alerts.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
getGet a alerts
ArgumentTypeDescription
identifierstringThe name of the alerts
syncSync alerts state from GCP

Resources

state(infinite)— An alert is the representation of a violation of an alert policy. It is a rea...
@swamp/gcp/monitoring/groupsv2026.04.23.1groups.ts

Global Arguments

ArgumentTypeDescription
displayName?stringA user-assigned name for this group, used only for display purposes.
filter?stringThe filter used to determine which monitored resources belong to this group.
isCluster?booleanIf true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
name?stringOutput 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.
parentName?stringThe name of the group\
createCreate a groups
getGet a groups
ArgumentTypeDescription
identifierstringThe name of the groups
updateUpdate groups attributes
deleteDelete the groups
ArgumentTypeDescription
identifierstringThe name of the groups
syncSync groups state from GCP

Resources

state(infinite)— The description of a dynamic collection of monitored resources. Each group ha...
@swamp/gcp/monitoring/groups-membersv2026.04.23.1groups_members.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a members
ArgumentTypeDescription
identifierstringThe name of the members
syncSync members state from GCP

Resources

state(infinite)— An object representing a resource that can be used for monitoring, logging, b...
@swamp/gcp/monitoring/metricdescriptorsv2026.04.23.1metricdescriptors.ts

Global Arguments

ArgumentTypeDescription
description?stringA detailed description of the metric, which can be used in documentation.
displayName?stringA concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.
labels?arrayThe set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.
launchStage?enumOptional. The launch stage of the metric definition.
metadata?objectAdditional annotations that can be used to guide the usage of a metric.
metricKind?enumWhether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.
monitoredResourceTypes?arrayRead-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.
name?stringThe resource name of the metric descriptor.
type?stringThe metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example: "custom.googleapis.com/invoice/paid/amount" "external.googleapis.com/prometheus/up" "appengine.googleapis.com/http/server/response_latencies"
unit?stringThe units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems might scale the values to be more easily displayed (so a value of 0.02kBy might be displayed as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if the unit is kBy, then the value of the metric is always in thousands of bytes, no matter how it might be displayed.If you want
valueType?enumWhether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.
createCreate a metricDescriptors
getGet a metricDescriptors
ArgumentTypeDescription
identifierstringThe name of the metricDescriptors
deleteDelete the metricDescriptors
ArgumentTypeDescription
identifierstringThe name of the metricDescriptors
syncSync metricDescriptors state from GCP

Resources

state(infinite)— Defines a metric type and its schema. Once a metric descriptor is created, de...
@swamp/gcp/monitoring/monitoredresourcedescriptorsv2026.04.23.1monitoredresourcedescriptors.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a monitoredResourceDescriptors
ArgumentTypeDescription
identifierstringThe name of the monitoredResourceDescriptors
syncSync monitoredResourceDescriptors state from GCP

Resources

state(infinite)— An object that describes the schema of a MonitoredResource object using a typ...
@swamp/gcp/monitoring/notificationchanneldescriptorsv2026.04.23.1notificationchanneldescriptors.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a notificationChannelDescriptors
ArgumentTypeDescription
identifierstringThe name of the notificationChannelDescriptors
syncSync notificationChannelDescriptors state from GCP

Resources

state(infinite)— A description of a notification channel. The descriptor includes the properti...
@swamp/gcp/monitoring/notificationchannelsv2026.04.23.1notificationchannels.ts

Global Arguments

ArgumentTypeDescription
creationRecord?objectDescribes a change made to a configuration.
description?stringAn optional human-readable description of this notification channel. This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters.
displayName?stringAn 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.
enabled?booleanWhether 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.
labels?recordConfiguration 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.
mutationRecords?arrayRecords of the modification of this channel.
name?stringIdentifier. The full REST resource name for this channel. The format is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] is automatically assigned by the server on creation.
type?stringThe type of the notification channel. This field matches the value of the NotificationChannelDescriptor.type field.
userLabels?recordUser-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?enumIndicates 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 ch
createCreate a notificationChannels
getGet a notificationChannels
ArgumentTypeDescription
identifierstringThe name of the notificationChannels
updateUpdate notificationChannels attributes
deleteDelete the notificationChannels
ArgumentTypeDescription
identifierstringThe name of the notificationChannels
syncSync notificationChannels state from GCP
get_verification_codeget verification code
ArgumentTypeDescription
expireTime?any
send_verification_codesend verification code
verifyverify
ArgumentTypeDescription
code?any

Resources

state(infinite)— A NotificationChannel is a medium through which an alert is delivered when a ...
@swamp/gcp/monitoring/servicesv2026.04.23.1services.ts

Global Arguments

ArgumentTypeDescription
appEngine?objectApp Engine service. Learn more at https://cloud.google.com/appengine.
basicService?objectA well-known service type, defined by its service type and service labels. Documentation and examples here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
cloudEndpoints?objectCloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
cloudRun?objectCloud Run service. Learn more at https://cloud.google.com/run.
clusterIstio?objectIstio service scoped to a single Kubernetes cluster. Learn more at https://istio.io. Clusters running OSS Istio will have their services ingested as this type.
custom?objectUse a custom service to designate a service that you want to monitor when none of the other service types (like App Engine, Cloud Run, or a GKE type) matches your intended service.
displayName?stringName used for UI elements listing this Service.
gkeNamespace?objectGKE Namespace. The field names correspond to the resource metadata labels on monitored resources that fall under a namespace (for example, k8s_container or k8s_pod).
gkeService?objectGKE Service. The "service" here represents a Kubernetes service object (https://kubernetes.io/docs/concepts/services-networking/service). The field names correspond to the resource labels on k8s_service monitored resources (https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
gkeWorkload?objectA GKE Workload (Deployment, StatefulSet, etc). The field names correspond to the metadata labels on monitored resources that fall under a workload (for example, k8s_container or k8s_pod).
istioCanonicalService?objectCanonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1.6.8 will have their services ingested as this type.
meshIstio?objectIstio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type.
name?stringIdentifier. Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
telemetry?objectConfiguration for how to query telemetry on a Service.
userLabels?recordLabels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
serviceId?stringOptional. The Service id to use for this Service. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\\-]+
parent?stringThe parent resource name (e.g., projects/my-project/locations/us-central1, organizations/123, folders/456)
createCreate a services
getGet a services
ArgumentTypeDescription
identifierstringThe name of the services
updateUpdate services attributes
deleteDelete the services
ArgumentTypeDescription
identifierstringThe name of the services
syncSync services state from GCP

Resources

state(infinite)— A Service is a discrete, autonomous, and network-accessible unit, designed to...
@swamp/gcp/monitoring/services-servicelevelobjectivesv2026.04.23.1services_servicelevelobjectives.ts

Global Arguments

ArgumentTypeDescription
calendarPeriod?enumA calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
displayName?stringName used for UI elements listing this SLO.
goal?numberThe fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.9999.
name?stringIdentifier. Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
rollingPeriod?stringA rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days.
serviceLevelIndicator?objectA Service-Level Indicator (SLI) describes the "performance" of a service. For some services, the SLI is well-defined. In such cases, the SLI can be described easily by referencing the well-known SLI and providing the needed parameters. Alternatively, a "custom" SLI can be defined with a query to the underlying metric store. An SLI is defined to be good_service / total_service over any queried time interval. The value of performance always falls into the range 0 <= performance <= 1. A custom SLI
userLabels?recordLabels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
serviceLevelObjectiveId?stringOptional. The ServiceLevelObjective id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. Must match the pattern ^[a-zA-Z0-9-_:.]+$
parent?stringThe parent resource name (e.g., projects/my-project/locations/us-central1, organizations/123, folders/456)
createCreate a serviceLevelObjectives
getGet a serviceLevelObjectives
ArgumentTypeDescription
identifierstringThe name of the serviceLevelObjectives
updateUpdate serviceLevelObjectives attributes
deleteDelete the serviceLevelObjectives
ArgumentTypeDescription
identifierstringThe name of the serviceLevelObjectives
syncSync serviceLevelObjectives state from GCP

Resources

state(infinite)— A Service-Level Objective (SLO) describes a level of desired good service. It...
@swamp/gcp/monitoring/snoozesv2026.04.23.1snoozes.ts

Global Arguments

ArgumentTypeDescription
criteria?objectCriteria specific to the AlertPolicys that this Snooze applies to. The Snooze will suppress alerts that come from one of the AlertPolicys whose names are supplied.
displayName?stringRequired. A display name for the Snooze. This can be, at most, 512 unicode characters.
intervalobject
name?stringRequired. Identifier. The name of the Snooze. The format is: projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] The ID of the Snooze will be generated by the system.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a snoozes
getGet a snoozes
ArgumentTypeDescription
identifierstringThe name of the snoozes
updateUpdate snoozes attributes
syncSync snoozes state from GCP

Resources

state(infinite)— A Snooze will prevent any alerts from being opened, and close any that are al...
@swamp/gcp/monitoring/timeseriesv2026.04.23.1timeseries.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a timeSeries
ArgumentTypeDescription
identifierstringThe name of the timeSeries
syncSync timeSeries state from GCP

Resources

state(infinite)— The Status type defines a logical error model that is suitable for different ...
@swamp/gcp/monitoring/uptimecheckconfigsv2026.04.23.1uptimecheckconfigs.ts

Global Arguments

ArgumentTypeDescription
checkerType?enumThe type of checkers to use to execute the Uptime check.
contentMatchers?arrayThe content that is expected to appear in the data returned by the target server against which the check is run. Currently, only the first entry in the content_matchers list is supported, and additional entries will be ignored. This field is optional and should only be specified if a content match is required as part of the/ Uptime check.
disabled?booleanWhether the check is disabled or not.
displayName?stringA human-friendly name for the Uptime check configuration. The display name should be unique within a Cloud Monitoring Workspace in order to make it easier to identify; however, uniqueness is not enforced. Required.
httpCheck?objectInformation involved in an HTTP/HTTPS Uptime check request.
logCheckFailures?booleanTo specify whether to log the results of failed probes to Cloud Logging.
monitoredResource?objectAn object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource\
name?stringIdentifier. A unique resource name for this Uptime check configuration. The format is: projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] [PROJECT_ID_OR_NUMBER] is the Workspace host project associated with the Uptime check.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.
period?stringHow often, in seconds, the Uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 60s.
resourceGroup?objectThe resource submessage for group checks. It can be used instead of a monitored resource, when multiple resources are being monitored.
selectedRegions?arrayThe list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions must be provided to include a minimum of 3 locations. Not specifying this field will result in Uptime checks running from all available regions.
syntheticMonitor?objectDescribes a Synthetic Monitor to be invoked by Uptime.
tcpCheck?objectInformation required for a TCP Uptime check request.
timeout?stringThe maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.
userLabels?recordUser-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig 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.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a uptimeCheckConfigs
getGet a uptimeCheckConfigs
ArgumentTypeDescription
identifierstringThe name of the uptimeCheckConfigs
updateUpdate uptimeCheckConfigs attributes
deleteDelete the uptimeCheckConfigs
ArgumentTypeDescription
identifierstringThe name of the uptimeCheckConfigs
syncSync uptimeCheckConfigs state from GCP

Resources

state(infinite)— This message configures which resources and services to monitor for availabil...
@swamp/gcp/monitoring/uptimecheckipsv2026.04.23.1uptimecheckips.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a uptimeCheckIps
ArgumentTypeDescription
identifierstringThe name of the uptimeCheckIps
syncSync uptimeCheckIps state from GCP

Resources

state(infinite)— Contains the region, location, and list of IP addresses where checkers in the...