google-ads-api-client
Version:
A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.
398 lines (397 loc) • 16.5 kB
TypeScript
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { Timestamp } from "../../protobuf/timestamp";
import { Distribution_BucketOptions } from "../../api/distribution";
import { MetricDescriptor } from "../../api/metric";
/**
* Describes a logs-based metric. The value of the metric is the number of log
* entries that match a logs filter in a given time interval.
*
* Logs-based metrics can also be used to extract values from logs and create a
* distribution of the values. The distribution records the statistics of the
* extracted values along with an optional histogram of the values as specified
* by the bucket options.
*
* @generated from protobuf message google.logging.v2.LogMetric
*/
export interface LogMetric {
/**
* Required. The client-assigned metric identifier.
* Examples: `"error_count"`, `"nginx/requests"`.
*
* Metric identifiers are limited to 100 characters and can include only the
* following characters: `A-Z`, `a-z`, `0-9`, and the special characters
* `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of
* name pieces, and it cannot be the first character of the name.
*
* This field is the `[METRIC_ID]` part of a metric resource name in the
* format "projects/[PROJECT_ID]/metrics/[METRIC_ID]". Example: If the
* resource name of a metric is
* `"projects/my-project/metrics/nginx%2Frequests"`, this field's value is
* `"nginx/requests"`.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* Optional. A description of this metric, which is used in documentation.
* The maximum length of the description is 8000 characters.
*
* @generated from protobuf field: string description = 2;
*/
description: string;
/**
* Required. An [advanced logs
* filter](https://cloud.google.com/logging/docs/view/advanced_filters) which
* is used to match log entries. Example:
*
* "resource.type=gae_app AND severity>=ERROR"
*
* The maximum length of the filter is 20000 characters.
*
* @generated from protobuf field: string filter = 3;
*/
filter: string;
/**
* Optional. If set to True, then this metric is disabled and it does not
* generate any points.
*
* @generated from protobuf field: bool disabled = 12;
*/
disabled: boolean;
/**
* Optional. The metric descriptor associated with the logs-based metric.
* If unspecified, it uses a default metric descriptor with a DELTA metric
* kind, INT64 value type, with no labels and a unit of "1". Such a metric
* counts the number of log entries matching the `filter` expression.
*
* The `name`, `type`, and `description` fields in the `metric_descriptor`
* are output only, and is constructed using the `name` and `description`
* field in the LogMetric.
*
* To create a logs-based metric that records a distribution of log values, a
* DELTA metric kind with a DISTRIBUTION value type must be used along with
* a `value_extractor` expression in the LogMetric.
*
* Each label in the metric descriptor must have a matching label
* name as the key and an extractor expression as the value in the
* `label_extractors` map.
*
* The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot
* be updated once initially configured. New labels can be added in the
* `metric_descriptor`, but existing labels cannot be modified except for
* their description.
*
* @generated from protobuf field: google.api.MetricDescriptor metric_descriptor = 5;
*/
metricDescriptor?: MetricDescriptor;
/**
* Optional. A `value_extractor` is required when using a distribution
* logs-based metric to extract the values to record from a log entry.
* Two functions are supported for value extraction: `EXTRACT(field)` or
* `REGEXP_EXTRACT(field, regex)`. The argument are:
* 1. field: The name of the log entry field from which the value is to be
* extracted.
* 2. regex: A regular expression using the Google RE2 syntax
* (https://github.com/google/re2/wiki/Syntax) with a single capture
* group to extract data from the specified log entry field. The value
* of the field is converted to a string before applying the regex.
* It is an error to specify a regex that does not include exactly one
* capture group.
*
* The result of the extraction must be convertible to a double type, as the
* distribution always records double values. If either the extraction or
* the conversion to double fails, then those values are not recorded in the
* distribution.
*
* Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")`
*
* @generated from protobuf field: string value_extractor = 6;
*/
valueExtractor: string;
/**
* Optional. A map from a label key string to an extractor expression which is
* used to extract data from a log entry field and assign as the label value.
* Each label key specified in the LabelDescriptor must have an associated
* extractor expression in this map. The syntax of the extractor expression
* is the same as for the `value_extractor` field.
*
* The extracted value is converted to the type defined in the label
* descriptor. If the either the extraction or the type conversion fails,
* the label will have a default value. The default value for a string
* label is an empty string, for an integer label its 0, and for a boolean
* label its `false`.
*
* Note that there are upper bounds on the maximum number of labels and the
* number of active time series that are allowed in a project.
*
* @generated from protobuf field: map<string, string> label_extractors = 7;
*/
labelExtractors: {
[key: string]: string;
};
/**
* Optional. The `bucket_options` are required when the logs-based metric is
* using a DISTRIBUTION value type and it describes the bucket boundaries
* used to create a histogram of the extracted values.
*
* @generated from protobuf field: google.api.Distribution.BucketOptions bucket_options = 8;
*/
bucketOptions?: Distribution_BucketOptions;
/**
* Output only. The creation timestamp of the metric.
*
* This field may not be present for older metrics.
*
* @generated from protobuf field: google.protobuf.Timestamp create_time = 9;
*/
createTime?: Timestamp;
/**
* Output only. The last update timestamp of the metric.
*
* This field may not be present for older metrics.
*
* @generated from protobuf field: google.protobuf.Timestamp update_time = 10;
*/
updateTime?: Timestamp;
/**
* Deprecated. The API version that created or updated this metric.
* The v2 format is used by default and cannot be changed.
*
* @deprecated
* @generated from protobuf field: google.logging.v2.LogMetric.ApiVersion version = 4 [deprecated = true];
*/
version: LogMetric_ApiVersion;
}
/**
* Logging API version.
*
* @generated from protobuf enum google.logging.v2.LogMetric.ApiVersion
*/
export declare enum LogMetric_ApiVersion {
/**
* Logging API v2.
*
* @generated from protobuf enum value: V2 = 0;
*/
V2 = 0,
/**
* Logging API v1.
*
* @generated from protobuf enum value: V1 = 1;
*/
V1 = 1
}
/**
* The parameters to ListLogMetrics.
*
* @generated from protobuf message google.logging.v2.ListLogMetricsRequest
*/
export interface ListLogMetricsRequest {
/**
* Required. The name of the project containing the metrics:
*
* "projects/[PROJECT_ID]"
*
* @generated from protobuf field: string parent = 1;
*/
parent: string;
/**
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
*
* @generated from protobuf field: string page_token = 2;
*/
pageToken: string;
/**
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
*
* @generated from protobuf field: int32 page_size = 3;
*/
pageSize: number;
}
/**
* Result returned from ListLogMetrics.
*
* @generated from protobuf message google.logging.v2.ListLogMetricsResponse
*/
export interface ListLogMetricsResponse {
/**
* A list of logs-based metrics.
*
* @generated from protobuf field: repeated google.logging.v2.LogMetric metrics = 1;
*/
metrics: LogMetric[];
/**
* If there might be more results than appear in this response, then
* `nextPageToken` is included. To get the next set of results, call this
* method again using the value of `nextPageToken` as `pageToken`.
*
* @generated from protobuf field: string next_page_token = 2;
*/
nextPageToken: string;
}
/**
* The parameters to GetLogMetric.
*
* @generated from protobuf message google.logging.v2.GetLogMetricRequest
*/
export interface GetLogMetricRequest {
/**
* Required. The resource name of the desired metric:
*
* "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
*
* @generated from protobuf field: string metric_name = 1;
*/
metricName: string;
}
/**
* The parameters to CreateLogMetric.
*
* @generated from protobuf message google.logging.v2.CreateLogMetricRequest
*/
export interface CreateLogMetricRequest {
/**
* Required. The resource name of the project in which to create the metric:
*
* "projects/[PROJECT_ID]"
*
* The new metric must be provided in the request.
*
* @generated from protobuf field: string parent = 1;
*/
parent: string;
/**
* Required. The new logs-based metric, which must not have an identifier that
* already exists.
*
* @generated from protobuf field: google.logging.v2.LogMetric metric = 2;
*/
metric?: LogMetric;
}
/**
* The parameters to UpdateLogMetric.
*
* @generated from protobuf message google.logging.v2.UpdateLogMetricRequest
*/
export interface UpdateLogMetricRequest {
/**
* Required. The resource name of the metric to update:
*
* "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
*
* The updated metric must be provided in the request and it's
* `name` field must be the same as `[METRIC_ID]` If the metric
* does not exist in `[PROJECT_ID]`, then a new metric is created.
*
* @generated from protobuf field: string metric_name = 1;
*/
metricName: string;
/**
* Required. The updated metric.
*
* @generated from protobuf field: google.logging.v2.LogMetric metric = 2;
*/
metric?: LogMetric;
}
/**
* The parameters to DeleteLogMetric.
*
* @generated from protobuf message google.logging.v2.DeleteLogMetricRequest
*/
export interface DeleteLogMetricRequest {
/**
* Required. The resource name of the metric to delete:
*
* "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
*
* @generated from protobuf field: string metric_name = 1;
*/
metricName: string;
}
declare class LogMetric$Type extends MessageType<LogMetric> {
constructor();
create(value?: PartialMessage<LogMetric>): LogMetric;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogMetric): LogMetric;
private binaryReadMap7;
internalBinaryWrite(message: LogMetric, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.LogMetric
*/
export declare const LogMetric: LogMetric$Type;
declare class ListLogMetricsRequest$Type extends MessageType<ListLogMetricsRequest> {
constructor();
create(value?: PartialMessage<ListLogMetricsRequest>): ListLogMetricsRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLogMetricsRequest): ListLogMetricsRequest;
internalBinaryWrite(message: ListLogMetricsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.ListLogMetricsRequest
*/
export declare const ListLogMetricsRequest: ListLogMetricsRequest$Type;
declare class ListLogMetricsResponse$Type extends MessageType<ListLogMetricsResponse> {
constructor();
create(value?: PartialMessage<ListLogMetricsResponse>): ListLogMetricsResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLogMetricsResponse): ListLogMetricsResponse;
internalBinaryWrite(message: ListLogMetricsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.ListLogMetricsResponse
*/
export declare const ListLogMetricsResponse: ListLogMetricsResponse$Type;
declare class GetLogMetricRequest$Type extends MessageType<GetLogMetricRequest> {
constructor();
create(value?: PartialMessage<GetLogMetricRequest>): GetLogMetricRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetLogMetricRequest): GetLogMetricRequest;
internalBinaryWrite(message: GetLogMetricRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.GetLogMetricRequest
*/
export declare const GetLogMetricRequest: GetLogMetricRequest$Type;
declare class CreateLogMetricRequest$Type extends MessageType<CreateLogMetricRequest> {
constructor();
create(value?: PartialMessage<CreateLogMetricRequest>): CreateLogMetricRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateLogMetricRequest): CreateLogMetricRequest;
internalBinaryWrite(message: CreateLogMetricRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.CreateLogMetricRequest
*/
export declare const CreateLogMetricRequest: CreateLogMetricRequest$Type;
declare class UpdateLogMetricRequest$Type extends MessageType<UpdateLogMetricRequest> {
constructor();
create(value?: PartialMessage<UpdateLogMetricRequest>): UpdateLogMetricRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateLogMetricRequest): UpdateLogMetricRequest;
internalBinaryWrite(message: UpdateLogMetricRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.UpdateLogMetricRequest
*/
export declare const UpdateLogMetricRequest: UpdateLogMetricRequest$Type;
declare class DeleteLogMetricRequest$Type extends MessageType<DeleteLogMetricRequest> {
constructor();
create(value?: PartialMessage<DeleteLogMetricRequest>): DeleteLogMetricRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteLogMetricRequest): DeleteLogMetricRequest;
internalBinaryWrite(message: DeleteLogMetricRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.logging.v2.DeleteLogMetricRequest
*/
export declare const DeleteLogMetricRequest: DeleteLogMetricRequest$Type;
/**
* @generated ServiceType for protobuf service google.logging.v2.MetricsServiceV2
*/
export declare const MetricsServiceV2: ServiceType;
export {};