UNPKG

@google-cloud/monitoring

Version:
807 lines 72.7 kB
import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax'; import { Transform } from 'stream'; import * as protos from '../../protos/protos'; /** * The Cloud Monitoring Service-Oriented Monitoring API has endpoints for * managing and querying aspects of a Metrics Scope's services. These include * the `Service`'s monitored resources, its Service-Level Objectives, and a * taxonomy of categorized Health Metrics. * @class * @memberof v3 */ export declare class ServiceMonitoringServiceClient { private _terminated; private _opts; private _providedCustomServicePath; private _gaxModule; private _gaxGrpc; private _protos; private _defaults; private _universeDomain; private _servicePath; private _log; auth: gax.GoogleAuth; descriptors: Descriptors; warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: { [name: string]: Function; }; pathTemplates: { [name: string]: gax.PathTemplate; }; serviceMonitoringServiceStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of ServiceMonitoringServiceClient. * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. * @param {string} [options.projectId] - The project ID from the Google * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you * need to avoid loading the default gRPC version and want to use the fallback * HTTP implementation. Load only fallback version and pass it to the constructor: * ``` * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC * const client = new ServiceMonitoringServiceClient({fallback: true}, gax); * ``` */ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback); /** * Initialize the client. * Performs asynchronous operations (such as authentication) and prepares the client. * This function will be called automatically when any class method is called for the * first time, but if you need to initialize it before calling an actual method, * feel free to call initialize() directly. * * You can await on this method if you want to make sure the client is initialized. * * @returns {Promise} A promise that resolves to an authenticated service stub. */ initialize(): Promise<{ [name: string]: Function; }>; /** * The DNS address for this API service. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get servicePath(): string; /** * The DNS address for this API service - same as servicePath. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get apiEndpoint(): string; /** * The DNS address for this API service. * @returns {string} The DNS address for this service. */ get apiEndpoint(): string; get universeDomain(): string; /** * The port for this API service. * @returns {number} The default port for this service. */ static get port(): number; /** * The scopes needed to make gRPC calls for every method defined * in this service. * @returns {string[]} List of default scopes. */ static get scopes(): string[]; getProjectId(): Promise<string>; getProjectId(callback: Callback<string, undefined, undefined>): void; /** * Create a `Service`. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource * [name](https://cloud.google.com/monitoring/api/v3#project_name) of the * parent Metrics Scope. The format is: * * projects/[PROJECT_ID_OR_NUMBER] * @param {string} request.serviceId * Optional. The Service id to use for this Service. If omitted, an id will be * generated instead. Must match the pattern `[a-z0-9\-]+` * @param {google.monitoring.v3.Service} request.service * Required. The `Service` to create. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.Service|Service}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.create_service.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_CreateService_async */ createService(request?: protos.google.monitoring.v3.ICreateServiceRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IService, protos.google.monitoring.v3.ICreateServiceRequest | undefined, {} | undefined ]>; createService(request: protos.google.monitoring.v3.ICreateServiceRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.ICreateServiceRequest | null | undefined, {} | null | undefined>): void; createService(request: protos.google.monitoring.v3.ICreateServiceRequest, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.ICreateServiceRequest | null | undefined, {} | null | undefined>): void; /** * Get the named `Service`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the `Service`. The format is: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.Service|Service}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.get_service.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_GetService_async */ getService(request?: protos.google.monitoring.v3.IGetServiceRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IGetServiceRequest | undefined, {} | undefined ]>; getService(request: protos.google.monitoring.v3.IGetServiceRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IGetServiceRequest | null | undefined, {} | null | undefined>): void; getService(request: protos.google.monitoring.v3.IGetServiceRequest, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IGetServiceRequest | null | undefined, {} | null | undefined>): void; /** * Update this `Service`. * * @param {Object} request * The request object that will be sent. * @param {google.monitoring.v3.Service} request.service * Required. The `Service` to draw updates from. * The given `name` specifies the resource to update. * @param {google.protobuf.FieldMask} request.updateMask * A set of field paths defining which fields to use for the update. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.Service|Service}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.update_service.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_UpdateService_async */ updateService(request?: protos.google.monitoring.v3.IUpdateServiceRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IUpdateServiceRequest | undefined, {} | undefined ]>; updateService(request: protos.google.monitoring.v3.IUpdateServiceRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IUpdateServiceRequest | null | undefined, {} | null | undefined>): void; updateService(request: protos.google.monitoring.v3.IUpdateServiceRequest, callback: Callback<protos.google.monitoring.v3.IService, protos.google.monitoring.v3.IUpdateServiceRequest | null | undefined, {} | null | undefined>): void; /** * Soft delete this `Service`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the `Service` to delete. The format is: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.delete_service.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_DeleteService_async */ deleteService(request?: protos.google.monitoring.v3.IDeleteServiceRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceRequest | undefined, {} | undefined ]>; deleteService(request: protos.google.monitoring.v3.IDeleteServiceRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceRequest | null | undefined, {} | null | undefined>): void; deleteService(request: protos.google.monitoring.v3.IDeleteServiceRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceRequest | null | undefined, {} | null | undefined>): void; /** * Create a `ServiceLevelObjective` for the given `Service`. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent `Service`. The format is: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * @param {string} request.serviceLevelObjectiveId * Optional. The ServiceLevelObjective id to use for this * ServiceLevelObjective. If omitted, an id will be generated instead. Must * match the pattern `^[a-zA-Z0-9-_:.]+$` * @param {google.monitoring.v3.ServiceLevelObjective} request.serviceLevelObjective * Required. The `ServiceLevelObjective` to create. * The provided `name` will be respected if no `ServiceLevelObjective` exists * with this name. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.create_service_level_objective.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_CreateServiceLevelObjective_async */ createServiceLevelObjective(request?: protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest | undefined, {} | undefined ]>; createServiceLevelObjective(request: protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; createServiceLevelObjective(request: protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.ICreateServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; /** * Get a `ServiceLevelObjective` by name. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the `ServiceLevelObjective` to get. The format * is: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] * @param {google.monitoring.v3.ServiceLevelObjective.View} request.view * View of the `ServiceLevelObjective` to return. If `DEFAULT`, return the * `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the * `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the * `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.get_service_level_objective.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_GetServiceLevelObjective_async */ getServiceLevelObjective(request?: protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest | undefined, {} | undefined ]>; getServiceLevelObjective(request: protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; getServiceLevelObjective(request: protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IGetServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; /** * Update the given `ServiceLevelObjective`. * * @param {Object} request * The request object that will be sent. * @param {google.monitoring.v3.ServiceLevelObjective} request.serviceLevelObjective * Required. The `ServiceLevelObjective` to draw updates from. * The given `name` specifies the resource to update. * @param {google.protobuf.FieldMask} request.updateMask * A set of field paths defining which fields to use for the update. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.update_service_level_objective.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_UpdateServiceLevelObjective_async */ updateServiceLevelObjective(request?: protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest | undefined, {} | undefined ]>; updateServiceLevelObjective(request: protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, options: CallOptions, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; updateServiceLevelObjective(request: protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, callback: Callback<protos.google.monitoring.v3.IServiceLevelObjective, protos.google.monitoring.v3.IUpdateServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; /** * Delete the given `ServiceLevelObjective`. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Resource name of the `ServiceLevelObjective` to delete. The * format is: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.delete_service_level_objective.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_DeleteServiceLevelObjective_async */ deleteServiceLevelObjective(request?: protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest | undefined, {} | undefined ]>; deleteServiceLevelObjective(request: protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; deleteServiceLevelObjective(request: protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.monitoring.v3.IDeleteServiceLevelObjectiveRequest | null | undefined, {} | null | undefined>): void; /** * List `Service`s for this Metrics Scope. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed services, * either a [project](https://cloud.google.com/monitoring/api/v3#project_name) * or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER] * workspaces/[HOST_PROJECT_ID_OR_NUMBER] * @param {string} request.filter * A filter specifying what `Service`s to return. The filter supports * filtering on a particular service-identifier type or one of its attributes. * * To filter on a particular service-identifier type, the `identifier_case` * refers to which option in the `identifier` field is populated. For example, * the filter `identifier_case = "CUSTOM"` would match all services with a * value for the `custom` field. Valid options include "CUSTOM", "APP_ENGINE", * "MESH_ISTIO", and the other options listed at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * * To filter on an attribute of a service-identifier type, apply the filter * name by using the snake case of the service-identifier type and the * attribute of that service-identifier type, and join the two with a period. * For example, to filter by the `meshUid` field of the `MeshIstio` * service-identifier type, you must filter on `mesh_istio.mesh_uid = * "123"` to match all services with mesh UID "123". Service-identifier types * and their attributes are described at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.monitoring.v3.Service|Service}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listServicesAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listServices(request?: protos.google.monitoring.v3.IListServicesRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IService[], protos.google.monitoring.v3.IListServicesRequest | null, protos.google.monitoring.v3.IListServicesResponse ]>; listServices(request: protos.google.monitoring.v3.IListServicesRequest, options: CallOptions, callback: PaginationCallback<protos.google.monitoring.v3.IListServicesRequest, protos.google.monitoring.v3.IListServicesResponse | null | undefined, protos.google.monitoring.v3.IService>): void; listServices(request: protos.google.monitoring.v3.IListServicesRequest, callback: PaginationCallback<protos.google.monitoring.v3.IListServicesRequest, protos.google.monitoring.v3.IListServicesResponse | null | undefined, protos.google.monitoring.v3.IService>): void; /** * Equivalent to `listServices`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed services, * either a [project](https://cloud.google.com/monitoring/api/v3#project_name) * or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER] * workspaces/[HOST_PROJECT_ID_OR_NUMBER] * @param {string} request.filter * A filter specifying what `Service`s to return. The filter supports * filtering on a particular service-identifier type or one of its attributes. * * To filter on a particular service-identifier type, the `identifier_case` * refers to which option in the `identifier` field is populated. For example, * the filter `identifier_case = "CUSTOM"` would match all services with a * value for the `custom` field. Valid options include "CUSTOM", "APP_ENGINE", * "MESH_ISTIO", and the other options listed at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * * To filter on an attribute of a service-identifier type, apply the filter * name by using the snake case of the service-identifier type and the * attribute of that service-identifier type, and join the two with a period. * For example, to filter by the `meshUid` field of the `MeshIstio` * service-identifier type, you must filter on `mesh_istio.mesh_uid = * "123"` to match all services with mesh UID "123". Service-identifier types * and their attributes are described at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.monitoring.v3.Service|Service} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listServicesAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listServicesStream(request?: protos.google.monitoring.v3.IListServicesRequest, options?: CallOptions): Transform; /** * Equivalent to `listServices`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed services, * either a [project](https://cloud.google.com/monitoring/api/v3#project_name) * or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER] * workspaces/[HOST_PROJECT_ID_OR_NUMBER] * @param {string} request.filter * A filter specifying what `Service`s to return. The filter supports * filtering on a particular service-identifier type or one of its attributes. * * To filter on a particular service-identifier type, the `identifier_case` * refers to which option in the `identifier` field is populated. For example, * the filter `identifier_case = "CUSTOM"` would match all services with a * value for the `custom` field. Valid options include "CUSTOM", "APP_ENGINE", * "MESH_ISTIO", and the other options listed at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * * To filter on an attribute of a service-identifier type, apply the filter * name by using the snake case of the service-identifier type and the * attribute of that service-identifier type, and join the two with a period. * For example, to filter by the `meshUid` field of the `MeshIstio` * service-identifier type, you must filter on `mesh_istio.mesh_uid = * "123"` to match all services with mesh UID "123". Service-identifier types * and their attributes are described at * https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.monitoring.v3.Service|Service}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.list_services.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_ListServices_async */ listServicesAsync(request?: protos.google.monitoring.v3.IListServicesRequest, options?: CallOptions): AsyncIterable<protos.google.monitoring.v3.IService>; /** * List the `ServiceLevelObjective`s for the given `Service`. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed SLOs, either a * project or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/- * @param {string} request.filter * A filter specifying what `ServiceLevelObjective`s to return. * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {google.monitoring.v3.ServiceLevelObjective.View} request.view * View of the `ServiceLevelObjective`s to return. If `DEFAULT`, return each * `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the * `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the * `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective}. * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. * Note that it can affect your quota. * We recommend using `listServiceLevelObjectivesAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listServiceLevelObjectives(request?: protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, options?: CallOptions): Promise<[ protos.google.monitoring.v3.IServiceLevelObjective[], protos.google.monitoring.v3.IListServiceLevelObjectivesRequest | null, protos.google.monitoring.v3.IListServiceLevelObjectivesResponse ]>; listServiceLevelObjectives(request: protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, options: CallOptions, callback: PaginationCallback<protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, protos.google.monitoring.v3.IListServiceLevelObjectivesResponse | null | undefined, protos.google.monitoring.v3.IServiceLevelObjective>): void; listServiceLevelObjectives(request: protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, callback: PaginationCallback<protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, protos.google.monitoring.v3.IListServiceLevelObjectivesResponse | null | undefined, protos.google.monitoring.v3.IServiceLevelObjective>): void; /** * Equivalent to `listServiceLevelObjectives`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed SLOs, either a * project or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/- * @param {string} request.filter * A filter specifying what `ServiceLevelObjective`s to return. * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {google.monitoring.v3.ServiceLevelObjective.View} request.view * View of the `ServiceLevelObjective`s to return. If `DEFAULT`, return each * `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the * `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the * `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective} on 'data' event. * The client library will perform auto-pagination by default: it will call the API as many * times as needed. Note that it can affect your quota. * We recommend using `listServiceLevelObjectivesAsync()` * method described below for async iteration which you can stop as needed. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. */ listServiceLevelObjectivesStream(request?: protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, options?: CallOptions): Transform; /** * Equivalent to `listServiceLevelObjectives`, but returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. Resource name of the parent containing the listed SLOs, either a * project or a Monitoring Metrics Scope. The formats are: * * projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] * workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/- * @param {string} request.filter * A filter specifying what `ServiceLevelObjective`s to return. * @param {number} request.pageSize * A non-negative number that is the maximum number of results to return. * When 0, use default page size. * @param {string} request.pageToken * 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. * @param {google.monitoring.v3.ServiceLevelObjective.View} request.view * View of the `ServiceLevelObjective`s to return. If `DEFAULT`, return each * `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the * `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the * `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. * When you iterate the returned iterable, each element will be an object representing * {@link protos.google.monitoring.v3.ServiceLevelObjective|ServiceLevelObjective}. The API will be called under the hood as needed, once per the page, * so you can stop the iteration when you don't need more results. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } * for more details and examples. * @example <caption>include:samples/generated/v3/service_monitoring_service.list_service_level_objectives.js</caption> * region_tag:monitoring_v3_generated_ServiceMonitoringService_ListServiceLevelObjectives_async */ listServiceLevelObjectivesAsync(request?: protos.google.monitoring.v3.IListServiceLevelObjectivesRequest, options?: CallOptions): AsyncIterable<protos.google.monitoring.v3.IServiceLevelObjective>; /** * Return a fully-qualified folderAlertPolicy resource name string. * * @param {string} folder * @param {string} alert_policy * @returns {string} Resource name string. */ folderAlertPolicyPath(folder: string, alertPolicy: string): string; /** * Parse the folder from FolderAlertPolicy resource. * * @param {string} folderAlertPolicyName * A fully-qualified path representing folder_alert_policy resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderAlertPolicyName(folderAlertPolicyName: string): string | number; /** * Parse the alert_policy from FolderAlertPolicy resource. * * @param {string} folderAlertPolicyName * A fully-qualified path representing folder_alert_policy resource. * @returns {string} A string representing the alert_policy. */ matchAlertPolicyFromFolderAlertPolicyName(folderAlertPolicyName: string): string | number; /** * Return a fully-qualified folderAlertPolicyCondition resource name string. * * @param {string} folder * @param {string} alert_policy * @param {string} condition * @returns {string} Resource name string. */ folderAlertPolicyConditionPath(folder: string, alertPolicy: string, condition: string): string; /** * Parse the folder from FolderAlertPolicyCondition resource. * * @param {string} folderAlertPolicyConditionName * A fully-qualified path representing folder_alert_policy_condition resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderAlertPolicyConditionName(folderAlertPolicyConditionName: string): string | number; /** * Parse the alert_policy from FolderAlertPolicyCondition resource. * * @param {string} folderAlertPolicyConditionName * A fully-qualified path representing folder_alert_policy_condition resource. * @returns {string} A string representing the alert_policy. */ matchAlertPolicyFromFolderAlertPolicyConditionName(folderAlertPolicyConditionName: string): string | number; /** * Parse the condition from FolderAlertPolicyCondition resource. * * @param {string} folderAlertPolicyConditionName * A fully-qualified path representing folder_alert_policy_condition resource. * @returns {string} A string representing the condition. */ matchConditionFromFolderAlertPolicyConditionName(folderAlertPolicyConditionName: string): string | number; /** * Return a fully-qualified folderChannelDescriptor resource name string. * * @param {string} folder * @param {string} channel_descriptor * @returns {string} Resource name string. */ folderChannelDescriptorPath(folder: string, channelDescriptor: string): string; /** * Parse the folder from FolderChannelDescriptor resource. * * @param {string} folderChannelDescriptorName * A fully-qualified path representing folder_channel_descriptor resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderChannelDescriptorName(folderChannelDescriptorName: string): string | number; /** * Parse the channel_descriptor from FolderChannelDescriptor resource. * * @param {string} folderChannelDescriptorName * A fully-qualified path representing folder_channel_descriptor resource. * @returns {string} A string representing the channel_descriptor. */ matchChannelDescriptorFromFolderChannelDescriptorName(folderChannelDescriptorName: string): string | number; /** * Return a fully-qualified folderGroup resource name string. * * @param {string} folder * @param {string} group * @returns {string} Resource name string. */ folderGroupPath(folder: string, group: string): string; /** * Parse the folder from FolderGroup resource. * * @param {string} folderGroupName * A fully-qualified path representing folder_group resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderGroupName(folderGroupName: string): string | number; /** * Parse the group from FolderGroup resource. * * @param {string} folderGroupName * A fully-qualified path representing folder_group resource. * @returns {string} A string representing the group. */ matchGroupFromFolderGroupName(folderGroupName: string): string | number; /** * Return a fully-qualified folderNotificationChannel resource name string. * * @param {string} folder * @param {string} notification_channel * @returns {string} Resource name string. */ folderNotificationChannelPath(folder: string, notificationChannel: string): string; /** * Parse the folder from FolderNotificationChannel resource. * * @param {string} folderNotificationChannelName * A fully-qualified path representing folder_notification_channel resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderNotificationChannelName(folderNotificationChannelName: string): string | number; /** * Parse the notification_channel from FolderNotificationChannel resource. * * @param {string} folderNotificationChannelName * A fully-qualified path representing folder_notification_channel resource. * @returns {string} A string representing the notification_channel. */ matchNotificationChannelFromFolderNotificationChannelName(folderNotificationChannelName: string): string | number; /** * Return a fully-qualified folderService resource name string. * * @param {string} folder * @param {string} service * @returns {string} Resource name string. */ folderServicePath(folder: string, service: string): string; /** * Parse the folder from FolderService resource. * * @param {string} folderServiceName * A fully-qualified path representing folder_service resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderServiceName(folderServiceName: string): string | number; /** * Parse the service from FolderService resource. * * @param {string} folderServiceName * A fully-qualified path representing folder_service resource. * @returns {string} A string representing the service. */ matchServiceFromFolderServiceName(folderServiceName: string): string | number; /** * Return a fully-qualified folderServiceServiceLevelObjective resource name string. * * @param {string} folder * @param {string} service * @param {string} service_level_objective * @returns {string} Resource name string. */ folderServiceServiceLevelObjectivePath(folder: string, service: string, serviceLevelObjective: string): string; /** * Parse the folder from FolderServiceServiceLevelObjective resource. * * @param {string} folderServiceServiceLevelObjectiveName * A fully-qualified path representing folder_service_service_level_objective resource. * @returns {string} A string representing the folder. */ matchFolderFromFolderServiceServiceLevelObjectiveName(folderServiceServiceLevelObjectiveName: string): string | number; /** * Parse the service from FolderServiceServiceLevelObjective resource. * * @param {string} folderServiceServiceLevelObjectiveName * A fully-qualified path representing folder_service_service_level_objective resource. * @returns {string} A string representing the service. */ matchServiceFromFolderServiceServiceLevelObjectiveName(folderServiceServiceLevelObjectiveName: string): string | number; /** * Parse the service_level_objective from FolderServiceServiceLevelObjective resource. * * @param {string} folderServiceServiceLevelObjectiveName * A fully-qualified path representing folder_service_service_level_objective resource. * @returns {string} A string representing the service_level_objective. */ matchServiceLe