UNPKG

googleapis

Version:
1,228 lines 153 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Stackdriver Monitoring API * * Manages your Stackdriver Monitoring data and configurations. Most projects * must be associated with a Stackdriver account, with a few exceptions as noted * on the individual method pages. * * @example * const google = require('googleapis'); * const monitoring = google.monitoring('v3'); * * @namespace monitoring * @type {Function} * @version v3 * @variation v3 * @param {object=} options Options for Monitoring */ export declare class Monitoring { _options: GlobalOptions; google: GoogleApis; root: this; projects: Resource$Projects; uptimeCheckIps: Resource$Uptimecheckips; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } /** * 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. */ export interface Schema$Aggregation { /** * 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. */ alignmentPeriod: string; /** * 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. */ crossSeriesReducer: 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. */ groupByFields: string[]; /** * 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. */ perSeriesAligner: string; } /** * 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. */ export interface Schema$AlertPolicy { /** * How to combine the results of multiple conditions to determine if an * incident should be opened. */ combiner: string; /** * 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. */ conditions: Schema$Condition[]; /** * 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. */ creationRecord: Schema$MutationRecord; /** * 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. */ displayName: string; /** * 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. */ documentation: Schema$Documentation; /** * 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. */ enabled: boolean; /** * 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. */ mutationRecord: Schema$MutationRecord; /** * Required if the policy exists. The resource name for this policy. The * syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] * [ALERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy is * created. When calling the alertPolicies.create method, do not include the * name field in the alerting policy passed as part of the request. */ name: 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 method. The syntax of the entries in this field * is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] */ notificationChannels: string[]; /** * 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. */ userLabels: any; } /** * 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. */ export interface Schema$BasicAuthentication { /** * The password to authenticate. */ password: string; /** * The username to authenticate. */ username: string; } /** * BucketOptions describes the bucket boundaries used to create a histogram for * the distribution. The buckets can be in a linear sequence, an exponential * sequence, or each bucket can be specified explicitly. BucketOptions does not * include the number of values in each bucket.A bucket has an inclusive lower * bound and exclusive upper bound for the values that are counted for that * bucket. The upper bound of a bucket must be strictly greater than the lower * bound. The sequence of N buckets for a distribution consists of an underflow * bucket (number 0), zero or more finite buckets (number 1 through N - 2) and * an overflow bucket (number N - 1). The buckets are contiguous: the lower * bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. * The buckets span the whole range of finite values: lower bound of the * underflow bucket is -infinity and the upper bound of the overflow bucket is * +infinity. The finite buckets are so-called because both bounds are finite. */ export interface Schema$BucketOptions { /** * The explicit buckets. */ explicitBuckets: Schema$Explicit; /** * The exponential buckets. */ exponentialBuckets: Schema$Exponential; /** * The linear bucket. */ linearBuckets: Schema$Linear; } /** * A collection of data points sent from a collectd-based plugin. See the * collectd documentation for more information. */ export interface Schema$CollectdPayload { /** * The end time of the interval. */ endTime: string; /** * The measurement metadata. Example: "process_id" -> 12345 */ metadata: any; /** * The name of the plugin. Example: "disk". */ plugin: string; /** * The instance name of the plugin Example: "hdcl". */ pluginInstance: string; /** * The start time of the interval. */ startTime: string; /** * The measurement type. Example: "memory". */ type: string; /** * The measurement type instance. Example: "used". */ typeInstance: string; /** * The measured values during this time interval. Each value must have a * different dataSourceName. */ values: Schema$CollectdValue[]; } /** * Describes the error status for payloads that were not written. */ export interface Schema$CollectdPayloadError { /** * Records the error status for the payload. If this field is present, the * partial errors for nested values won't be populated. */ error: Schema$Status; /** * The zero-based index in CreateCollectdTimeSeriesRequest.collectd_payloads. */ index: number; /** * Records the error status for values that were not written due to an * error.Failed payloads for which nothing is written will not include partial * value errors. */ valueErrors: Schema$CollectdValueError[]; } /** * A single data point from a collectd-based plugin. */ export interface Schema$CollectdValue { /** * The data source for the collectd value. For example there are two data * sources for network measurements: "rx" and "tx". */ dataSourceName: string; /** * The type of measurement. */ dataSourceType: string; /** * The measurement value. */ value: Schema$TypedValue; } /** * Describes the error status for values that were not written. */ export interface Schema$CollectdValueError { /** * Records the error status for the value. */ error: Schema$Status; /** * The zero-based index in CollectdPayload.values within the parent * CreateCollectdTimeSeriesRequest.collectd_payloads. */ index: number; } /** * 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. */ export interface Schema$Condition { /** * A condition that checks that a time series continues to receive new data * points. */ conditionAbsent: Schema$MetricAbsence; /** * A condition that compares a time series against a threshold. */ conditionThreshold: Schema$MetricThreshold; /** * 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. */ displayName: string; /** * Required if the condition exists. The unique resource name for this * condition. Its syntax is: * projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] * [CONDITION_ID] is assigned by Stackdriver Monitoring when the condition is * created as part of a new or updated alerting policy.When calling the * alertPolicies.create 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. */ name: string; } /** * Used to perform string matching. Currently, this matches on the exact * content. In the future, it can be expanded to allow for regular expressions * and more complex matching. */ export interface Schema$ContentMatcher { /** * String content to match (max 1024 bytes) */ content: string; } /** * The CreateCollectdTimeSeries request. */ export interface Schema$CreateCollectdTimeSeriesRequest { /** * The collectd payloads representing the time series data. You must not * include more than a single point for each time series, so no two payloads * can have the same values for all of the fields plugin, plugin_instance, * type, and type_instance. */ collectdPayloads: Schema$CollectdPayload[]; /** * The version of collectd that collected the data. Example: * "5.3.0-192.el6". */ collectdVersion: string; /** * The monitored resource associated with the time series. */ resource: Schema$MonitoredResource; } /** * The CreateCollectdTimeSeries response. */ export interface Schema$CreateCollectdTimeSeriesResponse { /** * Records the error status for points that were not written due to an * error.Failed requests for which nothing is written will return an error * response instead. */ payloadErrors: Schema$CollectdPayloadError[]; } /** * The CreateTimeSeries request. */ export interface Schema$CreateTimeSeriesRequest { /** * 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. */ timeSeries: Schema$TimeSeries[]; } /** * Distribution contains summary statistics for a population of values. It * optionally contains a histogram representing the distribution of those values * across a set of buckets.The summary statistics are the count, mean, sum of * the squared deviation from the mean, the minimum, and the maximum of the set * of population of values. The histogram is based on a sequence of buckets and * gives a count of values that fall into each bucket. The boundaries of the * buckets are given either explicitly or by formulas for buckets of fixed or * exponentially increasing widths.Although it is not forbidden, it is generally * a bad idea to include non-finite values (infinities or NaNs) in the * population of values, as this will render the mean and * sum_of_squared_deviation fields meaningless. */ export interface Schema$Distribution { /** * Required in the Stackdriver Monitoring API v3. The values for each bucket * specified in bucket_options. The sum of the values in bucketCounts must * equal the value in the count field of the Distribution object. The order of * the bucket counts follows the numbering schemes described for the three * bucket types. The underflow bucket has number 0; the finite buckets, if * any, have numbers 1 through N-2; and the overflow bucket has number N-1. * The size of bucket_counts must not be greater than N. If the size is less * than N, then the remaining buckets are assigned values of zero. */ bucketCounts: string[]; /** * Required in the Stackdriver Monitoring API v3. Defines the histogram bucket * boundaries. */ bucketOptions: Schema$BucketOptions; /** * The number of values in the population. Must be non-negative. This value * must equal the sum of the values in bucket_counts if a histogram is * provided. */ count: string; /** * The arithmetic mean of the values in the population. If count is zero then * this field must be zero. */ mean: number; /** * If specified, contains the range of the population values. The field must * not be present if the count is zero. This field is presently ignored by the * Stackdriver Monitoring API v3. */ range: Schema$Range; /** * The sum of squared deviations from the mean of the values in the * population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, * "The Art of Computer Programming", Vol. 2, page 323, 3rd edition * describes Welford's method for accumulating this sum in one pass.If * count is zero then this field must be zero. */ sumOfSquaredDeviation: number; } /** * A content string and a MIME type that describes the content string's * format. */ export interface Schema$Documentation { /** * 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. */ content: string; /** * The format of the content field. Presently, only the value * "text/markdown" is supported. See Markdown * (https://en.wikipedia.org/wiki/Markdown) for more information. */ mimeType: string; } /** * A generic empty message that you can re-use to avoid defining duplicated * empty messages in your APIs. A typical example is to use it as the request or * the response type of an API method. For instance: service Foo { rpc * Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON * representation for Empty is empty JSON object {}. */ export interface Schema$Empty { } /** * Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 * (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i * < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds * field must contain at least one element. If bounds has only one element, then * there are no finite buckets, and that single element is the common boundary * of the overflow and underflow buckets. */ export interface Schema$Explicit { /** * The values must be monotonically increasing. */ bounds: number[]; } /** * Specifies an exponential sequence of buckets that have a width that is * proportional to the value of the lower bound. Each bucket represents a * constant relative uncertainty on a specific value in the bucket.There are * num_finite_buckets + 2 (= N) buckets. Bucket i has the following * boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). * Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). */ export interface Schema$Exponential { /** * Must be greater than 1. */ growthFactor: number; /** * Must be greater than 0. */ numFiniteBuckets: number; /** * Must be greater than 0. */ scale: number; } /** * A single field of a message type. */ export interface Schema$Field { /** * The field cardinality. */ cardinality: string; /** * The string value of the default value of this field. Proto2 syntax only. */ defaultValue: string; /** * The field JSON name. */ jsonName: string; /** * The field type. */ kind: string; /** * The field name. */ name: string; /** * The field number. */ number: number; /** * The index of the field type in Type.oneofs, for message or enumeration * types. The first type has index 1; zero means the type is not in the list. */ oneofIndex: number; /** * The protocol buffer options. */ options: Schema$Option[]; /** * Whether to use alternative packed wire representation. */ packed: boolean; /** * The field type URL, without the scheme, for message or enumeration types. * Example: "type.googleapis.com/google.protobuf.Timestamp". */ typeUrl: string; } /** * The GetNotificationChannelVerificationCode request. */ export interface Schema$GetNotificationChannelVerificationCodeRequest { /** * 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). */ expireTime: string; } /** * The GetNotificationChannelVerificationCode request. */ export interface Schema$GetNotificationChannelVerificationCodeResponse { /** * 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). */ code: string; /** * 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. */ expireTime: string; } /** * 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. */ export interface Schema$Group { /** * A user-assigned name for this group, used only for display purposes. */ displayName: string; /** * The filter used to determine which monitored resources belong to this * group. */ filter: string; /** * If true, the members of this group are considered to be a cluster. The * system can perform additional analysis on groups that are clusters. */ isCluster: boolean; /** * 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. */ name: 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, "". */ parentName: string; } /** * Information involved in an HTTP/HTTPS uptime check request. */ export interface Schema$HttpCheck { /** * The authentication information. Optional when creating an HTTP check; * defaults to empty. */ authInfo: Schema$BasicAuthentication; /** * 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. */ headers: any; /** * 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 ******. */ maskHeaders: boolean; /** * 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 "/"). */ path: string; /** * 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). */ port: number; /** * If true, use HTTPS instead of HTTP to run the check. */ useSsl: boolean; } /** * Nimbus InternalCheckers. */ export interface Schema$InternalChecker { /** * The checker ID. */ checkerId: string; /** * The checker's human-readable name. */ displayName: string; /** * The GCP zone the uptime check should egress from. Only respected for * internal uptime checks, where internal_network is specified. */ gcpZone: string; /** * The internal network to perform this uptime check on. */ network: string; /** * The GCP project ID. Not necessarily the same as the project_id for the * config. */ projectId: string; } /** * A description of a label. */ export interface Schema$LabelDescriptor { /** * A human-readable description for the label. */ description: string; /** * The label key. */ key: string; /** * The type of data that can be assigned to the label. */ valueType: string; } /** * Specifies a linear sequence of buckets that all have the same width (except * overflow and underflow). Each bucket represents a constant absolute * uncertainty on the specific value in the bucket.There are num_finite_buckets * + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= * i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + * (width * (i - 1)). */ export interface Schema$Linear { /** * Must be greater than 0. */ numFiniteBuckets: number; /** * Lower bound of the first bucket. */ offset: number; /** * Must be greater than 0. */ width: number; } /** * The protocol for the ListAlertPolicies response. */ export interface Schema$ListAlertPoliciesResponse { /** * The returned alert policies. */ alertPolicies: Schema$AlertPolicy[]; /** * 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. */ nextPageToken: string; } /** * The ListGroupMembers response. */ export interface Schema$ListGroupMembersResponse { /** * A set of monitored resources in the group. */ members: Schema$MonitoredResource[]; /** * 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. */ nextPageToken: string; /** * The total number of elements matching this request. */ totalSize: number; } /** * The ListGroups response. */ export interface Schema$ListGroupsResponse { /** * The groups that match the specified filters. */ group: Schema$Group[]; /** * If there are more results than have been returned, then this field is set * to a non-empty value. To see the additional results, use that value as * pageToken in the next call to this method. */ nextPageToken: string; } /** * The ListMetricDescriptors response. */ export interface Schema$ListMetricDescriptorsResponse { /** * The metric descriptors that are available to the project and that match the * value of filter, if present. */ metricDescriptors: Schema$MetricDescriptor[]; /** * 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. */ nextPageToken: string; } /** * The ListMonitoredResourceDescriptors response. */ export interface Schema$ListMonitoredResourceDescriptorsResponse { /** * 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. */ nextPageToken: string; /** * The monitored resource descriptors that are available to this project and * that match filter, if present. */ resourceDescriptors: Schema$MonitoredResourceDescriptor[]; } /** * The ListNotificationChannelDescriptors response. */ export interface Schema$ListNotificationChannelDescriptorsResponse { /** * The monitored resource descriptors supported for the specified project, * optionally filtered. */ channelDescriptors: Schema$NotificationChannelDescriptor[]; /** * 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. */ nextPageToken: string; } /** * The ListNotificationChannels response. */ export interface Schema$ListNotificationChannelsResponse { /** * 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. */ nextPageToken: string; /** * The notification channels defined for the specified project. */ notificationChannels: Schema$NotificationChannel[]; } /** * The ListTimeSeries response. */ export interface Schema$ListTimeSeriesResponse { /** * 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. */ nextPageToken: string; /** * One or more time series that match the filter included in the request. */ timeSeries: Schema$TimeSeries[]; } /** * The protocol for the ListUptimeCheckConfigs response. */ export interface Schema$ListUptimeCheckConfigsResponse { /** * 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). */ nextPageToken: string; /** * The total number of uptime check configurations for the project, * irrespective of any pagination. */ totalSize: number; /** * The returned uptime check configurations. */ uptimeCheckConfigs: Schema$UptimeCheckConfig[]; } /** * The protocol for the ListUptimeCheckIps response. */ export interface Schema$ListUptimeCheckIpsResponse { /** * 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 */ nextPageToken: string; /** * The returned list of IP addresses (including region and location) that the * checkers run from. */ uptimeCheckIps: Schema$UptimeCheckIp[]; } /** * A specific metric, identified by specifying values for all of the labels of a * MetricDescriptor. */ export interface Schema$Metric { /** * The set of label values that uniquely identify this metric. All labels * listed in the MetricDescriptor must be assigned values. */ labels: any; /** * An existing metric type, see google.api.MetricDescriptor. For example, * custom.googleapis.com/invoice/paid/amount. */ type: string; } /** * 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. */ export interface Schema$MetricAbsence { /** * 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. */ aggregations: Schema$Aggregation[]; /** * 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. */ duration: 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. */ filter: string; /** * 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. */ trigger: Schema$Trigger; } /** * Defines a metric type and its schema. Once a metric descriptor is created, * deleting or altering it stops data collection and makes the metric type's * existing data unusable. */ export interface Schema$MetricDescriptor { /** * A detailed description of the metric, which can be used in documentation. */ description: string; /** * A concise name for the metric, which can be displayed in user interfaces. * Use sentence case without an ending period, for example "Request * count". This field is optional but it is recommended to be set for any * metrics associated with user-visible concepts, such as Quota. */ displayName: string; /** * The set of labels that can be used to describe a specific instance of this * metric type. For example, the * appengine.googleapis.com/http/server/response_latencies metric type has a * label for the HTTP response code, response_code, so you can look at * latencies for successful responses or just for responses that failed. */ labels: Schema$LabelDescriptor[]; /** * Whether the metric records instantaneous values, changes to a value, etc. * Some combinations of metric_kind and value_type might not be supported. */ metricKind: string; /** * The resource name of the metric descriptor. */ name: string; /** * The metric type, including its DNS name prefix. The type is not * URL-encoded. All user-defined custom metric types have the DNS name * custom.googleapis.com. Metric types should use a natural hierarchical * grouping. For example: * "custom.googleapis.com/invoice/paid/amount" * "appengine.googleapis.com/http/server/response_latencies" */ type: string; /** * Optional. The unit in which the metric value is reported. For example, * kBy/s means kilobytes/sec, and 1 is the dimensionless unit. The supported * units are a subset of The Unified Code for Units of Measure standard * (http://unitsofmeasure.org/ucum.html).<br><br> This field is * part of the metric's documentation, but it is ignored by Stackdriver. */ unit: string; /** * Whether the measurement is an integer, a floating-point number, etc. Some * combinations of metric_kind and value_type might not be supported. */ valueType: string; } /** * A condition type that compares a collection of time series against a * threshold. */ export interface Schema$MetricThreshold { /** * 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. */ aggregations: Schema$Aggregation[]; /** * 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. */ comparison: string; /** * 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. */ denominatorAggregations: Schema$Aggregation[]; /** * 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. */ denominatorFilter: string; /** * 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. 60, 120, or 300 seconds--are supported. If an invalid value is * given, an error will be returned. The Duration.nanos field is ignored. 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 aggregation 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. */ duration: 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. */ filter: string; /** * A value against which to compare the time series. */ thresholdValue: number; /** * 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. */ trigger: Schema$Trigger; } /** * An object representing a resource that can be used for monitoring, logging, * billing, or other purposes. Examples include virtual machine instances, * databases, and storage devices such as disks. The type field identifies a * MonitoredResourceDescriptor object that describes the resource's schema. * Information in the labels field identifies the actual resource and its * attributes according to the schema. For example, a particular Compute Engine * VM instance could be represented by the following object, because the * MonitoredResourceDescriptor for "gce_instance" has labels * "instance_id" and "zone": { "type": * "gce_instance", "labels": { "instance_id": * "12345678901234", "zone": * "us-central1-a" }} */ export interface Schema$MonitoredResource { /** * Required. Values for all of the labels listed in the associated monitored * resource descriptor. For example, Compute Engine VM instances use the * labels "project_id", "instance_id", and * "zone". */ labels: any; /** * Required. The monitored resource type. This field must match the type field * of a MonitoredResourceDescriptor object. For example, the type of a Compute * Engine VM instance is gce_instance. */ type: string; } /** * An object that describes the schema of a MonitoredResource object using a * type name and a set of labels. For example, the monitored resource descriptor * for Google Compute Engine VM instances has a type of "gce_instance" * and specifies the use of the labels "instance_id" and * "zone" to identify particular VM instances.Different APIs can * support different monitored resource types. APIs generally provide a list * method that returns the monitored resource descriptors used by the API. */ export interface Schema$MonitoredResourceDescriptor { /** * Optional. A detailed description of the monitored resource type that might * be used in documentation. */ description: string; /** * Optional. A concise name for the monitored resource type that might be * displayed in user interfaces. It should be a Title Cased Noun Phrase, * without any article or other determiners. For example, "Google Cloud * SQL Database". */ displayName: string; /** * Required. A set of labels used to describe instances of this monitored * resource type. For example, an individual Google Cloud SQL database is * identified by values for the labels "database_id" and * "zone". */ labels: Schema$LabelDescriptor[]; /** * Optional. The resource name of the monitored resource descriptor: * "projects/{project_id}/monitoredResourceDescriptors/{type}" where * {type} is the value of the type field in this object and {project_id} is a * project ID that provides API-specific context for accessing the type. APIs * that do not use project information can use the resource name format * "monitoredResourceDescriptors/{type}". */ name: string; /** * Required. The monitored resource type. For example, the type * "cloudsql_database" represents databases in Google Cloud SQL. The * maximum length of this value is 256 characters. */ type: string; } /** * Auxiliary metadata for a MonitoredResource object. MonitoredResource objects * contain the minimum set of information to uniquely identify a monitored * resource instance. There is some other useful auxiliary metadata. Google * Stackdriver Monitoring & Logging uses an ingestion pipeline to extract * metadata for cloud resources of all types , and stores the metadata in this * message. */ export interface Schema$MonitoredResourceMetadata { /** * Output only. Values for predefined system metadata labels. System labels * are a kind of metadata extracted by Google Stackdriver. Stackdriver * determines what system labels are useful and how to obtain their values. * Some examples: "machine_image", "vpc", * "subnet_id", "security_group", "name", etc. * System label values can be only strings, Boolean values, or a list of * strings. For example: { "name": "my-test-instance