google-ads-api-client
Version:
A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.
708 lines (707 loc) • 27.1 kB
TypeScript
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 { Monitoring } from "../../monitoring";
import { MonitoredResourceDescriptor } from "../../monitored_resource";
import { Endpoint } from "../../endpoint";
import { Usage } from "../../usage";
import { Authentication } from "../../auth";
import { Quota } from "../../quota";
import { Documentation } from "../../documentation";
import { Api } from "../../../protobuf/api";
/**
* A service that is available for use by the consumer.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.Service
*/
export interface Service {
/**
* The resource name of the consumer and service.
*
* A valid name would be:
* - `projects/123/services/serviceusage.googleapis.com`
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The resource name of the consumer.
*
* A valid name would be:
* - `projects/123`
*
* @generated from protobuf field: string parent = 5;
*/
parent: string;
/**
* The service configuration of the available service.
* Some fields may be filtered out of the configuration in responses to
* the `ListServices` method. These fields are present only in responses to
* the `GetService` method.
*
* @generated from protobuf field: google.api.serviceusage.v1beta1.ServiceConfig config = 2;
*/
config?: ServiceConfig;
/**
* Whether or not the service has been enabled for use by the consumer.
*
* @generated from protobuf field: google.api.serviceusage.v1beta1.State state = 4;
*/
state: State;
}
/**
* The configuration of the service.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.ServiceConfig
*/
export interface ServiceConfig {
/**
* The DNS address at which this service is available.
*
* An example DNS address would be:
* `calendar.googleapis.com`.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The product title for this service.
*
* @generated from protobuf field: string title = 2;
*/
title: string;
/**
* A list of API interfaces exported by this service. Contains only the names,
* versions, and method names of the interfaces.
*
* @generated from protobuf field: repeated google.protobuf.Api apis = 3;
*/
apis: Api[];
/**
* Additional API documentation. Contains only the summary and the
* documentation URL.
*
* @generated from protobuf field: google.api.Documentation documentation = 6;
*/
documentation?: Documentation;
/**
* Quota configuration.
*
* @generated from protobuf field: google.api.Quota quota = 10;
*/
quota?: Quota;
/**
* Auth configuration. Contains only the OAuth rules.
*
* @generated from protobuf field: google.api.Authentication authentication = 11;
*/
authentication?: Authentication;
/**
* Configuration controlling usage of this service.
*
* @generated from protobuf field: google.api.Usage usage = 15;
*/
usage?: Usage;
/**
* Configuration for network endpoints. Contains only the names and aliases
* of the endpoints.
*
* @generated from protobuf field: repeated google.api.Endpoint endpoints = 18;
*/
endpoints: Endpoint[];
/**
* Defines the monitored resources used by this service. This is required
* by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
*
* @generated from protobuf field: repeated google.api.MonitoredResourceDescriptor monitored_resources = 25;
*/
monitoredResources: MonitoredResourceDescriptor[];
/**
* Monitoring configuration.
* This should not include the 'producer_destinations' field.
*
* @generated from protobuf field: google.api.Monitoring monitoring = 28;
*/
monitoring?: Monitoring;
}
/**
* The operation metadata returned for the batchend services operation.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.OperationMetadata
*/
export interface OperationMetadata {
/**
* The full name of the resources that this operation is directly
* associated with.
*
* @generated from protobuf field: repeated string resource_names = 2;
*/
resourceNames: string[];
}
/**
* Consumer quota settings for a quota metric.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.ConsumerQuotaMetric
*/
export interface ConsumerQuotaMetric {
/**
* The resource name of the quota settings on this metric for this consumer.
*
* An example name would be:
* `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus`
*
* The resource name is intended to be opaque and should not be parsed for
* its component strings, since its representation could change in the future.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The name of the metric.
*
* An example name would be:
* `compute.googleapis.com/cpus`
*
* @generated from protobuf field: string metric = 4;
*/
metric: string;
/**
* The display name of the metric.
*
* An example name would be:
* `CPUs`
*
* @generated from protobuf field: string display_name = 2;
*/
displayName: string;
/**
* The consumer quota for each quota limit defined on the metric.
*
* @generated from protobuf field: repeated google.api.serviceusage.v1beta1.ConsumerQuotaLimit consumer_quota_limits = 3;
*/
consumerQuotaLimits: ConsumerQuotaLimit[];
/**
* The quota limits targeting the descendant containers of the
* consumer in request.
*
* If the consumer in request is of type `organizations`
* or `folders`, the field will list per-project limits in the metric; if the
* consumer in request is of type `project`, the field will be empty.
*
* The `quota_buckets` field of each descendant consumer quota limit will not
* be populated.
*
* @generated from protobuf field: repeated google.api.serviceusage.v1beta1.ConsumerQuotaLimit descendant_consumer_quota_limits = 6;
*/
descendantConsumerQuotaLimits: ConsumerQuotaLimit[];
/**
* The units in which the metric value is reported.
*
* @generated from protobuf field: string unit = 5;
*/
unit: string;
}
/**
* Consumer quota settings for a quota limit.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.ConsumerQuotaLimit
*/
export interface ConsumerQuotaLimit {
/**
* The resource name of the quota limit.
*
* An example name would be:
* `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`
*
* The resource name is intended to be opaque and should not be parsed for
* its component strings, since its representation could change in the future.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The name of the parent metric of this limit.
*
* An example name would be:
* `compute.googleapis.com/cpus`
*
* @generated from protobuf field: string metric = 8;
*/
metric: string;
/**
* The limit unit.
*
* An example unit would be
* `1/{project}/{region}`
* Note that `{project}` and `{region}` are not placeholders in this example;
* the literal characters `{` and `}` occur in the string.
*
* @generated from protobuf field: string unit = 2;
*/
unit: string;
/**
* Whether this limit is precise or imprecise.
*
* @generated from protobuf field: bool is_precise = 3;
*/
isPrecise: boolean;
/**
* Whether admin overrides are allowed on this limit
*
* @generated from protobuf field: bool allows_admin_overrides = 7;
*/
allowsAdminOverrides: boolean;
/**
* Summary of the enforced quota buckets, organized by quota dimension,
* ordered from least specific to most specific (for example, the global
* default bucket, with no quota dimensions, will always appear first).
*
* @generated from protobuf field: repeated google.api.serviceusage.v1beta1.QuotaBucket quota_buckets = 9;
*/
quotaBuckets: QuotaBucket[];
}
/**
* A quota bucket is a quota provisioning unit for a specific set of dimensions.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.QuotaBucket
*/
export interface QuotaBucket {
/**
* The effective limit of this quota bucket. Equal to default_limit if there
* are no overrides.
*
* @generated from protobuf field: int64 effective_limit = 1;
*/
effectiveLimit: bigint;
/**
* The default limit of this quota bucket, as specified by the service
* configuration.
*
* @generated from protobuf field: int64 default_limit = 2;
*/
defaultLimit: bigint;
/**
* Producer override on this quota bucket.
*
* @generated from protobuf field: google.api.serviceusage.v1beta1.QuotaOverride producer_override = 3;
*/
producerOverride?: QuotaOverride;
/**
* Consumer override on this quota bucket.
*
* @generated from protobuf field: google.api.serviceusage.v1beta1.QuotaOverride consumer_override = 4;
*/
consumerOverride?: QuotaOverride;
/**
* Admin override on this quota bucket.
*
* @generated from protobuf field: google.api.serviceusage.v1beta1.QuotaOverride admin_override = 5;
*/
adminOverride?: QuotaOverride;
/**
* The dimensions of this quota bucket.
*
* If this map is empty, this is the global bucket, which is the default quota
* value applied to all requests that do not have a more specific override.
*
* If this map is nonempty, the default limit, effective limit, and quota
* overrides apply only to requests that have the dimensions given in the map.
*
* For example, if the map has key `region` and value `us-east-1`, then the
* specified effective limit is only effective in that region, and the
* specified overrides apply only in that region.
*
* @generated from protobuf field: map<string, string> dimensions = 6;
*/
dimensions: {
[key: string]: string;
};
}
/**
* A quota override
*
* @generated from protobuf message google.api.serviceusage.v1beta1.QuotaOverride
*/
export interface QuotaOverride {
/**
* The resource name of the override.
* This name is generated by the server when the override is created.
*
* Example names would be:
* `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`
* `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`
*
* The resource name is intended to be opaque and should not be parsed for
* its component strings, since its representation could change in the future.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The overriding quota limit value.
* Can be any nonnegative integer, or -1 (unlimited quota).
*
* @generated from protobuf field: int64 override_value = 2;
*/
overrideValue: bigint;
/**
* If this map is nonempty, then this override applies only to specific values
* for dimensions defined in the limit unit.
*
* For example, an override on a limit with the unit `1/{project}/{region}`
* could contain an entry with the key `region` and the value `us-east-1`;
* the override is only applied to quota consumed in that region.
*
* This map has the following restrictions:
*
* * Keys that are not defined in the limit's unit are not valid keys.
* Any string appearing in `{brackets}` in the unit (besides `{project}`
* or
* `{user}`) is a defined key.
* * `project` is not a valid key; the project is already specified in
* the parent resource name.
* * `user` is not a valid key; the API does not support quota overrides
* that apply only to a specific user.
* * If `region` appears as a key, its value must be a valid Cloud region.
* * If `zone` appears as a key, its value must be a valid Cloud zone.
* * If any valid key other than `region` or `zone` appears in the map, then
* all valid keys other than `region` or `zone` must also appear in the
* map.
*
* @generated from protobuf field: map<string, string> dimensions = 3;
*/
dimensions: {
[key: string]: string;
};
/**
* The name of the metric to which this override applies.
*
* An example name would be:
* `compute.googleapis.com/cpus`
*
* @generated from protobuf field: string metric = 4;
*/
metric: string;
/**
* The limit unit of the limit to which this override applies.
*
* An example unit would be:
* `1/{project}/{region}`
* Note that `{project}` and `{region}` are not placeholders in this example;
* the literal characters `{` and `}` occur in the string.
*
* @generated from protobuf field: string unit = 5;
*/
unit: string;
/**
* The resource name of the ancestor that requested the override. For example:
* `organizations/12345` or `folders/67890`.
* Used by admin overrides only.
*
* @generated from protobuf field: string admin_override_ancestor = 6;
*/
adminOverrideAncestor: string;
}
/**
* Import data embedded in the request message
*
* @generated from protobuf message google.api.serviceusage.v1beta1.OverrideInlineSource
*/
export interface OverrideInlineSource {
/**
* The overrides to create.
* Each override must have a value for 'metric' and 'unit', to specify
* which metric and which limit the override should be applied to.
* The 'name' field of the override does not need to be set; it is ignored.
*
* @generated from protobuf field: repeated google.api.serviceusage.v1beta1.QuotaOverride overrides = 1;
*/
overrides: QuotaOverride[];
}
/**
* Quota policy created by quota administrator.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.AdminQuotaPolicy
*/
export interface AdminQuotaPolicy {
/**
* The resource name of the policy.
* This name is generated by the server when the policy is created.
*
* Example names would be:
* `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d`
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The quota policy value.
* Can be any nonnegative integer, or -1 (unlimited quota).
*
* @generated from protobuf field: int64 policy_value = 2;
*/
policyValue: bigint;
/**
*
* If this map is nonempty, then this policy applies only to specific values
* for dimensions defined in the limit unit.
*
* For example, an policy on a limit with the unit `1/{project}/{region}`
* could contain an entry with the key `region` and the value `us-east-1`;
* the policy is only applied to quota consumed in that region.
*
* This map has the following restrictions:
*
* * If `region` appears as a key, its value must be a valid Cloud region.
* * If `zone` appears as a key, its value must be a valid Cloud zone.
* * Keys other than `region` or `zone` are not valid.
*
* @generated from protobuf field: map<string, string> dimensions = 3;
*/
dimensions: {
[key: string]: string;
};
/**
* The name of the metric to which this policy applies.
*
* An example name would be:
* `compute.googleapis.com/cpus`
*
* @generated from protobuf field: string metric = 4;
*/
metric: string;
/**
* The limit unit of the limit to which this policy applies.
*
* An example unit would be:
* `1/{project}/{region}`
* Note that `{project}` and `{region}` are not placeholders in this example;
* the literal characters `{` and `}` occur in the string.
*
* @generated from protobuf field: string unit = 5;
*/
unit: string;
/**
* The cloud resource container at which the quota policy is created. The
* format is `{container_type}/{container_number}`
*
* @generated from protobuf field: string container = 6;
*/
container: string;
}
/**
* Service identity for a service. This is the identity that service producer
* should use to access consumer resources.
*
* @generated from protobuf message google.api.serviceusage.v1beta1.ServiceIdentity
*/
export interface ServiceIdentity {
/**
* The email address of the service account that a service producer would use
* to access consumer resources.
*
* @generated from protobuf field: string email = 1;
*/
email: string;
/**
* The unique and stable id of the service account.
* https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount
*
* @generated from protobuf field: string unique_id = 2;
*/
uniqueId: string;
}
/**
* Whether or not a service has been enabled for use by a consumer.
*
* @generated from protobuf enum google.api.serviceusage.v1beta1.State
*/
export declare enum State {
/**
* The default value, which indicates that the enabled state of the service
* is unspecified or not meaningful. Currently, all consumers other than
* projects (such as folders and organizations) are always in this state.
*
* @generated from protobuf enum value: STATE_UNSPECIFIED = 0;
*/
STATE_UNSPECIFIED = 0,
/**
* The service cannot be used by this consumer. It has either been explicitly
* disabled, or has never been enabled.
*
* @generated from protobuf enum value: DISABLED = 1;
*/
DISABLED = 1,
/**
* The service has been explicitly enabled for use by this consumer.
*
* @generated from protobuf enum value: ENABLED = 2;
*/
ENABLED = 2
}
/**
* Selected view of quota. Can be used to request more detailed quota
* information when retrieving quota metrics and limits.
*
* @generated from protobuf enum google.api.serviceusage.v1beta1.QuotaView
*/
export declare enum QuotaView {
/**
* No quota view specified. Requests that do not specify a quota view will
* typically default to the BASIC view.
*
* @generated from protobuf enum value: QUOTA_VIEW_UNSPECIFIED = 0;
*/
QUOTA_VIEW_UNSPECIFIED = 0,
/**
* Only buckets with overrides are shown in the response.
*
* @generated from protobuf enum value: BASIC = 1;
*/
BASIC = 1,
/**
* Include per-location buckets even if they do not have overrides.
* When the view is FULL, and a limit has regional or zonal quota, the limit
* will include buckets for all regions or zones that could support
* overrides, even if none are currently present. In some cases this will
* cause the response to become very large; callers that do not need this
* extra information should use the BASIC view instead.
*
* @generated from protobuf enum value: FULL = 2;
*/
FULL = 2
}
/**
* Enumerations of quota safety checks.
*
* @generated from protobuf enum google.api.serviceusage.v1beta1.QuotaSafetyCheck
*/
export declare enum QuotaSafetyCheck {
/**
* Unspecified quota safety check.
*
* @generated from protobuf enum value: QUOTA_SAFETY_CHECK_UNSPECIFIED = 0;
*/
QUOTA_SAFETY_CHECK_UNSPECIFIED = 0,
/**
* Validates that a quota mutation would not cause the consumer's effective
* limit to be lower than the consumer's quota usage.
*
* @generated from protobuf enum value: LIMIT_DECREASE_BELOW_USAGE = 1;
*/
LIMIT_DECREASE_BELOW_USAGE = 1,
/**
* Validates that a quota mutation would not cause the consumer's effective
* limit to decrease by more than 10 percent.
*
* @generated from protobuf enum value: LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2;
*/
LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2
}
declare class Service$Type extends MessageType<Service> {
constructor();
create(value?: PartialMessage<Service>): Service;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Service): Service;
internalBinaryWrite(message: Service, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.Service
*/
export declare const Service: Service$Type;
declare class ServiceConfig$Type extends MessageType<ServiceConfig> {
constructor();
create(value?: PartialMessage<ServiceConfig>): ServiceConfig;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ServiceConfig): ServiceConfig;
internalBinaryWrite(message: ServiceConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.ServiceConfig
*/
export declare const ServiceConfig: ServiceConfig$Type;
declare class OperationMetadata$Type extends MessageType<OperationMetadata> {
constructor();
create(value?: PartialMessage<OperationMetadata>): OperationMetadata;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OperationMetadata): OperationMetadata;
internalBinaryWrite(message: OperationMetadata, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.OperationMetadata
*/
export declare const OperationMetadata: OperationMetadata$Type;
declare class ConsumerQuotaMetric$Type extends MessageType<ConsumerQuotaMetric> {
constructor();
create(value?: PartialMessage<ConsumerQuotaMetric>): ConsumerQuotaMetric;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ConsumerQuotaMetric): ConsumerQuotaMetric;
internalBinaryWrite(message: ConsumerQuotaMetric, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.ConsumerQuotaMetric
*/
export declare const ConsumerQuotaMetric: ConsumerQuotaMetric$Type;
declare class ConsumerQuotaLimit$Type extends MessageType<ConsumerQuotaLimit> {
constructor();
create(value?: PartialMessage<ConsumerQuotaLimit>): ConsumerQuotaLimit;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ConsumerQuotaLimit): ConsumerQuotaLimit;
internalBinaryWrite(message: ConsumerQuotaLimit, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.ConsumerQuotaLimit
*/
export declare const ConsumerQuotaLimit: ConsumerQuotaLimit$Type;
declare class QuotaBucket$Type extends MessageType<QuotaBucket> {
constructor();
create(value?: PartialMessage<QuotaBucket>): QuotaBucket;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuotaBucket): QuotaBucket;
private binaryReadMap6;
internalBinaryWrite(message: QuotaBucket, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.QuotaBucket
*/
export declare const QuotaBucket: QuotaBucket$Type;
declare class QuotaOverride$Type extends MessageType<QuotaOverride> {
constructor();
create(value?: PartialMessage<QuotaOverride>): QuotaOverride;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuotaOverride): QuotaOverride;
private binaryReadMap3;
internalBinaryWrite(message: QuotaOverride, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.QuotaOverride
*/
export declare const QuotaOverride: QuotaOverride$Type;
declare class OverrideInlineSource$Type extends MessageType<OverrideInlineSource> {
constructor();
create(value?: PartialMessage<OverrideInlineSource>): OverrideInlineSource;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OverrideInlineSource): OverrideInlineSource;
internalBinaryWrite(message: OverrideInlineSource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.OverrideInlineSource
*/
export declare const OverrideInlineSource: OverrideInlineSource$Type;
declare class AdminQuotaPolicy$Type extends MessageType<AdminQuotaPolicy> {
constructor();
create(value?: PartialMessage<AdminQuotaPolicy>): AdminQuotaPolicy;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdminQuotaPolicy): AdminQuotaPolicy;
private binaryReadMap3;
internalBinaryWrite(message: AdminQuotaPolicy, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.AdminQuotaPolicy
*/
export declare const AdminQuotaPolicy: AdminQuotaPolicy$Type;
declare class ServiceIdentity$Type extends MessageType<ServiceIdentity> {
constructor();
create(value?: PartialMessage<ServiceIdentity>): ServiceIdentity;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ServiceIdentity): ServiceIdentity;
internalBinaryWrite(message: ServiceIdentity, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.serviceusage.v1beta1.ServiceIdentity
*/
export declare const ServiceIdentity: ServiceIdentity$Type;
export {};