UNPKG

google-ads-api-client

Version:

A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.

280 lines (279 loc) 10.6 kB
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"; /** * A simple descriptor of a resource type. * * ResourceDescriptor annotates a resource message (either by means of a * protobuf annotation or use in the service config), and associates the * resource's schema, the resource type, and the pattern of the resource name. * * Example: * * message Topic { * // Indicates this message defines a resource schema. * // Declares the resource type in the format of {service}/{kind}. * // For Kubernetes resources, the format is {api group}/{kind}. * option (google.api.resource) = { * type: "pubsub.googleapis.com/Topic" * pattern: "projects/{project}/topics/{topic}" * }; * } * * The ResourceDescriptor Yaml config will look like: * * resources: * - type: "pubsub.googleapis.com/Topic" * pattern: "projects/{project}/topics/{topic}" * * Sometimes, resources have multiple patterns, typically because they can * live under multiple parents. * * Example: * * message LogEntry { * option (google.api.resource) = { * type: "logging.googleapis.com/LogEntry" * pattern: "projects/{project}/logs/{log}" * pattern: "folders/{folder}/logs/{log}" * pattern: "organizations/{organization}/logs/{log}" * pattern: "billingAccounts/{billing_account}/logs/{log}" * }; * } * * The ResourceDescriptor Yaml config will look like: * * resources: * - type: 'logging.googleapis.com/LogEntry' * pattern: "projects/{project}/logs/{log}" * pattern: "folders/{folder}/logs/{log}" * pattern: "organizations/{organization}/logs/{log}" * pattern: "billingAccounts/{billing_account}/logs/{log}" * * @generated from protobuf message google.api.ResourceDescriptor */ export interface ResourceDescriptor { /** * The resource type. It must be in the format of * {service_name}/{resource_type_kind}. The `resource_type_kind` must be * singular and must not include version numbers. * * Example: `storage.googleapis.com/Bucket` * * The value of the resource_type_kind must follow the regular expression * /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and * should use PascalCase (UpperCamelCase). The maximum number of * characters allowed for the `resource_type_kind` is 100. * * @generated from protobuf field: string type = 1; */ type: string; /** * Optional. The relative resource name pattern associated with this resource * type. The DNS prefix of the full resource name shouldn't be specified here. * * The path pattern must follow the syntax, which aligns with HTTP binding * syntax: * * Template = Segment { "/" Segment } ; * Segment = LITERAL | Variable ; * Variable = "{" LITERAL "}" ; * * Examples: * * - "projects/{project}/topics/{topic}" * - "projects/{project}/knowledgeBases/{knowledge_base}" * * The components in braces correspond to the IDs for each resource in the * hierarchy. It is expected that, if multiple patterns are provided, * the same component name (e.g. "project") refers to IDs of the same * type of resource. * * @generated from protobuf field: repeated string pattern = 2; */ pattern: string[]; /** * Optional. The field on the resource that designates the resource name * field. If omitted, this is assumed to be "name". * * @generated from protobuf field: string name_field = 3; */ nameField: string; /** * Optional. The historical or future-looking state of the resource pattern. * * Example: * * // The InspectTemplate message originally only supported resource * // names with organization, and project was added later. * message InspectTemplate { * option (google.api.resource) = { * type: "dlp.googleapis.com/InspectTemplate" * pattern: * "organizations/{organization}/inspectTemplates/{inspect_template}" * pattern: "projects/{project}/inspectTemplates/{inspect_template}" * history: ORIGINALLY_SINGLE_PATTERN * }; * } * * @generated from protobuf field: google.api.ResourceDescriptor.History history = 4; */ history: ResourceDescriptor_History; /** * The plural name used in the resource name and permission names, such as * 'projects' for the resource name of 'projects/{project}' and the permission * name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same * concept of the `plural` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * * Note: The plural form is required even for singleton resources. See * https://aip.dev/156 * * @generated from protobuf field: string plural = 5; */ plural: string; /** * The same concept of the `singular` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Such as "project" for the `resourcemanager.googleapis.com/Project` type. * * @generated from protobuf field: string singular = 6; */ singular: string; /** * Style flag(s) for this resource. * These indicate that a resource is expected to conform to a given * style. See the specific style flags for additional information. * * @generated from protobuf field: repeated google.api.ResourceDescriptor.Style style = 10; */ style: ResourceDescriptor_Style[]; } /** * A description of the historical or future-looking state of the * resource pattern. * * @generated from protobuf enum google.api.ResourceDescriptor.History */ export declare enum ResourceDescriptor_History { /** * The "unset" value. * * @generated from protobuf enum value: HISTORY_UNSPECIFIED = 0; */ HISTORY_UNSPECIFIED = 0, /** * The resource originally had one pattern and launched as such, and * additional patterns were added later. * * @generated from protobuf enum value: ORIGINALLY_SINGLE_PATTERN = 1; */ ORIGINALLY_SINGLE_PATTERN = 1, /** * The resource has one pattern, but the API owner expects to add more * later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents * that from being necessary once there are multiple patterns.) * * @generated from protobuf enum value: FUTURE_MULTI_PATTERN = 2; */ FUTURE_MULTI_PATTERN = 2 } /** * A flag representing a specific style that a resource claims to conform to. * * @generated from protobuf enum google.api.ResourceDescriptor.Style */ export declare enum ResourceDescriptor_Style { /** * The unspecified value. Do not use. * * @generated from protobuf enum value: STYLE_UNSPECIFIED = 0; */ STYLE_UNSPECIFIED = 0, /** * This resource is intended to be "declarative-friendly". * * Declarative-friendly resources must be more strictly consistent, and * setting this to true communicates to tools that this resource should * adhere to declarative-friendly expectations. * * Note: This is used by the API linter (linter.aip.dev) to enable * additional checks. * * @generated from protobuf enum value: DECLARATIVE_FRIENDLY = 1; */ DECLARATIVE_FRIENDLY = 1 } /** * Defines a proto annotation that describes a string field that refers to * an API resource. * * @generated from protobuf message google.api.ResourceReference */ export interface ResourceReference { /** * The resource type that the annotated field references. * * Example: * * message Subscription { * string topic = 2 [(google.api.resource_reference) = { * type: "pubsub.googleapis.com/Topic" * }]; * } * * Occasionally, a field may reference an arbitrary resource. In this case, * APIs use the special value * in their resource reference. * * Example: * * message GetIamPolicyRequest { * string resource = 2 [(google.api.resource_reference) = { * type: "*" * }]; * } * * @generated from protobuf field: string type = 1; */ type: string; /** * The resource type of a child collection that the annotated field * references. This is useful for annotating the `parent` field that * doesn't have a fixed resource type. * * Example: * * message ListLogEntriesRequest { * string parent = 1 [(google.api.resource_reference) = { * child_type: "logging.googleapis.com/LogEntry" * }; * } * * @generated from protobuf field: string child_type = 2; */ childType: string; } declare class ResourceDescriptor$Type extends MessageType<ResourceDescriptor> { constructor(); create(value?: PartialMessage<ResourceDescriptor>): ResourceDescriptor; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceDescriptor): ResourceDescriptor; internalBinaryWrite(message: ResourceDescriptor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.api.ResourceDescriptor */ export declare const ResourceDescriptor: ResourceDescriptor$Type; declare class ResourceReference$Type extends MessageType<ResourceReference> { constructor(); create(value?: PartialMessage<ResourceReference>): ResourceReference; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceReference): ResourceReference; internalBinaryWrite(message: ResourceReference, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.api.ResourceReference */ export declare const ResourceReference: ResourceReference$Type; export {};