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 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 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 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 { constructor(); create(value?: PartialMessage): 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 {};