From eaa89ee13e59aade6839c5abeb2d300ef0db0717 Mon Sep 17 00:00:00 2001 From: Axel Vermeil Date: Fri, 9 Feb 2024 17:34:33 +0000 Subject: [PATCH] loose attempt at using the much more performant REST interface for reports --- package.json | 7 +- scripts/fields.ts | 9 + src/customer.ts | 103 +- src/parserRest.ts | 79 + src/protos/autogen/fields.ts | 2756 ++++++++++++++++++++++++++++++++++ src/protos/index.ts | 2 +- src/service.ts | 21 +- yarn.lock | 94 ++ 8 files changed, 3066 insertions(+), 5 deletions(-) create mode 100644 src/parserRest.ts diff --git a/package.json b/package.json index 645b583f..aefcbe34 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,15 @@ "license": "MIT", "dependencies": { "@isaacs/ttlcache": "^1.2.2", + "@types/stream-json": "^1.7.7", + "axios": "^1.6.7", + "decamelize": "^5.0.0", "google-ads-node": "^12.0.2", "google-auth-library": "^7.1.0", "google-gax": "^4.0.3", - "long": "^4.0.0" + "long": "^4.0.0", + "map-obj": "^4.0.0", + "stream-json": "^1.8.0" }, "devDependencies": { "@types/jest": "^29.0.1", diff --git a/scripts/fields.ts b/scripts/fields.ts index fe8fa202..f2e56699 100644 --- a/scripts/fields.ts +++ b/scripts/fields.ts @@ -158,6 +158,15 @@ export async function compileFields(): Promise { }); stream.write(`}`); + + stream.write(`\n\n/* -- Field types (used in parsing) -- */`); + stream.write(`\nexport const fieldDataTypes = new Map([ `); + + for (const field of fields) { + stream.write(`\n['${field.name}','${field.data_type}'], `); + } + + stream.write(`\n])`); stream.end(); } diff --git a/src/customer.ts b/src/customer.ts index f83b5a7f..b1a5bd57 100644 --- a/src/customer.ts +++ b/src/customer.ts @@ -1,4 +1,9 @@ import { CancellableStream } from "google-gax"; +import axios from "axios"; +import { chain } from "stream-chain"; +import { parser } from "stream-json"; +import { streamArray } from "stream-json/streamers/StreamArray"; + import { ClientOptions } from "./client"; import { BaseMutationHookArgs, @@ -8,7 +13,8 @@ import { Hooks, } from "./hooks"; import { parse } from "./parser"; -import { services } from "./protos"; +import { decamelizeKeys } from "./parserRest"; +import { services, errors } from "./protos"; import ServiceFactory from "./protos/autogen/serviceFactory"; import { buildQuery } from "./query"; import { @@ -69,7 +75,7 @@ export class Customer extends ServiceFactory { options: Readonly ): Promise { const { gaqlQuery, requestOptions } = buildQuery(options); - const { response } = await this.querier( + const { response } = await this.querierRest( gaqlQuery, requestOptions, options @@ -225,6 +231,99 @@ export class Customer extends ServiceFactory { return { response, totalResultsCount }; } + private async querierRest( + gaqlQuery: string, + requestOptions: RequestOptions = {}, + reportOptions?: Readonly, + useHooks = true + ): Promise<{ response: T; totalResultsCount?: number }> { + const accessToken = await this.getAccessToken(); + const args = { + method: "POST", + url: `https://googleads.googleapis.com/v14/customers/${this.customerOptions.customer_id}/googleAds:searchStream`, + headers: { + Authorization: `Bearer ${accessToken}`, + "developer-token": this.clientOptions.developer_token ?? "", + "login-customer-id": this.credentials.login_customer_id ?? "", + }, + responseType: "stream", + data: { + query: gaqlQuery, + // summary_row_setting: "SUMMARY_ROW_ONLY", + }, + }; + + console.time("request"); + try { + // @ts-ignore + const response = await axios(args); + + const stream = response.data as any; + let waste = 0; + + let rows: any = []; + + const pipeline = chain([stream, parser(), streamArray()]); + + stream.once("data", () => { + console.timeEnd("request"); + console.time("parsing"); + }); + + pipeline.on("data", (data) => { + console.log(data.value.results); + const now = Date.now(); + const parsed = data.value.results.map((row: any) => { + return decamelizeKeys(row); + }); + rows = [...rows, ...parsed]; + waste += Date.now() - now; + }); + + await new Promise((resolve, reject) => { + pipeline.on("end", () => resolve()); + pipeline.on("error", (err) => reject(err)); + }); + + console.timeEnd("parsing"); + console.log({ waste }); + + return { response: rows as T }; + } catch (e: any) { + // console.log("ERROR INCOMING"); + // console.log(e.toJSON()); + const stream = e.response.data as any; + + const pipeline = chain([stream, parser(), streamArray()]); + + stream.once("data", () => { + console.timeEnd("request"); + console.time("parsing"); + }); + + let googleAdsFailure: errors.GoogleAdsFailure | undefined; + pipeline.on("data", (data) => { + // console.log(data); + + googleAdsFailure = new errors.GoogleAdsFailure( + decamelizeKeys(data.value.error.details[0]) + ); + + // console.log(e); + // console.dir(data.value, { depth: null }); + // new Error(data.error.message); + }); + + await new Promise((resolve, reject) => { + pipeline.on("end", () => reject(googleAdsFailure)); + pipeline.on("error", (err) => reject(err)); + }); + // console.log("AFTER ERROR"); + } + + return { response: [] as T }; + } + private async querier( gaqlQuery: string, requestOptions: RequestOptions = {}, diff --git a/src/parserRest.ts b/src/parserRest.ts new file mode 100644 index 00000000..7a742953 --- /dev/null +++ b/src/parserRest.ts @@ -0,0 +1,79 @@ +/** + * JSON Rest parsing + */ + +import mapObject from "map-obj"; +import decamelize from "decamelize"; + +import { enums, fields, fieldDataTypes } from "./protos"; + +const cache = new Map(); + +const isObject = (value: unknown) => + typeof value === "object" && value !== null; + +const decamelcaseConvert = (input: any) => { + if (!isObject(input)) { + return input; + } + + // const stopPathsSet = new Set(stopPaths); + + const makeMapper = (parentPath?: string) => (key: string, value: any) => { + if (isObject(value)) { + const path = parentPath === undefined ? key : `${parentPath}.${key}`; + + // @ts-ignore + value = mapObject(value, makeMapper(path)); + } + + key = cachedDecamelize(key); + value = cachedValueParser(key, parentPath, value); + + return [key, value]; + }; + + // @ts-ignore + return mapObject(input, makeMapper(undefined)); +}; + +const cachedDecamelize = (key: string) => { + if (cache.has(key)) { + return cache.get(key) as string; + } + + const newKey = decamelize(key); + + cache.set(key, newKey); + + return newKey; +}; + +const cachedValueParser = ( + key: string, + parentPath: string | undefined, + value: any +) => { + let newValue = value; + + const fullPath = cachedDecamelize( + parentPath ? `${parentPath}.${key}` : key + ) as keyof typeof fields.enumFields; + + const dataType = fieldDataTypes.get(fullPath); + + if (dataType === "INT64") { + newValue = Number(value); + } + + if (dataType === "ENUM") { + // @ts-expect-error typescript doesn't like accessing items in a namespace with a string + newValue = enums[fields.enumFields[fullPath]][value]; // e.g. enums['CampaignStatus'][ENABLED] = "2" + } + + return newValue; +}; + +export const decamelizeKeys = (input: Record) => { + return decamelcaseConvert(input); +}; diff --git a/src/protos/autogen/fields.ts b/src/protos/autogen/fields.ts index ce7ae009..9b100cb2 100644 --- a/src/protos/autogen/fields.ts +++ b/src/protos/autogen/fields.ts @@ -29332,3 +29332,2759 @@ export namespace fields { export type WebpageViewSegments = Array; /* --- End of WebpageView --- */ } +console.time("Map init"); +/* -- Field types (used in parsing) -- */ +export const fieldDataTypes = new Map([ + ["accessible_bidding_strategy", "MESSAGE"], + ["accessible_bidding_strategy.id", "INT64"], + [ + "accessible_bidding_strategy.maximize_conversion_value.target_roas", + "DOUBLE", + ], + [ + "accessible_bidding_strategy.maximize_conversions.target_cpa_micros", + "INT64", + ], + ["accessible_bidding_strategy.name", "STRING"], + ["accessible_bidding_strategy.owner_customer_id", "INT64"], + ["accessible_bidding_strategy.owner_descriptive_name", "STRING"], + ["accessible_bidding_strategy.resource_name", "RESOURCE_NAME"], + ["accessible_bidding_strategy.target_cpa.target_cpa_micros", "INT64"], + [ + "accessible_bidding_strategy.target_impression_share.cpc_bid_ceiling_micros", + "INT64", + ], + ["accessible_bidding_strategy.target_impression_share.location", "ENUM"], + [ + "accessible_bidding_strategy.target_impression_share.location_fraction_micros", + "INT64", + ], + ["accessible_bidding_strategy.target_roas.target_roas", "DOUBLE"], + ["accessible_bidding_strategy.target_spend.cpc_bid_ceiling_micros", "INT64"], + ["accessible_bidding_strategy.target_spend.target_spend_micros", "INT64"], + ["accessible_bidding_strategy.type", "ENUM"], + ["account_budget", "MESSAGE"], + ["account_budget.adjusted_spending_limit_micros", "INT64"], + ["account_budget.adjusted_spending_limit_type", "ENUM"], + ["account_budget.amount_served_micros", "INT64"], + ["account_budget.approved_end_date_time", "DATE"], + ["account_budget.approved_end_time_type", "ENUM"], + ["account_budget.approved_spending_limit_micros", "INT64"], + ["account_budget.approved_spending_limit_type", "ENUM"], + ["account_budget.approved_start_date_time", "DATE"], + ["account_budget.billing_setup", "RESOURCE_NAME"], + ["account_budget.id", "INT64"], + ["account_budget.name", "STRING"], + ["account_budget.notes", "STRING"], + ["account_budget.pending_proposal.account_budget_proposal", "RESOURCE_NAME"], + ["account_budget.pending_proposal.creation_date_time", "DATE"], + ["account_budget.pending_proposal.end_date_time", "DATE"], + ["account_budget.pending_proposal.end_time_type", "ENUM"], + ["account_budget.pending_proposal.name", "STRING"], + ["account_budget.pending_proposal.notes", "STRING"], + ["account_budget.pending_proposal.proposal_type", "ENUM"], + ["account_budget.pending_proposal.purchase_order_number", "STRING"], + ["account_budget.pending_proposal.spending_limit_micros", "INT64"], + ["account_budget.pending_proposal.spending_limit_type", "ENUM"], + ["account_budget.pending_proposal.start_date_time", "DATE"], + ["account_budget.proposed_end_date_time", "DATE"], + ["account_budget.proposed_end_time_type", "ENUM"], + ["account_budget.proposed_spending_limit_micros", "INT64"], + ["account_budget.proposed_spending_limit_type", "ENUM"], + ["account_budget.proposed_start_date_time", "DATE"], + ["account_budget.purchase_order_number", "STRING"], + ["account_budget.resource_name", "RESOURCE_NAME"], + ["account_budget.status", "ENUM"], + ["account_budget.total_adjustments_micros", "INT64"], + ["account_budget_proposal", "MESSAGE"], + ["account_budget_proposal.account_budget", "RESOURCE_NAME"], + ["account_budget_proposal.approval_date_time", "DATE"], + ["account_budget_proposal.approved_end_date_time", "DATE"], + ["account_budget_proposal.approved_end_time_type", "ENUM"], + ["account_budget_proposal.approved_spending_limit_micros", "INT64"], + ["account_budget_proposal.approved_spending_limit_type", "ENUM"], + ["account_budget_proposal.approved_start_date_time", "DATE"], + ["account_budget_proposal.billing_setup", "RESOURCE_NAME"], + ["account_budget_proposal.creation_date_time", "DATE"], + ["account_budget_proposal.id", "INT64"], + ["account_budget_proposal.proposal_type", "ENUM"], + ["account_budget_proposal.proposed_end_date_time", "DATE"], + ["account_budget_proposal.proposed_end_time_type", "ENUM"], + ["account_budget_proposal.proposed_name", "STRING"], + ["account_budget_proposal.proposed_notes", "STRING"], + ["account_budget_proposal.proposed_purchase_order_number", "STRING"], + ["account_budget_proposal.proposed_spending_limit_micros", "INT64"], + ["account_budget_proposal.proposed_spending_limit_type", "ENUM"], + ["account_budget_proposal.proposed_start_date_time", "DATE"], + ["account_budget_proposal.resource_name", "RESOURCE_NAME"], + ["account_budget_proposal.status", "ENUM"], + ["account_link", "MESSAGE"], + ["account_link.account_link_id", "INT64"], + ["account_link.advertising_partner.customer", "RESOURCE_NAME"], + ["account_link.data_partner.data_partner_id", "INT64"], + ["account_link.google_ads.customer", "RESOURCE_NAME"], + ["account_link.hotel_center.hotel_center_id", "INT64"], + ["account_link.resource_name", "RESOURCE_NAME"], + ["account_link.status", "ENUM"], + ["account_link.third_party_app_analytics.app_analytics_provider_id", "INT64"], + ["account_link.third_party_app_analytics.app_id", "STRING"], + ["account_link.third_party_app_analytics.app_vendor", "ENUM"], + ["account_link.type", "ENUM"], + ["ad_group", "MESSAGE"], + ["ad_group.ad_rotation_mode", "ENUM"], + ["ad_group.audience_setting.use_audience_grouped", "BOOLEAN"], + ["ad_group.base_ad_group", "RESOURCE_NAME"], + ["ad_group.campaign", "RESOURCE_NAME"], + ["ad_group.cpc_bid_micros", "INT64"], + ["ad_group.cpm_bid_micros", "INT64"], + ["ad_group.cpv_bid_micros", "INT64"], + ["ad_group.display_custom_bid_dimension", "ENUM"], + ["ad_group.effective_cpc_bid_micros", "INT64"], + ["ad_group.effective_target_cpa_micros", "INT64"], + ["ad_group.effective_target_cpa_source", "ENUM"], + ["ad_group.effective_target_roas", "DOUBLE"], + ["ad_group.effective_target_roas_source", "ENUM"], + ["ad_group.excluded_parent_asset_field_types", "ENUM"], + ["ad_group.excluded_parent_asset_set_types", "ENUM"], + ["ad_group.final_url_suffix", "STRING"], + ["ad_group.id", "INT64"], + ["ad_group.labels", "RESOURCE_NAME"], + ["ad_group.name", "STRING"], + ["ad_group.optimized_targeting_enabled", "BOOLEAN"], + ["ad_group.percent_cpc_bid_micros", "INT64"], + ["ad_group.resource_name", "RESOURCE_NAME"], + ["ad_group.status", "ENUM"], + ["ad_group.target_cpa_micros", "INT64"], + ["ad_group.target_cpm_micros", "INT64"], + ["ad_group.target_roas", "DOUBLE"], + ["ad_group.targeting_setting.target_restrictions", "MESSAGE"], + ["ad_group.tracking_url_template", "STRING"], + ["ad_group.type", "ENUM"], + ["ad_group.url_custom_parameters", "MESSAGE"], + ["ad_group_ad", "MESSAGE"], + ["ad_group_ad.action_items", "STRING"], + ["ad_group_ad.ad.added_by_google_ads", "BOOLEAN"], + ["ad_group_ad.ad.app_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.app_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.app_ad.html5_media_bundles", "MESSAGE"], + ["ad_group_ad.ad.app_ad.html5_media_bundles.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_ad.images", "MESSAGE"], + ["ad_group_ad.ad.app_ad.images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_ad.mandatory_ad_text", "MESSAGE"], + ["ad_group_ad.ad.app_ad.youtube_videos", "MESSAGE"], + ["ad_group_ad.ad.app_ad.youtube_videos.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_engagement_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.app_engagement_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.app_engagement_ad.images", "MESSAGE"], + ["ad_group_ad.ad.app_engagement_ad.images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_engagement_ad.videos", "MESSAGE"], + ["ad_group_ad.ad.app_engagement_ad.videos.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_pre_registration_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.app_pre_registration_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.app_pre_registration_ad.images", "MESSAGE"], + ["ad_group_ad.ad.app_pre_registration_ad.images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.app_pre_registration_ad.youtube_videos", "MESSAGE"], + [ + "ad_group_ad.ad.app_pre_registration_ad.youtube_videos.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.call_ad.business_name", "STRING"], + ["ad_group_ad.ad.call_ad.call_tracked", "BOOLEAN"], + ["ad_group_ad.ad.call_ad.conversion_action", "RESOURCE_NAME"], + ["ad_group_ad.ad.call_ad.conversion_reporting_state", "ENUM"], + ["ad_group_ad.ad.call_ad.country_code", "STRING"], + ["ad_group_ad.ad.call_ad.description1", "STRING"], + ["ad_group_ad.ad.call_ad.description2", "STRING"], + ["ad_group_ad.ad.call_ad.disable_call_conversion", "BOOLEAN"], + ["ad_group_ad.ad.call_ad.headline1", "STRING"], + ["ad_group_ad.ad.call_ad.headline2", "STRING"], + ["ad_group_ad.ad.call_ad.path1", "STRING"], + ["ad_group_ad.ad.call_ad.path2", "STRING"], + ["ad_group_ad.ad.call_ad.phone_number", "STRING"], + ["ad_group_ad.ad.call_ad.phone_number_verification_url", "STRING"], + ["ad_group_ad.ad.device_preference", "ENUM"], + ["ad_group_ad.ad.discovery_carousel_ad.business_name", "STRING"], + ["ad_group_ad.ad.discovery_carousel_ad.call_to_action_text", "STRING"], + ["ad_group_ad.ad.discovery_carousel_ad.carousel_cards", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_carousel_ad.carousel_cards.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.discovery_carousel_ad.description", "MESSAGE"], + ["ad_group_ad.ad.discovery_carousel_ad.headline", "MESSAGE"], + ["ad_group_ad.ad.discovery_carousel_ad.logo_image", "MESSAGE"], + ["ad_group_ad.ad.discovery_carousel_ad.logo_image.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.discovery_multi_asset_ad.business_name", "STRING"], + ["ad_group_ad.ad.discovery_multi_asset_ad.call_to_action_text", "STRING"], + ["ad_group_ad.ad.discovery_multi_asset_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.discovery_multi_asset_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.discovery_multi_asset_ad.lead_form_only", "BOOLEAN"], + ["ad_group_ad.ad.discovery_multi_asset_ad.logo_images", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.logo_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.discovery_multi_asset_ad.marketing_images", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.marketing_images.asset", + "RESOURCE_NAME", + ], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.portrait_marketing_images", + "MESSAGE", + ], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.portrait_marketing_images.asset", + "RESOURCE_NAME", + ], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.square_marketing_images", + "MESSAGE", + ], + [ + "ad_group_ad.ad.discovery_multi_asset_ad.square_marketing_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.discovery_video_responsive_ad.breadcrumb1", "STRING"], + ["ad_group_ad.ad.discovery_video_responsive_ad.breadcrumb2", "STRING"], + ["ad_group_ad.ad.discovery_video_responsive_ad.business_name", "MESSAGE"], + ["ad_group_ad.ad.discovery_video_responsive_ad.call_to_actions", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_video_responsive_ad.call_to_actions.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.discovery_video_responsive_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.discovery_video_responsive_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.discovery_video_responsive_ad.logo_images", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_video_responsive_ad.logo_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.discovery_video_responsive_ad.long_headlines", "MESSAGE"], + ["ad_group_ad.ad.discovery_video_responsive_ad.videos", "MESSAGE"], + [ + "ad_group_ad.ad.discovery_video_responsive_ad.videos.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.display_upload_ad.display_upload_product_type", "ENUM"], + ["ad_group_ad.ad.display_upload_ad.media_bundle", "MESSAGE"], + ["ad_group_ad.ad.display_upload_ad.media_bundle.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.display_url", "STRING"], + ["ad_group_ad.ad.expanded_dynamic_search_ad.description", "STRING"], + ["ad_group_ad.ad.expanded_dynamic_search_ad.description2", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.description", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.description2", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.headline_part1", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.headline_part2", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.headline_part3", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.path1", "STRING"], + ["ad_group_ad.ad.expanded_text_ad.path2", "STRING"], + ["ad_group_ad.ad.final_app_urls", "MESSAGE"], + ["ad_group_ad.ad.final_mobile_urls", "STRING"], + ["ad_group_ad.ad.final_url_suffix", "STRING"], + ["ad_group_ad.ad.final_urls", "STRING"], + ["ad_group_ad.ad.hotel_ad", "MESSAGE"], + ["ad_group_ad.ad.id", "INT64"], + ["ad_group_ad.ad.image_ad.image_url", "STRING"], + ["ad_group_ad.ad.image_ad.media_file", "RESOURCE_NAME"], + ["ad_group_ad.ad.image_ad.mime_type", "ENUM"], + ["ad_group_ad.ad.image_ad.name", "STRING"], + ["ad_group_ad.ad.image_ad.pixel_height", "INT64"], + ["ad_group_ad.ad.image_ad.pixel_width", "INT64"], + ["ad_group_ad.ad.image_ad.preview_image_url", "STRING"], + ["ad_group_ad.ad.image_ad.preview_pixel_height", "INT64"], + ["ad_group_ad.ad.image_ad.preview_pixel_width", "INT64"], + ["ad_group_ad.ad.legacy_app_install_ad", "MESSAGE"], + ["ad_group_ad.ad.legacy_responsive_display_ad.accent_color", "STRING"], + [ + "ad_group_ad.ad.legacy_responsive_display_ad.allow_flexible_color", + "BOOLEAN", + ], + ["ad_group_ad.ad.legacy_responsive_display_ad.business_name", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.call_to_action_text", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.description", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.format_setting", "ENUM"], + ["ad_group_ad.ad.legacy_responsive_display_ad.logo_image", "RESOURCE_NAME"], + ["ad_group_ad.ad.legacy_responsive_display_ad.long_headline", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.main_color", "STRING"], + [ + "ad_group_ad.ad.legacy_responsive_display_ad.marketing_image", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.legacy_responsive_display_ad.price_prefix", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.promo_text", "STRING"], + ["ad_group_ad.ad.legacy_responsive_display_ad.short_headline", "STRING"], + [ + "ad_group_ad.ad.legacy_responsive_display_ad.square_logo_image", + "RESOURCE_NAME", + ], + [ + "ad_group_ad.ad.legacy_responsive_display_ad.square_marketing_image", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.local_ad.call_to_actions", "MESSAGE"], + ["ad_group_ad.ad.local_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.local_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.local_ad.logo_images", "MESSAGE"], + ["ad_group_ad.ad.local_ad.logo_images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.local_ad.marketing_images", "MESSAGE"], + ["ad_group_ad.ad.local_ad.marketing_images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.local_ad.path1", "STRING"], + ["ad_group_ad.ad.local_ad.path2", "STRING"], + ["ad_group_ad.ad.local_ad.videos", "MESSAGE"], + ["ad_group_ad.ad.local_ad.videos.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.name", "STRING"], + ["ad_group_ad.ad.resource_name", "RESOURCE_NAME"], + ["ad_group_ad.ad.responsive_display_ad.accent_color", "STRING"], + ["ad_group_ad.ad.responsive_display_ad.allow_flexible_color", "BOOLEAN"], + ["ad_group_ad.ad.responsive_display_ad.business_name", "STRING"], + ["ad_group_ad.ad.responsive_display_ad.call_to_action_text", "STRING"], + [ + "ad_group_ad.ad.responsive_display_ad.control_spec.enable_asset_enhancements", + "BOOLEAN", + ], + [ + "ad_group_ad.ad.responsive_display_ad.control_spec.enable_autogen_video", + "BOOLEAN", + ], + ["ad_group_ad.ad.responsive_display_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.responsive_display_ad.format_setting", "ENUM"], + ["ad_group_ad.ad.responsive_display_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.responsive_display_ad.logo_images", "MESSAGE"], + ["ad_group_ad.ad.responsive_display_ad.logo_images.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.responsive_display_ad.long_headline", "MESSAGE"], + ["ad_group_ad.ad.responsive_display_ad.main_color", "STRING"], + ["ad_group_ad.ad.responsive_display_ad.marketing_images", "MESSAGE"], + [ + "ad_group_ad.ad.responsive_display_ad.marketing_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.responsive_display_ad.price_prefix", "STRING"], + ["ad_group_ad.ad.responsive_display_ad.promo_text", "STRING"], + ["ad_group_ad.ad.responsive_display_ad.square_logo_images", "MESSAGE"], + [ + "ad_group_ad.ad.responsive_display_ad.square_logo_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.responsive_display_ad.square_marketing_images", "MESSAGE"], + [ + "ad_group_ad.ad.responsive_display_ad.square_marketing_images.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.responsive_display_ad.youtube_videos", "MESSAGE"], + [ + "ad_group_ad.ad.responsive_display_ad.youtube_videos.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.responsive_search_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.responsive_search_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.responsive_search_ad.path1", "STRING"], + ["ad_group_ad.ad.responsive_search_ad.path2", "STRING"], + ["ad_group_ad.ad.shopping_comparison_listing_ad.headline", "STRING"], + ["ad_group_ad.ad.shopping_product_ad", "MESSAGE"], + ["ad_group_ad.ad.shopping_smart_ad", "MESSAGE"], + ["ad_group_ad.ad.smart_campaign_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.smart_campaign_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.system_managed_resource_source", "ENUM"], + ["ad_group_ad.ad.text_ad.description1", "STRING"], + ["ad_group_ad.ad.text_ad.description2", "STRING"], + ["ad_group_ad.ad.text_ad.headline", "STRING"], + ["ad_group_ad.ad.tracking_url_template", "STRING"], + ["ad_group_ad.ad.travel_ad", "MESSAGE"], + ["ad_group_ad.ad.type", "ENUM"], + ["ad_group_ad.ad.url_collections", "MESSAGE"], + ["ad_group_ad.ad.url_custom_parameters", "MESSAGE"], + ["ad_group_ad.ad.video_ad.bumper.action_button_label", "STRING"], + ["ad_group_ad.ad.video_ad.bumper.action_headline", "STRING"], + ["ad_group_ad.ad.video_ad.bumper.companion_banner.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.video_ad.in_feed.description1", "STRING"], + ["ad_group_ad.ad.video_ad.in_feed.description2", "STRING"], + ["ad_group_ad.ad.video_ad.in_feed.headline", "STRING"], + ["ad_group_ad.ad.video_ad.in_feed.thumbnail", "ENUM"], + ["ad_group_ad.ad.video_ad.in_stream.action_button_label", "STRING"], + ["ad_group_ad.ad.video_ad.in_stream.action_headline", "STRING"], + ["ad_group_ad.ad.video_ad.in_stream.companion_banner.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.video_ad.non_skippable.action_button_label", "STRING"], + ["ad_group_ad.ad.video_ad.non_skippable.action_headline", "STRING"], + [ + "ad_group_ad.ad.video_ad.non_skippable.companion_banner.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.video_ad.out_stream.description", "STRING"], + ["ad_group_ad.ad.video_ad.out_stream.headline", "STRING"], + ["ad_group_ad.ad.video_ad.video.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad.video_responsive_ad.breadcrumb1", "STRING"], + ["ad_group_ad.ad.video_responsive_ad.breadcrumb2", "STRING"], + ["ad_group_ad.ad.video_responsive_ad.call_to_actions", "MESSAGE"], + ["ad_group_ad.ad.video_responsive_ad.companion_banners", "MESSAGE"], + [ + "ad_group_ad.ad.video_responsive_ad.companion_banners.asset", + "RESOURCE_NAME", + ], + ["ad_group_ad.ad.video_responsive_ad.descriptions", "MESSAGE"], + ["ad_group_ad.ad.video_responsive_ad.headlines", "MESSAGE"], + ["ad_group_ad.ad.video_responsive_ad.long_headlines", "MESSAGE"], + ["ad_group_ad.ad.video_responsive_ad.videos", "MESSAGE"], + ["ad_group_ad.ad.video_responsive_ad.videos.asset", "RESOURCE_NAME"], + ["ad_group_ad.ad_group", "RESOURCE_NAME"], + ["ad_group_ad.ad_strength", "ENUM"], + ["ad_group_ad.labels", "RESOURCE_NAME"], + ["ad_group_ad.policy_summary.approval_status", "ENUM"], + ["ad_group_ad.policy_summary.policy_topic_entries", "MESSAGE"], + ["ad_group_ad.policy_summary.review_status", "ENUM"], + ["ad_group_ad.resource_name", "RESOURCE_NAME"], + ["ad_group_ad.status", "ENUM"], + ["ad_group_ad_asset_combination_view", "MESSAGE"], + ["ad_group_ad_asset_combination_view.enabled", "BOOLEAN"], + ["ad_group_ad_asset_combination_view.resource_name", "RESOURCE_NAME"], + ["ad_group_ad_asset_combination_view.served_assets", "MESSAGE"], + ["ad_group_ad_asset_view", "MESSAGE"], + ["ad_group_ad_asset_view.ad_group_ad", "RESOURCE_NAME"], + ["ad_group_ad_asset_view.asset", "RESOURCE_NAME"], + ["ad_group_ad_asset_view.enabled", "BOOLEAN"], + ["ad_group_ad_asset_view.field_type", "ENUM"], + ["ad_group_ad_asset_view.performance_label", "ENUM"], + ["ad_group_ad_asset_view.pinned_field", "ENUM"], + ["ad_group_ad_asset_view.policy_summary", "MESSAGE"], + ["ad_group_ad_asset_view.resource_name", "RESOURCE_NAME"], + ["ad_group_ad_label", "MESSAGE"], + ["ad_group_ad_label.ad_group_ad", "RESOURCE_NAME"], + ["ad_group_ad_label.label", "RESOURCE_NAME"], + ["ad_group_ad_label.resource_name", "RESOURCE_NAME"], + ["ad_group_asset", "MESSAGE"], + ["ad_group_asset.ad_group", "RESOURCE_NAME"], + ["ad_group_asset.asset", "RESOURCE_NAME"], + ["ad_group_asset.field_type", "ENUM"], + ["ad_group_asset.primary_status", "ENUM"], + ["ad_group_asset.primary_status_details", "MESSAGE"], + ["ad_group_asset.primary_status_reasons", "ENUM"], + ["ad_group_asset.resource_name", "RESOURCE_NAME"], + ["ad_group_asset.source", "ENUM"], + ["ad_group_asset.status", "ENUM"], + ["ad_group_asset_set", "MESSAGE"], + ["ad_group_asset_set.ad_group", "RESOURCE_NAME"], + ["ad_group_asset_set.asset_set", "RESOURCE_NAME"], + ["ad_group_asset_set.resource_name", "RESOURCE_NAME"], + ["ad_group_asset_set.status", "ENUM"], + ["ad_group_audience_view", "MESSAGE"], + ["ad_group_audience_view.resource_name", "RESOURCE_NAME"], + ["ad_group_bid_modifier", "MESSAGE"], + ["ad_group_bid_modifier.ad_group", "RESOURCE_NAME"], + ["ad_group_bid_modifier.base_ad_group", "RESOURCE_NAME"], + ["ad_group_bid_modifier.bid_modifier", "DOUBLE"], + ["ad_group_bid_modifier.bid_modifier_source", "ENUM"], + ["ad_group_bid_modifier.criterion_id", "INT64"], + ["ad_group_bid_modifier.device.type", "ENUM"], + ["ad_group_bid_modifier.hotel_advance_booking_window.max_days", "INT64"], + ["ad_group_bid_modifier.hotel_advance_booking_window.min_days", "INT64"], + ["ad_group_bid_modifier.hotel_check_in_date_range.end_date", "STRING"], + ["ad_group_bid_modifier.hotel_check_in_date_range.start_date", "STRING"], + ["ad_group_bid_modifier.hotel_check_in_day.day_of_week", "ENUM"], + ["ad_group_bid_modifier.hotel_date_selection_type.type", "ENUM"], + ["ad_group_bid_modifier.hotel_length_of_stay.max_nights", "INT64"], + ["ad_group_bid_modifier.hotel_length_of_stay.min_nights", "INT64"], + ["ad_group_bid_modifier.resource_name", "RESOURCE_NAME"], + ["ad_group_criterion", "MESSAGE"], + ["ad_group_criterion.ad_group", "RESOURCE_NAME"], + ["ad_group_criterion.age_range.type", "ENUM"], + ["ad_group_criterion.app_payment_model.type", "ENUM"], + ["ad_group_criterion.approval_status", "ENUM"], + ["ad_group_criterion.audience.audience", "RESOURCE_NAME"], + ["ad_group_criterion.bid_modifier", "DOUBLE"], + ["ad_group_criterion.combined_audience.combined_audience", "RESOURCE_NAME"], + ["ad_group_criterion.cpc_bid_micros", "INT64"], + ["ad_group_criterion.cpm_bid_micros", "INT64"], + ["ad_group_criterion.cpv_bid_micros", "INT64"], + ["ad_group_criterion.criterion_id", "INT64"], + ["ad_group_criterion.custom_affinity.custom_affinity", "RESOURCE_NAME"], + ["ad_group_criterion.custom_audience.custom_audience", "RESOURCE_NAME"], + ["ad_group_criterion.custom_intent.custom_intent", "RESOURCE_NAME"], + ["ad_group_criterion.disapproval_reasons", "STRING"], + ["ad_group_criterion.display_name", "STRING"], + ["ad_group_criterion.effective_cpc_bid_micros", "INT64"], + ["ad_group_criterion.effective_cpc_bid_source", "ENUM"], + ["ad_group_criterion.effective_cpm_bid_micros", "INT64"], + ["ad_group_criterion.effective_cpm_bid_source", "ENUM"], + ["ad_group_criterion.effective_cpv_bid_micros", "INT64"], + ["ad_group_criterion.effective_cpv_bid_source", "ENUM"], + ["ad_group_criterion.effective_percent_cpc_bid_micros", "INT64"], + ["ad_group_criterion.effective_percent_cpc_bid_source", "ENUM"], + ["ad_group_criterion.final_mobile_urls", "STRING"], + ["ad_group_criterion.final_url_suffix", "STRING"], + ["ad_group_criterion.final_urls", "STRING"], + ["ad_group_criterion.gender.type", "ENUM"], + ["ad_group_criterion.income_range.type", "ENUM"], + ["ad_group_criterion.keyword.match_type", "ENUM"], + ["ad_group_criterion.keyword.text", "STRING"], + ["ad_group_criterion.labels", "RESOURCE_NAME"], + ["ad_group_criterion.language.language_constant", "RESOURCE_NAME"], + [ + "ad_group_criterion.listing_group.case_value.activity_country.value", + "RESOURCE_NAME", + ], + ["ad_group_criterion.listing_group.case_value.activity_id.value", "STRING"], + [ + "ad_group_criterion.listing_group.case_value.activity_rating.value", + "INT64", + ], + [ + "ad_group_criterion.listing_group.case_value.hotel_city.city_criterion", + "RESOURCE_NAME", + ], + ["ad_group_criterion.listing_group.case_value.hotel_class.value", "INT64"], + [ + "ad_group_criterion.listing_group.case_value.hotel_country_region.country_region_criterion", + "RESOURCE_NAME", + ], + ["ad_group_criterion.listing_group.case_value.hotel_id.value", "STRING"], + [ + "ad_group_criterion.listing_group.case_value.hotel_state.state_criterion", + "RESOURCE_NAME", + ], + [ + "ad_group_criterion.listing_group.case_value.product_bidding_category.id", + "INT64", + ], + [ + "ad_group_criterion.listing_group.case_value.product_bidding_category.level", + "ENUM", + ], + ["ad_group_criterion.listing_group.case_value.product_brand.value", "STRING"], + [ + "ad_group_criterion.listing_group.case_value.product_channel.channel", + "ENUM", + ], + [ + "ad_group_criterion.listing_group.case_value.product_channel_exclusivity.channel_exclusivity", + "ENUM", + ], + [ + "ad_group_criterion.listing_group.case_value.product_condition.condition", + "ENUM", + ], + [ + "ad_group_criterion.listing_group.case_value.product_custom_attribute.index", + "ENUM", + ], + [ + "ad_group_criterion.listing_group.case_value.product_custom_attribute.value", + "STRING", + ], + [ + "ad_group_criterion.listing_group.case_value.product_item_id.value", + "STRING", + ], + ["ad_group_criterion.listing_group.case_value.product_type.level", "ENUM"], + ["ad_group_criterion.listing_group.case_value.product_type.value", "STRING"], + [ + "ad_group_criterion.listing_group.parent_ad_group_criterion", + "RESOURCE_NAME", + ], + ["ad_group_criterion.listing_group.path", "MESSAGE"], + ["ad_group_criterion.listing_group.type", "ENUM"], + ["ad_group_criterion.location.geo_target_constant", "RESOURCE_NAME"], + [ + "ad_group_criterion.mobile_app_category.mobile_app_category_constant", + "RESOURCE_NAME", + ], + ["ad_group_criterion.mobile_application.app_id", "STRING"], + ["ad_group_criterion.mobile_application.name", "STRING"], + ["ad_group_criterion.negative", "BOOLEAN"], + ["ad_group_criterion.parental_status.type", "ENUM"], + ["ad_group_criterion.percent_cpc_bid_micros", "INT64"], + ["ad_group_criterion.placement.url", "STRING"], + [ + "ad_group_criterion.position_estimates.estimated_add_clicks_at_first_position_cpc", + "INT64", + ], + [ + "ad_group_criterion.position_estimates.estimated_add_cost_at_first_position_cpc", + "INT64", + ], + ["ad_group_criterion.position_estimates.first_page_cpc_micros", "INT64"], + ["ad_group_criterion.position_estimates.first_position_cpc_micros", "INT64"], + ["ad_group_criterion.position_estimates.top_of_page_cpc_micros", "INT64"], + ["ad_group_criterion.quality_info.creative_quality_score", "ENUM"], + ["ad_group_criterion.quality_info.post_click_quality_score", "ENUM"], + ["ad_group_criterion.quality_info.quality_score", "INT32"], + ["ad_group_criterion.quality_info.search_predicted_ctr", "ENUM"], + ["ad_group_criterion.resource_name", "RESOURCE_NAME"], + ["ad_group_criterion.status", "ENUM"], + ["ad_group_criterion.system_serving_status", "ENUM"], + ["ad_group_criterion.topic.path", "STRING"], + ["ad_group_criterion.topic.topic_constant", "RESOURCE_NAME"], + ["ad_group_criterion.tracking_url_template", "STRING"], + ["ad_group_criterion.type", "ENUM"], + ["ad_group_criterion.url_custom_parameters", "MESSAGE"], + ["ad_group_criterion.user_interest.user_interest_category", "RESOURCE_NAME"], + ["ad_group_criterion.user_list.user_list", "RESOURCE_NAME"], + ["ad_group_criterion.webpage.conditions", "MESSAGE"], + ["ad_group_criterion.webpage.coverage_percentage", "DOUBLE"], + ["ad_group_criterion.webpage.criterion_name", "STRING"], + ["ad_group_criterion.webpage.sample.sample_urls", "STRING"], + ["ad_group_criterion.youtube_channel.channel_id", "STRING"], + ["ad_group_criterion.youtube_video.video_id", "STRING"], + ["ad_group_criterion_customizer", "MESSAGE"], + ["ad_group_criterion_customizer.ad_group_criterion", "RESOURCE_NAME"], + ["ad_group_criterion_customizer.customizer_attribute", "RESOURCE_NAME"], + ["ad_group_criterion_customizer.resource_name", "RESOURCE_NAME"], + ["ad_group_criterion_customizer.status", "ENUM"], + ["ad_group_criterion_customizer.value.string_value", "STRING"], + ["ad_group_criterion_customizer.value.type", "ENUM"], + ["ad_group_criterion_label", "MESSAGE"], + ["ad_group_criterion_label.ad_group_criterion", "RESOURCE_NAME"], + ["ad_group_criterion_label.label", "RESOURCE_NAME"], + ["ad_group_criterion_label.resource_name", "RESOURCE_NAME"], + ["ad_group_criterion_simulation", "MESSAGE"], + ["ad_group_criterion_simulation.ad_group_id", "INT64"], + ["ad_group_criterion_simulation.cpc_bid_point_list.points", "MESSAGE"], + ["ad_group_criterion_simulation.criterion_id", "INT64"], + ["ad_group_criterion_simulation.end_date", "DATE"], + ["ad_group_criterion_simulation.modification_method", "ENUM"], + [ + "ad_group_criterion_simulation.percent_cpc_bid_point_list.points", + "MESSAGE", + ], + ["ad_group_criterion_simulation.resource_name", "RESOURCE_NAME"], + ["ad_group_criterion_simulation.start_date", "DATE"], + ["ad_group_criterion_simulation.type", "ENUM"], + ["ad_group_customizer", "MESSAGE"], + ["ad_group_customizer.ad_group", "RESOURCE_NAME"], + ["ad_group_customizer.customizer_attribute", "RESOURCE_NAME"], + ["ad_group_customizer.resource_name", "RESOURCE_NAME"], + ["ad_group_customizer.status", "ENUM"], + ["ad_group_customizer.value.string_value", "STRING"], + ["ad_group_customizer.value.type", "ENUM"], + ["ad_group_extension_setting", "MESSAGE"], + ["ad_group_extension_setting.ad_group", "RESOURCE_NAME"], + ["ad_group_extension_setting.device", "ENUM"], + ["ad_group_extension_setting.extension_feed_items", "RESOURCE_NAME"], + ["ad_group_extension_setting.extension_type", "ENUM"], + ["ad_group_extension_setting.resource_name", "RESOURCE_NAME"], + ["ad_group_feed", "MESSAGE"], + ["ad_group_feed.ad_group", "RESOURCE_NAME"], + ["ad_group_feed.feed", "RESOURCE_NAME"], + ["ad_group_feed.matching_function.function_string", "STRING"], + ["ad_group_feed.matching_function.left_operands", "MESSAGE"], + ["ad_group_feed.matching_function.operator", "ENUM"], + ["ad_group_feed.matching_function.right_operands", "MESSAGE"], + ["ad_group_feed.placeholder_types", "ENUM"], + ["ad_group_feed.resource_name", "RESOURCE_NAME"], + ["ad_group_feed.status", "ENUM"], + ["ad_group_label", "MESSAGE"], + ["ad_group_label.ad_group", "RESOURCE_NAME"], + ["ad_group_label.label", "RESOURCE_NAME"], + ["ad_group_label.resource_name", "RESOURCE_NAME"], + ["ad_group_simulation", "MESSAGE"], + ["ad_group_simulation.ad_group_id", "INT64"], + ["ad_group_simulation.cpc_bid_point_list.points", "MESSAGE"], + ["ad_group_simulation.cpv_bid_point_list.points", "MESSAGE"], + ["ad_group_simulation.end_date", "DATE"], + ["ad_group_simulation.modification_method", "ENUM"], + ["ad_group_simulation.resource_name", "RESOURCE_NAME"], + ["ad_group_simulation.start_date", "DATE"], + ["ad_group_simulation.target_cpa_point_list.points", "MESSAGE"], + ["ad_group_simulation.target_roas_point_list.points", "MESSAGE"], + ["ad_group_simulation.type", "ENUM"], + ["ad_parameter", "MESSAGE"], + ["ad_parameter.ad_group_criterion", "RESOURCE_NAME"], + ["ad_parameter.insertion_text", "STRING"], + ["ad_parameter.parameter_index", "INT64"], + ["ad_parameter.resource_name", "RESOURCE_NAME"], + ["ad_schedule_view", "MESSAGE"], + ["ad_schedule_view.resource_name", "RESOURCE_NAME"], + ["age_range_view", "MESSAGE"], + ["age_range_view.resource_name", "RESOURCE_NAME"], + ["asset", "MESSAGE"], + ["asset.book_on_google_asset", "MESSAGE"], + ["asset.call_asset.ad_schedule_targets", "MESSAGE"], + ["asset.call_asset.call_conversion_action", "RESOURCE_NAME"], + ["asset.call_asset.call_conversion_reporting_state", "ENUM"], + ["asset.call_asset.country_code", "STRING"], + ["asset.call_asset.phone_number", "STRING"], + ["asset.call_to_action_asset.call_to_action", "ENUM"], + ["asset.callout_asset.ad_schedule_targets", "MESSAGE"], + ["asset.callout_asset.callout_text", "STRING"], + ["asset.callout_asset.end_date", "DATE"], + ["asset.callout_asset.start_date", "DATE"], + ["asset.discovery_carousel_card_asset.call_to_action_text", "STRING"], + ["asset.discovery_carousel_card_asset.headline", "STRING"], + [ + "asset.discovery_carousel_card_asset.marketing_image_asset", + "RESOURCE_NAME", + ], + [ + "asset.discovery_carousel_card_asset.portrait_marketing_image_asset", + "RESOURCE_NAME", + ], + [ + "asset.discovery_carousel_card_asset.square_marketing_image_asset", + "RESOURCE_NAME", + ], + ["asset.dynamic_custom_asset.android_app_link", "STRING"], + ["asset.dynamic_custom_asset.contextual_keywords", "STRING"], + ["asset.dynamic_custom_asset.formatted_price", "STRING"], + ["asset.dynamic_custom_asset.formatted_sale_price", "STRING"], + ["asset.dynamic_custom_asset.id", "STRING"], + ["asset.dynamic_custom_asset.id2", "STRING"], + ["asset.dynamic_custom_asset.image_url", "STRING"], + ["asset.dynamic_custom_asset.ios_app_link", "STRING"], + ["asset.dynamic_custom_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_custom_asset.item_address", "STRING"], + ["asset.dynamic_custom_asset.item_category", "STRING"], + ["asset.dynamic_custom_asset.item_description", "STRING"], + ["asset.dynamic_custom_asset.item_subtitle", "STRING"], + ["asset.dynamic_custom_asset.item_title", "STRING"], + ["asset.dynamic_custom_asset.price", "STRING"], + ["asset.dynamic_custom_asset.sale_price", "STRING"], + ["asset.dynamic_custom_asset.similar_ids", "STRING"], + ["asset.dynamic_education_asset.address", "STRING"], + ["asset.dynamic_education_asset.android_app_link", "STRING"], + ["asset.dynamic_education_asset.contextual_keywords", "STRING"], + ["asset.dynamic_education_asset.image_url", "STRING"], + ["asset.dynamic_education_asset.ios_app_link", "STRING"], + ["asset.dynamic_education_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_education_asset.location_id", "STRING"], + ["asset.dynamic_education_asset.program_description", "STRING"], + ["asset.dynamic_education_asset.program_id", "STRING"], + ["asset.dynamic_education_asset.program_name", "STRING"], + ["asset.dynamic_education_asset.school_name", "STRING"], + ["asset.dynamic_education_asset.similar_program_ids", "STRING"], + ["asset.dynamic_education_asset.subject", "STRING"], + ["asset.dynamic_education_asset.thumbnail_image_url", "STRING"], + ["asset.dynamic_flights_asset.android_app_link", "STRING"], + ["asset.dynamic_flights_asset.custom_mapping", "STRING"], + ["asset.dynamic_flights_asset.destination_id", "STRING"], + ["asset.dynamic_flights_asset.destination_name", "STRING"], + ["asset.dynamic_flights_asset.flight_description", "STRING"], + ["asset.dynamic_flights_asset.flight_price", "STRING"], + ["asset.dynamic_flights_asset.flight_sale_price", "STRING"], + ["asset.dynamic_flights_asset.formatted_price", "STRING"], + ["asset.dynamic_flights_asset.formatted_sale_price", "STRING"], + ["asset.dynamic_flights_asset.image_url", "STRING"], + ["asset.dynamic_flights_asset.ios_app_link", "STRING"], + ["asset.dynamic_flights_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_flights_asset.origin_id", "STRING"], + ["asset.dynamic_flights_asset.origin_name", "STRING"], + ["asset.dynamic_flights_asset.similar_destination_ids", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.address", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.android_app_link", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.category", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.contextual_keywords", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.description", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.destination_name", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.formatted_price", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.formatted_sale_price", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.image_url", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.ios_app_link", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_hotels_and_rentals_asset.price", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.property_id", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.property_name", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.sale_price", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.similar_property_ids", "STRING"], + ["asset.dynamic_hotels_and_rentals_asset.star_rating", "INT64"], + ["asset.dynamic_jobs_asset.address", "STRING"], + ["asset.dynamic_jobs_asset.android_app_link", "STRING"], + ["asset.dynamic_jobs_asset.contextual_keywords", "STRING"], + ["asset.dynamic_jobs_asset.description", "STRING"], + ["asset.dynamic_jobs_asset.image_url", "STRING"], + ["asset.dynamic_jobs_asset.ios_app_link", "STRING"], + ["asset.dynamic_jobs_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_jobs_asset.job_category", "STRING"], + ["asset.dynamic_jobs_asset.job_id", "STRING"], + ["asset.dynamic_jobs_asset.job_subtitle", "STRING"], + ["asset.dynamic_jobs_asset.job_title", "STRING"], + ["asset.dynamic_jobs_asset.location_id", "STRING"], + ["asset.dynamic_jobs_asset.salary", "STRING"], + ["asset.dynamic_jobs_asset.similar_job_ids", "STRING"], + ["asset.dynamic_local_asset.address", "STRING"], + ["asset.dynamic_local_asset.android_app_link", "STRING"], + ["asset.dynamic_local_asset.category", "STRING"], + ["asset.dynamic_local_asset.contextual_keywords", "STRING"], + ["asset.dynamic_local_asset.deal_id", "STRING"], + ["asset.dynamic_local_asset.deal_name", "STRING"], + ["asset.dynamic_local_asset.description", "STRING"], + ["asset.dynamic_local_asset.formatted_price", "STRING"], + ["asset.dynamic_local_asset.formatted_sale_price", "STRING"], + ["asset.dynamic_local_asset.image_url", "STRING"], + ["asset.dynamic_local_asset.ios_app_link", "STRING"], + ["asset.dynamic_local_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_local_asset.price", "STRING"], + ["asset.dynamic_local_asset.sale_price", "STRING"], + ["asset.dynamic_local_asset.similar_deal_ids", "STRING"], + ["asset.dynamic_local_asset.subtitle", "STRING"], + ["asset.dynamic_real_estate_asset.address", "STRING"], + ["asset.dynamic_real_estate_asset.android_app_link", "STRING"], + ["asset.dynamic_real_estate_asset.city_name", "STRING"], + ["asset.dynamic_real_estate_asset.contextual_keywords", "STRING"], + ["asset.dynamic_real_estate_asset.description", "STRING"], + ["asset.dynamic_real_estate_asset.formatted_price", "STRING"], + ["asset.dynamic_real_estate_asset.image_url", "STRING"], + ["asset.dynamic_real_estate_asset.ios_app_link", "STRING"], + ["asset.dynamic_real_estate_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_real_estate_asset.listing_id", "STRING"], + ["asset.dynamic_real_estate_asset.listing_name", "STRING"], + ["asset.dynamic_real_estate_asset.listing_type", "STRING"], + ["asset.dynamic_real_estate_asset.price", "STRING"], + ["asset.dynamic_real_estate_asset.property_type", "STRING"], + ["asset.dynamic_real_estate_asset.similar_listing_ids", "STRING"], + ["asset.dynamic_travel_asset.android_app_link", "STRING"], + ["asset.dynamic_travel_asset.category", "STRING"], + ["asset.dynamic_travel_asset.contextual_keywords", "STRING"], + ["asset.dynamic_travel_asset.destination_address", "STRING"], + ["asset.dynamic_travel_asset.destination_id", "STRING"], + ["asset.dynamic_travel_asset.destination_name", "STRING"], + ["asset.dynamic_travel_asset.formatted_price", "STRING"], + ["asset.dynamic_travel_asset.formatted_sale_price", "STRING"], + ["asset.dynamic_travel_asset.image_url", "STRING"], + ["asset.dynamic_travel_asset.ios_app_link", "STRING"], + ["asset.dynamic_travel_asset.ios_app_store_id", "INT64"], + ["asset.dynamic_travel_asset.origin_id", "STRING"], + ["asset.dynamic_travel_asset.origin_name", "STRING"], + ["asset.dynamic_travel_asset.price", "STRING"], + ["asset.dynamic_travel_asset.sale_price", "STRING"], + ["asset.dynamic_travel_asset.similar_destination_ids", "STRING"], + ["asset.dynamic_travel_asset.title", "STRING"], + ["asset.field_type_policy_summaries", "MESSAGE"], + ["asset.final_mobile_urls", "STRING"], + ["asset.final_url_suffix", "STRING"], + ["asset.final_urls", "STRING"], + ["asset.hotel_callout_asset.language_code", "STRING"], + ["asset.hotel_callout_asset.text", "STRING"], + ["asset.hotel_property_asset.hotel_address", "STRING"], + ["asset.hotel_property_asset.hotel_name", "STRING"], + ["asset.hotel_property_asset.place_id", "STRING"], + ["asset.id", "INT64"], + ["asset.image_asset.file_size", "INT64"], + ["asset.image_asset.full_size.height_pixels", "INT64"], + ["asset.image_asset.full_size.url", "STRING"], + ["asset.image_asset.full_size.width_pixels", "INT64"], + ["asset.image_asset.mime_type", "ENUM"], + ["asset.lead_form_asset.background_image_asset", "RESOURCE_NAME"], + ["asset.lead_form_asset.business_name", "STRING"], + ["asset.lead_form_asset.call_to_action_description", "STRING"], + ["asset.lead_form_asset.call_to_action_type", "ENUM"], + ["asset.lead_form_asset.custom_disclosure", "STRING"], + ["asset.lead_form_asset.custom_question_fields", "MESSAGE"], + ["asset.lead_form_asset.delivery_methods", "MESSAGE"], + ["asset.lead_form_asset.description", "STRING"], + ["asset.lead_form_asset.desired_intent", "ENUM"], + ["asset.lead_form_asset.fields", "MESSAGE"], + ["asset.lead_form_asset.headline", "STRING"], + ["asset.lead_form_asset.post_submit_call_to_action_type", "ENUM"], + ["asset.lead_form_asset.post_submit_description", "STRING"], + ["asset.lead_form_asset.post_submit_headline", "STRING"], + ["asset.lead_form_asset.privacy_policy_url", "STRING"], + ["asset.location_asset.business_profile_locations", "MESSAGE"], + ["asset.location_asset.location_ownership_type", "ENUM"], + ["asset.location_asset.place_id", "STRING"], + ["asset.mobile_app_asset.app_id", "STRING"], + ["asset.mobile_app_asset.app_store", "ENUM"], + ["asset.mobile_app_asset.end_date", "DATE"], + ["asset.mobile_app_asset.link_text", "STRING"], + ["asset.mobile_app_asset.start_date", "DATE"], + ["asset.name", "STRING"], + ["asset.page_feed_asset.labels", "STRING"], + ["asset.page_feed_asset.page_url", "STRING"], + ["asset.policy_summary.approval_status", "ENUM"], + ["asset.policy_summary.policy_topic_entries", "MESSAGE"], + ["asset.policy_summary.review_status", "ENUM"], + ["asset.price_asset.language_code", "STRING"], + ["asset.price_asset.price_offerings", "MESSAGE"], + ["asset.price_asset.price_qualifier", "ENUM"], + ["asset.price_asset.type", "ENUM"], + ["asset.promotion_asset.ad_schedule_targets", "MESSAGE"], + ["asset.promotion_asset.discount_modifier", "ENUM"], + ["asset.promotion_asset.end_date", "DATE"], + ["asset.promotion_asset.language_code", "STRING"], + ["asset.promotion_asset.money_amount_off.amount_micros", "INT64"], + ["asset.promotion_asset.money_amount_off.currency_code", "STRING"], + ["asset.promotion_asset.occasion", "ENUM"], + ["asset.promotion_asset.orders_over_amount.amount_micros", "INT64"], + ["asset.promotion_asset.orders_over_amount.currency_code", "STRING"], + ["asset.promotion_asset.percent_off", "INT64"], + ["asset.promotion_asset.promotion_code", "STRING"], + ["asset.promotion_asset.promotion_target", "STRING"], + ["asset.promotion_asset.redemption_end_date", "DATE"], + ["asset.promotion_asset.redemption_start_date", "DATE"], + ["asset.promotion_asset.start_date", "DATE"], + ["asset.resource_name", "RESOURCE_NAME"], + ["asset.sitelink_asset.ad_schedule_targets", "MESSAGE"], + ["asset.sitelink_asset.description1", "STRING"], + ["asset.sitelink_asset.description2", "STRING"], + ["asset.sitelink_asset.end_date", "DATE"], + ["asset.sitelink_asset.link_text", "STRING"], + ["asset.sitelink_asset.start_date", "DATE"], + ["asset.source", "ENUM"], + ["asset.structured_snippet_asset.header", "STRING"], + ["asset.structured_snippet_asset.values", "STRING"], + ["asset.text_asset.text", "STRING"], + ["asset.tracking_url_template", "STRING"], + ["asset.type", "ENUM"], + ["asset.url_custom_parameters", "MESSAGE"], + ["asset.youtube_video_asset.youtube_video_id", "STRING"], + ["asset.youtube_video_asset.youtube_video_title", "STRING"], + ["asset_field_type_view", "MESSAGE"], + ["asset_field_type_view.field_type", "ENUM"], + ["asset_field_type_view.resource_name", "RESOURCE_NAME"], + ["asset_group", "MESSAGE"], + ["asset_group.ad_strength", "ENUM"], + ["asset_group.campaign", "RESOURCE_NAME"], + ["asset_group.final_mobile_urls", "STRING"], + ["asset_group.final_urls", "STRING"], + ["asset_group.id", "INT64"], + ["asset_group.name", "STRING"], + ["asset_group.path1", "STRING"], + ["asset_group.path2", "STRING"], + ["asset_group.primary_status", "ENUM"], + ["asset_group.primary_status_reasons", "ENUM"], + ["asset_group.resource_name", "RESOURCE_NAME"], + ["asset_group.status", "ENUM"], + ["asset_group_asset", "MESSAGE"], + ["asset_group_asset.asset", "RESOURCE_NAME"], + ["asset_group_asset.asset_group", "RESOURCE_NAME"], + ["asset_group_asset.field_type", "ENUM"], + ["asset_group_asset.performance_label", "ENUM"], + ["asset_group_asset.policy_summary.approval_status", "ENUM"], + ["asset_group_asset.policy_summary.policy_topic_entries", "MESSAGE"], + ["asset_group_asset.policy_summary.review_status", "ENUM"], + ["asset_group_asset.primary_status", "ENUM"], + ["asset_group_asset.primary_status_details", "MESSAGE"], + ["asset_group_asset.primary_status_reasons", "ENUM"], + ["asset_group_asset.resource_name", "RESOURCE_NAME"], + ["asset_group_asset.status", "ENUM"], + ["asset_group_listing_group_filter", "MESSAGE"], + ["asset_group_listing_group_filter.asset_group", "RESOURCE_NAME"], + [ + "asset_group_listing_group_filter.case_value.product_bidding_category.id", + "INT64", + ], + [ + "asset_group_listing_group_filter.case_value.product_bidding_category.level", + "ENUM", + ], + ["asset_group_listing_group_filter.case_value.product_brand.value", "STRING"], + [ + "asset_group_listing_group_filter.case_value.product_channel.channel", + "ENUM", + ], + [ + "asset_group_listing_group_filter.case_value.product_condition.condition", + "ENUM", + ], + [ + "asset_group_listing_group_filter.case_value.product_custom_attribute.index", + "ENUM", + ], + [ + "asset_group_listing_group_filter.case_value.product_custom_attribute.value", + "STRING", + ], + [ + "asset_group_listing_group_filter.case_value.product_item_id.value", + "STRING", + ], + ["asset_group_listing_group_filter.case_value.product_type.level", "ENUM"], + ["asset_group_listing_group_filter.case_value.product_type.value", "STRING"], + ["asset_group_listing_group_filter.id", "INT64"], + [ + "asset_group_listing_group_filter.parent_listing_group_filter", + "RESOURCE_NAME", + ], + ["asset_group_listing_group_filter.path", "MESSAGE"], + ["asset_group_listing_group_filter.resource_name", "RESOURCE_NAME"], + ["asset_group_listing_group_filter.type", "ENUM"], + ["asset_group_listing_group_filter.vertical", "ENUM"], + ["asset_group_product_group_view", "MESSAGE"], + ["asset_group_product_group_view.asset_group", "RESOURCE_NAME"], + [ + "asset_group_product_group_view.asset_group_listing_group_filter", + "RESOURCE_NAME", + ], + ["asset_group_product_group_view.resource_name", "RESOURCE_NAME"], + ["asset_group_signal", "MESSAGE"], + ["asset_group_signal.asset_group", "RESOURCE_NAME"], + ["asset_group_signal.audience.audience", "RESOURCE_NAME"], + ["asset_group_signal.resource_name", "RESOURCE_NAME"], + ["asset_set", "MESSAGE"], + [ + "asset_set.business_profile_location_group.dynamic_business_profile_location_group_filter.business_name_filter.business_name", + "STRING", + ], + [ + "asset_set.business_profile_location_group.dynamic_business_profile_location_group_filter.business_name_filter.filter_type", + "ENUM", + ], + [ + "asset_set.business_profile_location_group.dynamic_business_profile_location_group_filter.label_filters", + "STRING", + ], + [ + "asset_set.business_profile_location_group.dynamic_business_profile_location_group_filter.listing_id_filters", + "INT64", + ], + ["asset_set.hotel_property_data.hotel_center_id", "INT64"], + ["asset_set.hotel_property_data.partner_name", "STRING"], + ["asset_set.id", "INT64"], + ["asset_set.location_group_parent_asset_set_id", "INT64"], + [ + "asset_set.location_set.business_profile_location_set.business_name_filter", + "STRING", + ], + [ + "asset_set.location_set.business_profile_location_set.label_filters", + "STRING", + ], + [ + "asset_set.location_set.business_profile_location_set.listing_id_filters", + "INT64", + ], + ["asset_set.location_set.chain_location_set.relationship_type", "ENUM"], + ["asset_set.location_set.location_ownership_type", "ENUM"], + ["asset_set.merchant_center_feed.feed_label", "STRING"], + ["asset_set.merchant_center_feed.merchant_id", "INT64"], + ["asset_set.name", "STRING"], + ["asset_set.resource_name", "RESOURCE_NAME"], + ["asset_set.status", "ENUM"], + ["asset_set.type", "ENUM"], + ["asset_set_asset", "MESSAGE"], + ["asset_set_asset.asset", "RESOURCE_NAME"], + ["asset_set_asset.asset_set", "RESOURCE_NAME"], + ["asset_set_asset.resource_name", "RESOURCE_NAME"], + ["asset_set_asset.status", "ENUM"], + ["asset_set_type_view", "MESSAGE"], + ["asset_set_type_view.asset_set_type", "ENUM"], + ["asset_set_type_view.resource_name", "RESOURCE_NAME"], + ["audience", "MESSAGE"], + ["audience.description", "STRING"], + ["audience.dimensions", "MESSAGE"], + [ + "audience.dimensions.audience_segments.segments.custom_audience.custom_audience", + "RESOURCE_NAME", + ], + [ + "audience.dimensions.audience_segments.segments.detailed_demographic.detailed_demographic", + "RESOURCE_NAME", + ], + [ + "audience.dimensions.audience_segments.segments.life_event.life_event", + "RESOURCE_NAME", + ], + [ + "audience.dimensions.audience_segments.segments.user_interest.user_interest_category", + "RESOURCE_NAME", + ], + [ + "audience.dimensions.audience_segments.segments.user_list.user_list", + "RESOURCE_NAME", + ], + ["audience.exclusion_dimension", "MESSAGE"], + [ + "audience.exclusion_dimension.exclusions.user_list.user_list", + "RESOURCE_NAME", + ], + ["audience.id", "INT64"], + ["audience.name", "STRING"], + ["audience.resource_name", "RESOURCE_NAME"], + ["audience.status", "ENUM"], + ["batch_job", "MESSAGE"], + ["batch_job.id", "INT64"], + ["batch_job.long_running_operation", "STRING"], + ["batch_job.metadata.completion_date_time", "DATE"], + ["batch_job.metadata.creation_date_time", "DATE"], + ["batch_job.metadata.estimated_completion_ratio", "DOUBLE"], + ["batch_job.metadata.executed_operation_count", "INT64"], + ["batch_job.metadata.execution_limit_seconds", "INT32"], + ["batch_job.metadata.operation_count", "INT64"], + ["batch_job.metadata.start_date_time", "DATE"], + ["batch_job.next_add_sequence_token", "STRING"], + ["batch_job.resource_name", "RESOURCE_NAME"], + ["batch_job.status", "ENUM"], + ["bidding_data_exclusion", "MESSAGE"], + ["bidding_data_exclusion.advertising_channel_types", "ENUM"], + ["bidding_data_exclusion.campaigns", "RESOURCE_NAME"], + ["bidding_data_exclusion.data_exclusion_id", "INT64"], + ["bidding_data_exclusion.description", "STRING"], + ["bidding_data_exclusion.devices", "ENUM"], + ["bidding_data_exclusion.end_date_time", "STRING"], + ["bidding_data_exclusion.name", "STRING"], + ["bidding_data_exclusion.resource_name", "RESOURCE_NAME"], + ["bidding_data_exclusion.scope", "ENUM"], + ["bidding_data_exclusion.start_date_time", "STRING"], + ["bidding_data_exclusion.status", "ENUM"], + ["bidding_seasonality_adjustment", "MESSAGE"], + ["bidding_seasonality_adjustment.advertising_channel_types", "ENUM"], + ["bidding_seasonality_adjustment.campaigns", "RESOURCE_NAME"], + ["bidding_seasonality_adjustment.conversion_rate_modifier", "DOUBLE"], + ["bidding_seasonality_adjustment.description", "STRING"], + ["bidding_seasonality_adjustment.devices", "ENUM"], + ["bidding_seasonality_adjustment.end_date_time", "STRING"], + ["bidding_seasonality_adjustment.name", "STRING"], + ["bidding_seasonality_adjustment.resource_name", "RESOURCE_NAME"], + ["bidding_seasonality_adjustment.scope", "ENUM"], + ["bidding_seasonality_adjustment.seasonality_adjustment_id", "INT64"], + ["bidding_seasonality_adjustment.start_date_time", "STRING"], + ["bidding_seasonality_adjustment.status", "ENUM"], + ["bidding_strategy", "MESSAGE"], + ["bidding_strategy.aligned_campaign_budget_id", "INT64"], + ["bidding_strategy.campaign_count", "INT64"], + ["bidding_strategy.currency_code", "STRING"], + ["bidding_strategy.effective_currency_code", "STRING"], + ["bidding_strategy.enhanced_cpc", "MESSAGE"], + ["bidding_strategy.id", "INT64"], + [ + "bidding_strategy.maximize_conversion_value.cpc_bid_ceiling_micros", + "INT64", + ], + ["bidding_strategy.maximize_conversion_value.cpc_bid_floor_micros", "INT64"], + ["bidding_strategy.maximize_conversion_value.target_roas", "DOUBLE"], + ["bidding_strategy.maximize_conversions.cpc_bid_ceiling_micros", "INT64"], + ["bidding_strategy.maximize_conversions.cpc_bid_floor_micros", "INT64"], + ["bidding_strategy.maximize_conversions.target_cpa_micros", "INT64"], + ["bidding_strategy.name", "STRING"], + ["bidding_strategy.non_removed_campaign_count", "INT64"], + ["bidding_strategy.resource_name", "RESOURCE_NAME"], + ["bidding_strategy.status", "ENUM"], + ["bidding_strategy.target_cpa.cpc_bid_ceiling_micros", "INT64"], + ["bidding_strategy.target_cpa.cpc_bid_floor_micros", "INT64"], + ["bidding_strategy.target_cpa.target_cpa_micros", "INT64"], + ["bidding_strategy.target_impression_share.cpc_bid_ceiling_micros", "INT64"], + ["bidding_strategy.target_impression_share.location", "ENUM"], + [ + "bidding_strategy.target_impression_share.location_fraction_micros", + "INT64", + ], + ["bidding_strategy.target_roas.cpc_bid_ceiling_micros", "INT64"], + ["bidding_strategy.target_roas.cpc_bid_floor_micros", "INT64"], + ["bidding_strategy.target_roas.target_roas", "DOUBLE"], + ["bidding_strategy.target_spend.cpc_bid_ceiling_micros", "INT64"], + ["bidding_strategy.target_spend.target_spend_micros", "INT64"], + ["bidding_strategy.type", "ENUM"], + ["bidding_strategy_simulation", "MESSAGE"], + ["bidding_strategy_simulation.bidding_strategy_id", "INT64"], + ["bidding_strategy_simulation.end_date", "DATE"], + ["bidding_strategy_simulation.modification_method", "ENUM"], + ["bidding_strategy_simulation.resource_name", "RESOURCE_NAME"], + ["bidding_strategy_simulation.start_date", "DATE"], + ["bidding_strategy_simulation.target_cpa_point_list.points", "MESSAGE"], + ["bidding_strategy_simulation.target_roas_point_list.points", "MESSAGE"], + ["bidding_strategy_simulation.type", "ENUM"], + ["billing_setup", "MESSAGE"], + ["billing_setup.end_date_time", "DATE"], + ["billing_setup.end_time_type", "ENUM"], + ["billing_setup.id", "INT64"], + ["billing_setup.payments_account", "RESOURCE_NAME"], + ["billing_setup.payments_account_info.payments_account_id", "STRING"], + ["billing_setup.payments_account_info.payments_account_name", "STRING"], + ["billing_setup.payments_account_info.payments_profile_id", "STRING"], + ["billing_setup.payments_account_info.payments_profile_name", "STRING"], + [ + "billing_setup.payments_account_info.secondary_payments_profile_id", + "STRING", + ], + ["billing_setup.resource_name", "RESOURCE_NAME"], + ["billing_setup.start_date_time", "DATE"], + ["billing_setup.status", "ENUM"], + ["call_view", "MESSAGE"], + ["call_view.call_duration_seconds", "INT64"], + ["call_view.call_status", "ENUM"], + ["call_view.call_tracking_display_location", "ENUM"], + ["call_view.caller_area_code", "STRING"], + ["call_view.caller_country_code", "STRING"], + ["call_view.end_call_date_time", "DATE"], + ["call_view.resource_name", "RESOURCE_NAME"], + ["call_view.start_call_date_time", "DATE"], + ["call_view.type", "ENUM"], + ["campaign", "MESSAGE"], + ["campaign.accessible_bidding_strategy", "RESOURCE_NAME"], + ["campaign.ad_serving_optimization_status", "ENUM"], + ["campaign.advertising_channel_sub_type", "ENUM"], + ["campaign.advertising_channel_type", "ENUM"], + ["campaign.app_campaign_setting.app_id", "STRING"], + ["campaign.app_campaign_setting.app_store", "ENUM"], + ["campaign.app_campaign_setting.bidding_strategy_goal_type", "ENUM"], + ["campaign.audience_setting.use_audience_grouped", "BOOLEAN"], + ["campaign.base_campaign", "RESOURCE_NAME"], + ["campaign.bidding_strategy", "RESOURCE_NAME"], + ["campaign.bidding_strategy_system_status", "ENUM"], + ["campaign.bidding_strategy_type", "ENUM"], + ["campaign.campaign_budget", "RESOURCE_NAME"], + ["campaign.campaign_group", "RESOURCE_NAME"], + ["campaign.commission.commission_rate_micros", "INT64"], + ["campaign.discovery_campaign_settings.upgraded_targeting", "BOOLEAN"], + ["campaign.dynamic_search_ads_setting.domain_name", "STRING"], + ["campaign.dynamic_search_ads_setting.feeds", "RESOURCE_NAME"], + ["campaign.dynamic_search_ads_setting.language_code", "STRING"], + ["campaign.dynamic_search_ads_setting.use_supplied_urls_only", "BOOLEAN"], + ["campaign.end_date", "DATE"], + ["campaign.excluded_parent_asset_field_types", "ENUM"], + ["campaign.excluded_parent_asset_set_types", "ENUM"], + ["campaign.experiment_type", "ENUM"], + ["campaign.final_url_suffix", "STRING"], + ["campaign.frequency_caps", "MESSAGE"], + ["campaign.geo_target_type_setting.negative_geo_target_type", "ENUM"], + ["campaign.geo_target_type_setting.positive_geo_target_type", "ENUM"], + ["campaign.hotel_property_asset_set", "RESOURCE_NAME"], + ["campaign.hotel_setting.hotel_center_id", "INT64"], + ["campaign.id", "INT64"], + ["campaign.labels", "RESOURCE_NAME"], + ["campaign.listing_type", "ENUM"], + ["campaign.local_campaign_setting.location_source_type", "ENUM"], + ["campaign.local_services_campaign_settings.category_bids", "MESSAGE"], + ["campaign.manual_cpa", "MESSAGE"], + ["campaign.manual_cpc.enhanced_cpc_enabled", "BOOLEAN"], + ["campaign.manual_cpm", "MESSAGE"], + ["campaign.manual_cpv", "MESSAGE"], + ["campaign.maximize_conversion_value.target_roas", "DOUBLE"], + ["campaign.maximize_conversions.target_cpa_micros", "INT64"], + ["campaign.name", "STRING"], + ["campaign.network_settings.target_content_network", "BOOLEAN"], + ["campaign.network_settings.target_google_search", "BOOLEAN"], + ["campaign.network_settings.target_partner_search_network", "BOOLEAN"], + ["campaign.network_settings.target_search_network", "BOOLEAN"], + ["campaign.optimization_goal_setting.optimization_goal_types", "ENUM"], + ["campaign.optimization_score", "DOUBLE"], + ["campaign.payment_mode", "ENUM"], + ["campaign.percent_cpc.cpc_bid_ceiling_micros", "INT64"], + ["campaign.percent_cpc.enhanced_cpc_enabled", "BOOLEAN"], + [ + "campaign.performance_max_upgrade.performance_max_campaign", + "RESOURCE_NAME", + ], + ["campaign.performance_max_upgrade.pre_upgrade_campaign", "RESOURCE_NAME"], + ["campaign.performance_max_upgrade.status", "ENUM"], + ["campaign.primary_status", "ENUM"], + ["campaign.primary_status_reasons", "ENUM"], + ["campaign.real_time_bidding_setting.opt_in", "BOOLEAN"], + ["campaign.resource_name", "RESOURCE_NAME"], + ["campaign.selective_optimization.conversion_actions", "RESOURCE_NAME"], + ["campaign.serving_status", "ENUM"], + ["campaign.shopping_setting.advertising_partner_ids", "INT64"], + ["campaign.shopping_setting.campaign_priority", "INT32"], + ["campaign.shopping_setting.enable_local", "BOOLEAN"], + ["campaign.shopping_setting.feed_label", "STRING"], + ["campaign.shopping_setting.merchant_id", "INT64"], + ["campaign.shopping_setting.sales_country", "STRING"], + ["campaign.shopping_setting.use_vehicle_inventory", "BOOLEAN"], + ["campaign.start_date", "DATE"], + ["campaign.status", "ENUM"], + ["campaign.target_cpa.cpc_bid_ceiling_micros", "INT64"], + ["campaign.target_cpa.cpc_bid_floor_micros", "INT64"], + ["campaign.target_cpa.target_cpa_micros", "INT64"], + ["campaign.target_cpm.target_frequency_goal.target_count", "INT64"], + ["campaign.target_cpm.target_frequency_goal.time_unit", "ENUM"], + ["campaign.target_impression_share.cpc_bid_ceiling_micros", "INT64"], + ["campaign.target_impression_share.location", "ENUM"], + ["campaign.target_impression_share.location_fraction_micros", "INT64"], + ["campaign.target_roas.cpc_bid_ceiling_micros", "INT64"], + ["campaign.target_roas.cpc_bid_floor_micros", "INT64"], + ["campaign.target_roas.target_roas", "DOUBLE"], + ["campaign.target_spend.cpc_bid_ceiling_micros", "INT64"], + ["campaign.target_spend.target_spend_micros", "INT64"], + ["campaign.targeting_setting.target_restrictions", "MESSAGE"], + ["campaign.tracking_setting.tracking_url", "STRING"], + ["campaign.tracking_url_template", "STRING"], + ["campaign.travel_campaign_settings.travel_account_id", "INT64"], + ["campaign.url_custom_parameters", "MESSAGE"], + ["campaign.url_expansion_opt_out", "BOOLEAN"], + ["campaign.vanity_pharma.vanity_pharma_display_url_mode", "ENUM"], + ["campaign.vanity_pharma.vanity_pharma_text", "ENUM"], + ["campaign.video_brand_safety_suitability", "ENUM"], + ["campaign_asset", "MESSAGE"], + ["campaign_asset.asset", "RESOURCE_NAME"], + ["campaign_asset.campaign", "RESOURCE_NAME"], + ["campaign_asset.field_type", "ENUM"], + ["campaign_asset.primary_status", "ENUM"], + ["campaign_asset.primary_status_details", "MESSAGE"], + ["campaign_asset.primary_status_reasons", "ENUM"], + ["campaign_asset.resource_name", "RESOURCE_NAME"], + ["campaign_asset.source", "ENUM"], + ["campaign_asset.status", "ENUM"], + ["campaign_asset_set", "MESSAGE"], + ["campaign_asset_set.asset_set", "RESOURCE_NAME"], + ["campaign_asset_set.campaign", "RESOURCE_NAME"], + ["campaign_asset_set.resource_name", "RESOURCE_NAME"], + ["campaign_asset_set.status", "ENUM"], + ["campaign_audience_view", "MESSAGE"], + ["campaign_audience_view.resource_name", "RESOURCE_NAME"], + ["campaign_bid_modifier", "MESSAGE"], + ["campaign_bid_modifier.bid_modifier", "DOUBLE"], + ["campaign_bid_modifier.campaign", "RESOURCE_NAME"], + ["campaign_bid_modifier.criterion_id", "INT64"], + ["campaign_bid_modifier.interaction_type.type", "ENUM"], + ["campaign_bid_modifier.resource_name", "RESOURCE_NAME"], + ["campaign_budget", "MESSAGE"], + ["campaign_budget.aligned_bidding_strategy_id", "INT64"], + ["campaign_budget.amount_micros", "INT64"], + ["campaign_budget.delivery_method", "ENUM"], + ["campaign_budget.explicitly_shared", "BOOLEAN"], + ["campaign_budget.has_recommended_budget", "BOOLEAN"], + ["campaign_budget.id", "INT64"], + ["campaign_budget.name", "STRING"], + ["campaign_budget.period", "ENUM"], + ["campaign_budget.recommended_budget_amount_micros", "INT64"], + [ + "campaign_budget.recommended_budget_estimated_change_weekly_clicks", + "INT64", + ], + [ + "campaign_budget.recommended_budget_estimated_change_weekly_cost_micros", + "INT64", + ], + [ + "campaign_budget.recommended_budget_estimated_change_weekly_interactions", + "INT64", + ], + ["campaign_budget.recommended_budget_estimated_change_weekly_views", "INT64"], + ["campaign_budget.reference_count", "INT64"], + ["campaign_budget.resource_name", "RESOURCE_NAME"], + ["campaign_budget.status", "ENUM"], + ["campaign_budget.total_amount_micros", "INT64"], + ["campaign_budget.type", "ENUM"], + ["campaign_conversion_goal", "MESSAGE"], + ["campaign_conversion_goal.biddable", "BOOLEAN"], + ["campaign_conversion_goal.campaign", "RESOURCE_NAME"], + ["campaign_conversion_goal.category", "ENUM"], + ["campaign_conversion_goal.origin", "ENUM"], + ["campaign_conversion_goal.resource_name", "RESOURCE_NAME"], + ["campaign_criterion", "MESSAGE"], + ["campaign_criterion.ad_schedule.day_of_week", "ENUM"], + ["campaign_criterion.ad_schedule.end_hour", "INT32"], + ["campaign_criterion.ad_schedule.end_minute", "ENUM"], + ["campaign_criterion.ad_schedule.start_hour", "INT32"], + ["campaign_criterion.ad_schedule.start_minute", "ENUM"], + ["campaign_criterion.age_range.type", "ENUM"], + ["campaign_criterion.bid_modifier", "FLOAT"], + ["campaign_criterion.campaign", "RESOURCE_NAME"], + ["campaign_criterion.carrier.carrier_constant", "RESOURCE_NAME"], + ["campaign_criterion.combined_audience.combined_audience", "RESOURCE_NAME"], + ["campaign_criterion.content_label.type", "ENUM"], + ["campaign_criterion.criterion_id", "INT64"], + ["campaign_criterion.custom_affinity.custom_affinity", "RESOURCE_NAME"], + ["campaign_criterion.custom_audience.custom_audience", "RESOURCE_NAME"], + ["campaign_criterion.device.type", "ENUM"], + ["campaign_criterion.display_name", "STRING"], + ["campaign_criterion.gender.type", "ENUM"], + ["campaign_criterion.income_range.type", "ENUM"], + ["campaign_criterion.ip_block.ip_address", "STRING"], + ["campaign_criterion.keyword.match_type", "ENUM"], + ["campaign_criterion.keyword.text", "STRING"], + ["campaign_criterion.keyword_theme.free_form_keyword_theme", "STRING"], + ["campaign_criterion.keyword_theme.keyword_theme_constant", "RESOURCE_NAME"], + ["campaign_criterion.language.language_constant", "RESOURCE_NAME"], + ["campaign_criterion.listing_scope.dimensions", "MESSAGE"], + [ + "campaign_criterion.listing_scope.dimensions.activity_country.value", + "RESOURCE_NAME", + ], + [ + "campaign_criterion.listing_scope.dimensions.hotel_city.city_criterion", + "RESOURCE_NAME", + ], + [ + "campaign_criterion.listing_scope.dimensions.hotel_country_region.country_region_criterion", + "RESOURCE_NAME", + ], + [ + "campaign_criterion.listing_scope.dimensions.hotel_state.state_criterion", + "RESOURCE_NAME", + ], + ["campaign_criterion.local_service_id.service_id", "STRING"], + ["campaign_criterion.location.geo_target_constant", "RESOURCE_NAME"], + ["campaign_criterion.location_group", "MESSAGE"], + [ + "campaign_criterion.location_group.enable_customer_level_location_asset_set", + "BOOLEAN", + ], + ["campaign_criterion.location_group.feed", "RESOURCE_NAME"], + ["campaign_criterion.location_group.geo_target_constants", "RESOURCE_NAME"], + [ + "campaign_criterion.mobile_app_category.mobile_app_category_constant", + "RESOURCE_NAME", + ], + ["campaign_criterion.mobile_application.app_id", "STRING"], + ["campaign_criterion.mobile_application.name", "STRING"], + ["campaign_criterion.mobile_device.mobile_device_constant", "RESOURCE_NAME"], + ["campaign_criterion.negative", "BOOLEAN"], + [ + "campaign_criterion.operating_system_version.operating_system_version_constant", + "RESOURCE_NAME", + ], + ["campaign_criterion.parental_status.type", "ENUM"], + ["campaign_criterion.placement.url", "STRING"], + ["campaign_criterion.proximity.address.city_name", "STRING"], + ["campaign_criterion.proximity.address.country_code", "STRING"], + ["campaign_criterion.proximity.address.postal_code", "STRING"], + ["campaign_criterion.proximity.address.province_code", "STRING"], + ["campaign_criterion.proximity.address.province_name", "STRING"], + ["campaign_criterion.proximity.address.street_address", "STRING"], + ["campaign_criterion.proximity.geo_point.latitude_in_micro_degrees", "INT32"], + [ + "campaign_criterion.proximity.geo_point.longitude_in_micro_degrees", + "INT32", + ], + ["campaign_criterion.proximity.radius", "DOUBLE"], + ["campaign_criterion.proximity.radius_units", "ENUM"], + ["campaign_criterion.resource_name", "RESOURCE_NAME"], + ["campaign_criterion.status", "ENUM"], + ["campaign_criterion.topic.path", "STRING"], + ["campaign_criterion.topic.topic_constant", "RESOURCE_NAME"], + ["campaign_criterion.type", "ENUM"], + ["campaign_criterion.user_interest.user_interest_category", "RESOURCE_NAME"], + ["campaign_criterion.user_list.user_list", "RESOURCE_NAME"], + ["campaign_criterion.webpage.conditions", "MESSAGE"], + ["campaign_criterion.webpage.coverage_percentage", "DOUBLE"], + ["campaign_criterion.webpage.criterion_name", "STRING"], + ["campaign_criterion.webpage.sample.sample_urls", "STRING"], + ["campaign_criterion.youtube_channel.channel_id", "STRING"], + ["campaign_criterion.youtube_video.video_id", "STRING"], + ["campaign_customizer", "MESSAGE"], + ["campaign_customizer.campaign", "RESOURCE_NAME"], + ["campaign_customizer.customizer_attribute", "RESOURCE_NAME"], + ["campaign_customizer.resource_name", "RESOURCE_NAME"], + ["campaign_customizer.status", "ENUM"], + ["campaign_customizer.value.string_value", "STRING"], + ["campaign_customizer.value.type", "ENUM"], + ["campaign_draft", "MESSAGE"], + ["campaign_draft.base_campaign", "RESOURCE_NAME"], + ["campaign_draft.draft_campaign", "RESOURCE_NAME"], + ["campaign_draft.draft_id", "INT64"], + ["campaign_draft.has_experiment_running", "BOOLEAN"], + ["campaign_draft.long_running_operation", "STRING"], + ["campaign_draft.name", "STRING"], + ["campaign_draft.resource_name", "RESOURCE_NAME"], + ["campaign_draft.status", "ENUM"], + ["campaign_extension_setting", "MESSAGE"], + ["campaign_extension_setting.campaign", "RESOURCE_NAME"], + ["campaign_extension_setting.device", "ENUM"], + ["campaign_extension_setting.extension_feed_items", "RESOURCE_NAME"], + ["campaign_extension_setting.extension_type", "ENUM"], + ["campaign_extension_setting.resource_name", "RESOURCE_NAME"], + ["campaign_feed", "MESSAGE"], + ["campaign_feed.campaign", "RESOURCE_NAME"], + ["campaign_feed.feed", "RESOURCE_NAME"], + ["campaign_feed.matching_function.function_string", "STRING"], + ["campaign_feed.matching_function.left_operands", "MESSAGE"], + ["campaign_feed.matching_function.operator", "ENUM"], + ["campaign_feed.matching_function.right_operands", "MESSAGE"], + ["campaign_feed.placeholder_types", "ENUM"], + ["campaign_feed.resource_name", "RESOURCE_NAME"], + ["campaign_feed.status", "ENUM"], + ["campaign_group", "MESSAGE"], + ["campaign_group.id", "INT64"], + ["campaign_group.name", "STRING"], + ["campaign_group.resource_name", "RESOURCE_NAME"], + ["campaign_group.status", "ENUM"], + ["campaign_label", "MESSAGE"], + ["campaign_label.campaign", "RESOURCE_NAME"], + ["campaign_label.label", "RESOURCE_NAME"], + ["campaign_label.resource_name", "RESOURCE_NAME"], + ["campaign_search_term_insight", "MESSAGE"], + ["campaign_search_term_insight.campaign_id", "INT64"], + ["campaign_search_term_insight.category_label", "STRING"], + ["campaign_search_term_insight.id", "INT64"], + ["campaign_search_term_insight.resource_name", "RESOURCE_NAME"], + ["campaign_shared_set", "MESSAGE"], + ["campaign_shared_set.campaign", "RESOURCE_NAME"], + ["campaign_shared_set.resource_name", "RESOURCE_NAME"], + ["campaign_shared_set.shared_set", "RESOURCE_NAME"], + ["campaign_shared_set.status", "ENUM"], + ["campaign_simulation", "MESSAGE"], + ["campaign_simulation.budget_point_list.points", "MESSAGE"], + ["campaign_simulation.campaign_id", "INT64"], + ["campaign_simulation.cpc_bid_point_list.points", "MESSAGE"], + ["campaign_simulation.end_date", "DATE"], + ["campaign_simulation.modification_method", "ENUM"], + ["campaign_simulation.resource_name", "RESOURCE_NAME"], + ["campaign_simulation.start_date", "DATE"], + ["campaign_simulation.target_cpa_point_list.points", "MESSAGE"], + ["campaign_simulation.target_impression_share_point_list.points", "MESSAGE"], + ["campaign_simulation.target_roas_point_list.points", "MESSAGE"], + ["campaign_simulation.type", "ENUM"], + ["carrier_constant", "MESSAGE"], + ["carrier_constant.country_code", "STRING"], + ["carrier_constant.id", "INT64"], + ["carrier_constant.name", "STRING"], + ["carrier_constant.resource_name", "RESOURCE_NAME"], + ["change_event", "MESSAGE"], + ["change_event.ad_group", "RESOURCE_NAME"], + ["change_event.asset", "RESOURCE_NAME"], + ["change_event.campaign", "RESOURCE_NAME"], + ["change_event.change_date_time", "DATE"], + ["change_event.change_resource_name", "STRING"], + ["change_event.change_resource_type", "ENUM"], + ["change_event.changed_fields", "MESSAGE"], + ["change_event.client_type", "ENUM"], + ["change_event.feed", "RESOURCE_NAME"], + ["change_event.feed_item", "RESOURCE_NAME"], + ["change_event.new_resource", "MESSAGE"], + ["change_event.old_resource", "MESSAGE"], + ["change_event.resource_change_operation", "ENUM"], + ["change_event.resource_name", "RESOURCE_NAME"], + ["change_event.user_email", "STRING"], + ["change_status", "MESSAGE"], + ["change_status.ad_group", "RESOURCE_NAME"], + ["change_status.ad_group_ad", "RESOURCE_NAME"], + ["change_status.ad_group_asset", "RESOURCE_NAME"], + ["change_status.ad_group_bid_modifier", "RESOURCE_NAME"], + ["change_status.ad_group_criterion", "RESOURCE_NAME"], + ["change_status.ad_group_feed", "RESOURCE_NAME"], + ["change_status.asset", "RESOURCE_NAME"], + ["change_status.campaign", "RESOURCE_NAME"], + ["change_status.campaign_asset", "RESOURCE_NAME"], + ["change_status.campaign_criterion", "RESOURCE_NAME"], + ["change_status.campaign_feed", "RESOURCE_NAME"], + ["change_status.campaign_shared_set", "RESOURCE_NAME"], + ["change_status.combined_audience", "RESOURCE_NAME"], + ["change_status.customer_asset", "RESOURCE_NAME"], + ["change_status.feed", "RESOURCE_NAME"], + ["change_status.feed_item", "RESOURCE_NAME"], + ["change_status.last_change_date_time", "DATE"], + ["change_status.resource_name", "RESOURCE_NAME"], + ["change_status.resource_status", "ENUM"], + ["change_status.resource_type", "ENUM"], + ["change_status.shared_set", "RESOURCE_NAME"], + ["click_view", "MESSAGE"], + ["click_view.ad_group_ad", "RESOURCE_NAME"], + ["click_view.area_of_interest.city", "RESOURCE_NAME"], + ["click_view.area_of_interest.country", "RESOURCE_NAME"], + ["click_view.area_of_interest.metro", "RESOURCE_NAME"], + ["click_view.area_of_interest.most_specific", "RESOURCE_NAME"], + ["click_view.area_of_interest.region", "RESOURCE_NAME"], + ["click_view.campaign_location_target", "RESOURCE_NAME"], + ["click_view.gclid", "STRING"], + ["click_view.keyword", "RESOURCE_NAME"], + ["click_view.keyword_info.match_type", "ENUM"], + ["click_view.keyword_info.text", "STRING"], + ["click_view.location_of_presence.city", "RESOURCE_NAME"], + ["click_view.location_of_presence.country", "RESOURCE_NAME"], + ["click_view.location_of_presence.metro", "RESOURCE_NAME"], + ["click_view.location_of_presence.most_specific", "RESOURCE_NAME"], + ["click_view.location_of_presence.region", "RESOURCE_NAME"], + ["click_view.page_number", "INT64"], + ["click_view.resource_name", "RESOURCE_NAME"], + ["click_view.user_list", "RESOURCE_NAME"], + ["combined_audience", "MESSAGE"], + ["combined_audience.description", "STRING"], + ["combined_audience.id", "INT64"], + ["combined_audience.name", "STRING"], + ["combined_audience.resource_name", "RESOURCE_NAME"], + ["combined_audience.status", "ENUM"], + ["conversion_action", "MESSAGE"], + ["conversion_action.app_id", "STRING"], + ["conversion_action.attribution_model_settings.attribution_model", "ENUM"], + [ + "conversion_action.attribution_model_settings.data_driven_model_status", + "ENUM", + ], + ["conversion_action.category", "ENUM"], + ["conversion_action.click_through_lookback_window_days", "INT64"], + ["conversion_action.counting_type", "ENUM"], + ["conversion_action.firebase_settings.event_name", "STRING"], + ["conversion_action.firebase_settings.project_id", "STRING"], + ["conversion_action.firebase_settings.property_id", "INT64"], + ["conversion_action.firebase_settings.property_name", "STRING"], + ["conversion_action.google_analytics_4_settings.event_name", "STRING"], + ["conversion_action.google_analytics_4_settings.property_id", "INT64"], + ["conversion_action.google_analytics_4_settings.property_name", "STRING"], + ["conversion_action.id", "INT64"], + ["conversion_action.include_in_conversions_metric", "BOOLEAN"], + ["conversion_action.mobile_app_vendor", "ENUM"], + ["conversion_action.name", "STRING"], + ["conversion_action.origin", "ENUM"], + ["conversion_action.owner_customer", "RESOURCE_NAME"], + ["conversion_action.phone_call_duration_seconds", "INT64"], + ["conversion_action.primary_for_goal", "BOOLEAN"], + ["conversion_action.resource_name", "RESOURCE_NAME"], + ["conversion_action.status", "ENUM"], + ["conversion_action.tag_snippets", "MESSAGE"], + ["conversion_action.third_party_app_analytics_settings.event_name", "STRING"], + [ + "conversion_action.third_party_app_analytics_settings.provider_name", + "STRING", + ], + ["conversion_action.type", "ENUM"], + ["conversion_action.value_settings.always_use_default_value", "BOOLEAN"], + ["conversion_action.value_settings.default_currency_code", "STRING"], + ["conversion_action.value_settings.default_value", "DOUBLE"], + ["conversion_action.view_through_lookback_window_days", "INT64"], + ["conversion_custom_variable", "MESSAGE"], + ["conversion_custom_variable.id", "INT64"], + ["conversion_custom_variable.name", "STRING"], + ["conversion_custom_variable.owner_customer", "RESOURCE_NAME"], + ["conversion_custom_variable.resource_name", "RESOURCE_NAME"], + ["conversion_custom_variable.status", "ENUM"], + ["conversion_custom_variable.tag", "STRING"], + ["conversion_goal_campaign_config", "MESSAGE"], + ["conversion_goal_campaign_config.campaign", "RESOURCE_NAME"], + ["conversion_goal_campaign_config.custom_conversion_goal", "RESOURCE_NAME"], + ["conversion_goal_campaign_config.goal_config_level", "ENUM"], + ["conversion_goal_campaign_config.resource_name", "RESOURCE_NAME"], + ["conversion_value_rule", "MESSAGE"], + ["conversion_value_rule.action.operation", "ENUM"], + ["conversion_value_rule.action.value", "DOUBLE"], + ["conversion_value_rule.audience_condition.user_interests", "RESOURCE_NAME"], + ["conversion_value_rule.audience_condition.user_lists", "RESOURCE_NAME"], + ["conversion_value_rule.device_condition.device_types", "ENUM"], + [ + "conversion_value_rule.geo_location_condition.excluded_geo_match_type", + "ENUM", + ], + [ + "conversion_value_rule.geo_location_condition.excluded_geo_target_constants", + "RESOURCE_NAME", + ], + ["conversion_value_rule.geo_location_condition.geo_match_type", "ENUM"], + [ + "conversion_value_rule.geo_location_condition.geo_target_constants", + "RESOURCE_NAME", + ], + ["conversion_value_rule.id", "INT64"], + ["conversion_value_rule.owner_customer", "RESOURCE_NAME"], + ["conversion_value_rule.resource_name", "RESOURCE_NAME"], + ["conversion_value_rule.status", "ENUM"], + ["conversion_value_rule_set", "MESSAGE"], + ["conversion_value_rule_set.attachment_type", "ENUM"], + ["conversion_value_rule_set.campaign", "RESOURCE_NAME"], + ["conversion_value_rule_set.conversion_action_categories", "ENUM"], + ["conversion_value_rule_set.conversion_value_rules", "RESOURCE_NAME"], + ["conversion_value_rule_set.dimensions", "ENUM"], + ["conversion_value_rule_set.id", "INT64"], + ["conversion_value_rule_set.owner_customer", "RESOURCE_NAME"], + ["conversion_value_rule_set.resource_name", "RESOURCE_NAME"], + ["conversion_value_rule_set.status", "ENUM"], + ["currency_constant", "MESSAGE"], + ["currency_constant.billable_unit_micros", "INT64"], + ["currency_constant.code", "STRING"], + ["currency_constant.name", "STRING"], + ["currency_constant.resource_name", "RESOURCE_NAME"], + ["currency_constant.symbol", "STRING"], + ["custom_audience", "MESSAGE"], + ["custom_audience.description", "STRING"], + ["custom_audience.id", "INT64"], + ["custom_audience.members", "MESSAGE"], + ["custom_audience.name", "STRING"], + ["custom_audience.resource_name", "RESOURCE_NAME"], + ["custom_audience.status", "ENUM"], + ["custom_audience.type", "ENUM"], + ["custom_conversion_goal", "MESSAGE"], + ["custom_conversion_goal.conversion_actions", "RESOURCE_NAME"], + ["custom_conversion_goal.id", "INT64"], + ["custom_conversion_goal.name", "STRING"], + ["custom_conversion_goal.resource_name", "RESOURCE_NAME"], + ["custom_conversion_goal.status", "ENUM"], + ["custom_interest", "MESSAGE"], + ["custom_interest.description", "STRING"], + ["custom_interest.id", "INT64"], + ["custom_interest.members", "MESSAGE"], + ["custom_interest.name", "STRING"], + ["custom_interest.resource_name", "RESOURCE_NAME"], + ["custom_interest.status", "ENUM"], + ["custom_interest.type", "ENUM"], + ["customer", "MESSAGE"], + ["customer.auto_tagging_enabled", "BOOLEAN"], + ["customer.call_reporting_setting.call_conversion_action", "RESOURCE_NAME"], + [ + "customer.call_reporting_setting.call_conversion_reporting_enabled", + "BOOLEAN", + ], + ["customer.call_reporting_setting.call_reporting_enabled", "BOOLEAN"], + [ + "customer.conversion_tracking_setting.accepted_customer_data_terms", + "BOOLEAN", + ], + ["customer.conversion_tracking_setting.conversion_tracking_id", "INT64"], + ["customer.conversion_tracking_setting.conversion_tracking_status", "ENUM"], + [ + "customer.conversion_tracking_setting.cross_account_conversion_tracking_id", + "INT64", + ], + [ + "customer.conversion_tracking_setting.enhanced_conversions_for_leads_enabled", + "BOOLEAN", + ], + [ + "customer.conversion_tracking_setting.google_ads_conversion_customer", + "STRING", + ], + ["customer.currency_code", "STRING"], + ["customer.customer_agreement_setting.accepted_lead_form_terms", "BOOLEAN"], + ["customer.descriptive_name", "STRING"], + ["customer.final_url_suffix", "STRING"], + ["customer.has_partners_badge", "BOOLEAN"], + ["customer.id", "INT64"], + ["customer.image_asset_auto_migration_done", "BOOLEAN"], + ["customer.image_asset_auto_migration_done_date_time", "DATE"], + ["customer.location_asset_auto_migration_done", "BOOLEAN"], + ["customer.location_asset_auto_migration_done_date_time", "DATE"], + ["customer.manager", "BOOLEAN"], + ["customer.offline_conversion_client_summaries", "MESSAGE"], + ["customer.optimization_score", "DOUBLE"], + ["customer.optimization_score_weight", "DOUBLE"], + ["customer.pay_per_conversion_eligibility_failure_reasons", "ENUM"], + ["customer.remarketing_setting.google_global_site_tag", "STRING"], + ["customer.resource_name", "RESOURCE_NAME"], + ["customer.status", "ENUM"], + ["customer.test_account", "BOOLEAN"], + ["customer.time_zone", "STRING"], + ["customer.tracking_url_template", "STRING"], + ["customer_asset", "MESSAGE"], + ["customer_asset.asset", "RESOURCE_NAME"], + ["customer_asset.field_type", "ENUM"], + ["customer_asset.primary_status", "ENUM"], + ["customer_asset.primary_status_details", "MESSAGE"], + ["customer_asset.primary_status_reasons", "ENUM"], + ["customer_asset.resource_name", "RESOURCE_NAME"], + ["customer_asset.source", "ENUM"], + ["customer_asset.status", "ENUM"], + ["customer_asset_set", "MESSAGE"], + ["customer_asset_set.asset_set", "RESOURCE_NAME"], + ["customer_asset_set.customer", "RESOURCE_NAME"], + ["customer_asset_set.resource_name", "RESOURCE_NAME"], + ["customer_asset_set.status", "ENUM"], + ["customer_client", "MESSAGE"], + ["customer_client.applied_labels", "RESOURCE_NAME"], + ["customer_client.client_customer", "RESOURCE_NAME"], + ["customer_client.currency_code", "STRING"], + ["customer_client.descriptive_name", "STRING"], + ["customer_client.hidden", "BOOLEAN"], + ["customer_client.id", "INT64"], + ["customer_client.level", "INT64"], + ["customer_client.manager", "BOOLEAN"], + ["customer_client.resource_name", "RESOURCE_NAME"], + ["customer_client.status", "ENUM"], + ["customer_client.test_account", "BOOLEAN"], + ["customer_client.time_zone", "STRING"], + ["customer_client_link", "MESSAGE"], + ["customer_client_link.client_customer", "RESOURCE_NAME"], + ["customer_client_link.hidden", "BOOLEAN"], + ["customer_client_link.manager_link_id", "INT64"], + ["customer_client_link.resource_name", "RESOURCE_NAME"], + ["customer_client_link.status", "ENUM"], + ["customer_conversion_goal", "MESSAGE"], + ["customer_conversion_goal.biddable", "BOOLEAN"], + ["customer_conversion_goal.category", "ENUM"], + ["customer_conversion_goal.origin", "ENUM"], + ["customer_conversion_goal.resource_name", "RESOURCE_NAME"], + ["customer_customizer", "MESSAGE"], + ["customer_customizer.customizer_attribute", "RESOURCE_NAME"], + ["customer_customizer.resource_name", "RESOURCE_NAME"], + ["customer_customizer.status", "ENUM"], + ["customer_customizer.value.string_value", "STRING"], + ["customer_customizer.value.type", "ENUM"], + ["customer_extension_setting", "MESSAGE"], + ["customer_extension_setting.device", "ENUM"], + ["customer_extension_setting.extension_feed_items", "RESOURCE_NAME"], + ["customer_extension_setting.extension_type", "ENUM"], + ["customer_extension_setting.resource_name", "RESOURCE_NAME"], + ["customer_feed", "MESSAGE"], + ["customer_feed.feed", "RESOURCE_NAME"], + ["customer_feed.matching_function.function_string", "STRING"], + ["customer_feed.matching_function.left_operands", "MESSAGE"], + ["customer_feed.matching_function.operator", "ENUM"], + ["customer_feed.matching_function.right_operands", "MESSAGE"], + ["customer_feed.placeholder_types", "ENUM"], + ["customer_feed.resource_name", "RESOURCE_NAME"], + ["customer_feed.status", "ENUM"], + ["customer_label", "MESSAGE"], + ["customer_label.customer", "RESOURCE_NAME"], + ["customer_label.label", "RESOURCE_NAME"], + ["customer_label.resource_name", "RESOURCE_NAME"], + ["customer_manager_link", "MESSAGE"], + ["customer_manager_link.manager_customer", "RESOURCE_NAME"], + ["customer_manager_link.manager_link_id", "INT64"], + ["customer_manager_link.resource_name", "RESOURCE_NAME"], + ["customer_manager_link.status", "ENUM"], + ["customer_negative_criterion", "MESSAGE"], + ["customer_negative_criterion.content_label.type", "ENUM"], + ["customer_negative_criterion.id", "INT64"], + [ + "customer_negative_criterion.mobile_app_category.mobile_app_category_constant", + "RESOURCE_NAME", + ], + ["customer_negative_criterion.mobile_application.app_id", "STRING"], + ["customer_negative_criterion.mobile_application.name", "STRING"], + [ + "customer_negative_criterion.negative_keyword_list.shared_set", + "RESOURCE_NAME", + ], + ["customer_negative_criterion.placement.url", "STRING"], + ["customer_negative_criterion.resource_name", "RESOURCE_NAME"], + ["customer_negative_criterion.type", "ENUM"], + ["customer_negative_criterion.youtube_channel.channel_id", "STRING"], + ["customer_negative_criterion.youtube_video.video_id", "STRING"], + ["customer_search_term_insight", "MESSAGE"], + ["customer_search_term_insight.category_label", "STRING"], + ["customer_search_term_insight.id", "INT64"], + ["customer_search_term_insight.resource_name", "RESOURCE_NAME"], + ["customer_user_access", "MESSAGE"], + ["customer_user_access.access_creation_date_time", "DATE"], + ["customer_user_access.access_role", "ENUM"], + ["customer_user_access.email_address", "STRING"], + ["customer_user_access.inviter_user_email_address", "STRING"], + ["customer_user_access.resource_name", "RESOURCE_NAME"], + ["customer_user_access.user_id", "INT64"], + ["customer_user_access_invitation", "MESSAGE"], + ["customer_user_access_invitation.access_role", "ENUM"], + ["customer_user_access_invitation.creation_date_time", "DATE"], + ["customer_user_access_invitation.email_address", "STRING"], + ["customer_user_access_invitation.invitation_id", "INT64"], + ["customer_user_access_invitation.invitation_status", "ENUM"], + ["customer_user_access_invitation.resource_name", "RESOURCE_NAME"], + ["customizer_attribute", "MESSAGE"], + ["customizer_attribute.id", "INT64"], + ["customizer_attribute.name", "STRING"], + ["customizer_attribute.resource_name", "RESOURCE_NAME"], + ["customizer_attribute.status", "ENUM"], + ["customizer_attribute.type", "ENUM"], + ["detail_placement_view", "MESSAGE"], + ["detail_placement_view.display_name", "STRING"], + ["detail_placement_view.group_placement_target_url", "STRING"], + ["detail_placement_view.placement", "STRING"], + ["detail_placement_view.placement_type", "ENUM"], + ["detail_placement_view.resource_name", "RESOURCE_NAME"], + ["detail_placement_view.target_url", "STRING"], + ["detailed_demographic", "MESSAGE"], + ["detailed_demographic.availabilities", "MESSAGE"], + ["detailed_demographic.id", "INT64"], + ["detailed_demographic.launched_to_all", "BOOLEAN"], + ["detailed_demographic.name", "STRING"], + ["detailed_demographic.parent", "RESOURCE_NAME"], + ["detailed_demographic.resource_name", "RESOURCE_NAME"], + ["display_keyword_view", "MESSAGE"], + ["display_keyword_view.resource_name", "RESOURCE_NAME"], + ["distance_view", "MESSAGE"], + ["distance_view.distance_bucket", "ENUM"], + ["distance_view.metric_system", "BOOLEAN"], + ["distance_view.resource_name", "RESOURCE_NAME"], + ["domain_category", "MESSAGE"], + ["domain_category.campaign", "RESOURCE_NAME"], + ["domain_category.category", "STRING"], + ["domain_category.category_rank", "INT64"], + ["domain_category.coverage_fraction", "DOUBLE"], + ["domain_category.domain", "STRING"], + ["domain_category.has_children", "BOOLEAN"], + ["domain_category.language_code", "STRING"], + ["domain_category.recommended_cpc_bid_micros", "INT64"], + ["domain_category.resource_name", "RESOURCE_NAME"], + ["dynamic_search_ads_search_term_view", "MESSAGE"], + ["dynamic_search_ads_search_term_view.has_matching_keyword", "BOOLEAN"], + ["dynamic_search_ads_search_term_view.has_negative_keyword", "BOOLEAN"], + ["dynamic_search_ads_search_term_view.has_negative_url", "BOOLEAN"], + ["dynamic_search_ads_search_term_view.headline", "STRING"], + ["dynamic_search_ads_search_term_view.landing_page", "STRING"], + ["dynamic_search_ads_search_term_view.page_url", "STRING"], + ["dynamic_search_ads_search_term_view.resource_name", "RESOURCE_NAME"], + ["dynamic_search_ads_search_term_view.search_term", "STRING"], + ["expanded_landing_page_view", "MESSAGE"], + ["expanded_landing_page_view.expanded_final_url", "STRING"], + ["expanded_landing_page_view.resource_name", "RESOURCE_NAME"], + ["experiment", "MESSAGE"], + ["experiment.description", "STRING"], + ["experiment.end_date", "STRING"], + ["experiment.experiment_id", "INT64"], + ["experiment.goals", "MESSAGE"], + ["experiment.long_running_operation", "STRING"], + ["experiment.name", "STRING"], + ["experiment.promote_status", "ENUM"], + ["experiment.resource_name", "RESOURCE_NAME"], + ["experiment.start_date", "STRING"], + ["experiment.status", "ENUM"], + ["experiment.suffix", "STRING"], + ["experiment.type", "ENUM"], + ["experiment_arm", "MESSAGE"], + ["experiment_arm.campaigns", "RESOURCE_NAME"], + ["experiment_arm.control", "BOOLEAN"], + ["experiment_arm.experiment", "RESOURCE_NAME"], + ["experiment_arm.in_design_campaigns", "RESOURCE_NAME"], + ["experiment_arm.name", "STRING"], + ["experiment_arm.resource_name", "RESOURCE_NAME"], + ["extension_feed_item", "MESSAGE"], + ["extension_feed_item.ad_schedules", "MESSAGE"], + ["extension_feed_item.affiliate_location_feed_item.address_line_1", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.address_line_2", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.business_name", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.chain_id", "INT64"], + ["extension_feed_item.affiliate_location_feed_item.chain_name", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.city", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.country_code", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.phone_number", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.postal_code", "STRING"], + ["extension_feed_item.affiliate_location_feed_item.province", "STRING"], + ["extension_feed_item.app_feed_item.app_id", "STRING"], + ["extension_feed_item.app_feed_item.app_store", "ENUM"], + ["extension_feed_item.app_feed_item.final_mobile_urls", "STRING"], + ["extension_feed_item.app_feed_item.final_url_suffix", "STRING"], + ["extension_feed_item.app_feed_item.final_urls", "STRING"], + ["extension_feed_item.app_feed_item.link_text", "STRING"], + ["extension_feed_item.app_feed_item.tracking_url_template", "STRING"], + [ + "extension_feed_item.call_feed_item.call_conversion_action", + "RESOURCE_NAME", + ], + [ + "extension_feed_item.call_feed_item.call_conversion_reporting_state", + "ENUM", + ], + [ + "extension_feed_item.call_feed_item.call_conversion_tracking_disabled", + "BOOLEAN", + ], + ["extension_feed_item.call_feed_item.call_tracking_enabled", "BOOLEAN"], + ["extension_feed_item.call_feed_item.country_code", "STRING"], + ["extension_feed_item.call_feed_item.phone_number", "STRING"], + ["extension_feed_item.callout_feed_item.callout_text", "STRING"], + ["extension_feed_item.device", "ENUM"], + ["extension_feed_item.end_date_time", "DATE"], + ["extension_feed_item.extension_type", "ENUM"], + ["extension_feed_item.hotel_callout_feed_item.language_code", "STRING"], + ["extension_feed_item.hotel_callout_feed_item.text", "STRING"], + ["extension_feed_item.id", "INT64"], + ["extension_feed_item.image_feed_item.image_asset", "RESOURCE_NAME"], + ["extension_feed_item.location_feed_item.address_line_1", "STRING"], + ["extension_feed_item.location_feed_item.address_line_2", "STRING"], + ["extension_feed_item.location_feed_item.business_name", "STRING"], + ["extension_feed_item.location_feed_item.city", "STRING"], + ["extension_feed_item.location_feed_item.country_code", "STRING"], + ["extension_feed_item.location_feed_item.phone_number", "STRING"], + ["extension_feed_item.location_feed_item.postal_code", "STRING"], + ["extension_feed_item.location_feed_item.province", "STRING"], + ["extension_feed_item.price_feed_item.final_url_suffix", "STRING"], + ["extension_feed_item.price_feed_item.language_code", "STRING"], + ["extension_feed_item.price_feed_item.price_offerings", "MESSAGE"], + ["extension_feed_item.price_feed_item.price_qualifier", "ENUM"], + ["extension_feed_item.price_feed_item.tracking_url_template", "STRING"], + ["extension_feed_item.price_feed_item.type", "ENUM"], + ["extension_feed_item.promotion_feed_item.discount_modifier", "ENUM"], + ["extension_feed_item.promotion_feed_item.final_mobile_urls", "STRING"], + ["extension_feed_item.promotion_feed_item.final_url_suffix", "STRING"], + ["extension_feed_item.promotion_feed_item.final_urls", "STRING"], + ["extension_feed_item.promotion_feed_item.language_code", "STRING"], + [ + "extension_feed_item.promotion_feed_item.money_amount_off.amount_micros", + "INT64", + ], + [ + "extension_feed_item.promotion_feed_item.money_amount_off.currency_code", + "STRING", + ], + ["extension_feed_item.promotion_feed_item.occasion", "ENUM"], + [ + "extension_feed_item.promotion_feed_item.orders_over_amount.amount_micros", + "INT64", + ], + [ + "extension_feed_item.promotion_feed_item.orders_over_amount.currency_code", + "STRING", + ], + ["extension_feed_item.promotion_feed_item.percent_off", "INT64"], + ["extension_feed_item.promotion_feed_item.promotion_code", "STRING"], + ["extension_feed_item.promotion_feed_item.promotion_end_date", "DATE"], + ["extension_feed_item.promotion_feed_item.promotion_start_date", "DATE"], + ["extension_feed_item.promotion_feed_item.promotion_target", "STRING"], + ["extension_feed_item.promotion_feed_item.tracking_url_template", "STRING"], + ["extension_feed_item.resource_name", "RESOURCE_NAME"], + ["extension_feed_item.sitelink_feed_item.final_mobile_urls", "STRING"], + ["extension_feed_item.sitelink_feed_item.final_url_suffix", "STRING"], + ["extension_feed_item.sitelink_feed_item.final_urls", "STRING"], + ["extension_feed_item.sitelink_feed_item.line1", "STRING"], + ["extension_feed_item.sitelink_feed_item.line2", "STRING"], + ["extension_feed_item.sitelink_feed_item.link_text", "STRING"], + ["extension_feed_item.sitelink_feed_item.tracking_url_template", "STRING"], + ["extension_feed_item.start_date_time", "DATE"], + ["extension_feed_item.status", "ENUM"], + ["extension_feed_item.structured_snippet_feed_item.header", "STRING"], + ["extension_feed_item.structured_snippet_feed_item.values", "STRING"], + ["extension_feed_item.targeted_ad_group", "RESOURCE_NAME"], + ["extension_feed_item.targeted_campaign", "RESOURCE_NAME"], + ["extension_feed_item.targeted_geo_target_constant", "RESOURCE_NAME"], + ["extension_feed_item.targeted_keyword.match_type", "ENUM"], + ["extension_feed_item.targeted_keyword.text", "STRING"], + ["extension_feed_item.text_message_feed_item.business_name", "STRING"], + ["extension_feed_item.text_message_feed_item.country_code", "STRING"], + ["extension_feed_item.text_message_feed_item.extension_text", "STRING"], + ["extension_feed_item.text_message_feed_item.phone_number", "STRING"], + ["extension_feed_item.text_message_feed_item.text", "STRING"], + ["feed", "MESSAGE"], + ["feed.affiliate_location_feed_data.chain_ids", "INT64"], + ["feed.affiliate_location_feed_data.relationship_type", "ENUM"], + ["feed.attributes", "MESSAGE"], + ["feed.id", "INT64"], + ["feed.name", "STRING"], + ["feed.origin", "ENUM"], + ["feed.places_location_feed_data.business_name_filter", "STRING"], + ["feed.places_location_feed_data.category_filters", "STRING"], + ["feed.places_location_feed_data.email_address", "STRING"], + ["feed.places_location_feed_data.label_filters", "STRING"], + ["feed.resource_name", "RESOURCE_NAME"], + ["feed.status", "ENUM"], + ["feed_item", "MESSAGE"], + ["feed_item.attribute_values", "MESSAGE"], + ["feed_item.end_date_time", "DATE"], + ["feed_item.feed", "RESOURCE_NAME"], + ["feed_item.geo_targeting_restriction", "ENUM"], + ["feed_item.id", "INT64"], + ["feed_item.policy_infos", "MESSAGE"], + ["feed_item.resource_name", "RESOURCE_NAME"], + ["feed_item.start_date_time", "DATE"], + ["feed_item.status", "ENUM"], + ["feed_item.url_custom_parameters", "MESSAGE"], + ["feed_item_set", "MESSAGE"], + ["feed_item_set.display_name", "STRING"], + ["feed_item_set.dynamic_affiliate_location_set_filter.chain_ids", "INT64"], + [ + "feed_item_set.dynamic_location_set_filter.business_name_filter.business_name", + "STRING", + ], + [ + "feed_item_set.dynamic_location_set_filter.business_name_filter.filter_type", + "ENUM", + ], + ["feed_item_set.dynamic_location_set_filter.labels", "STRING"], + ["feed_item_set.feed", "RESOURCE_NAME"], + ["feed_item_set.feed_item_set_id", "INT64"], + ["feed_item_set.resource_name", "RESOURCE_NAME"], + ["feed_item_set.status", "ENUM"], + ["feed_item_set_link", "MESSAGE"], + ["feed_item_set_link.feed_item", "RESOURCE_NAME"], + ["feed_item_set_link.feed_item_set", "RESOURCE_NAME"], + ["feed_item_set_link.resource_name", "RESOURCE_NAME"], + ["feed_item_target", "MESSAGE"], + ["feed_item_target.ad_group", "RESOURCE_NAME"], + ["feed_item_target.ad_schedule", "MESSAGE"], + ["feed_item_target.ad_schedule.day_of_week", "ENUM"], + ["feed_item_target.campaign", "RESOURCE_NAME"], + ["feed_item_target.device", "ENUM"], + ["feed_item_target.feed_item", "RESOURCE_NAME"], + ["feed_item_target.feed_item_target_id", "INT64"], + ["feed_item_target.feed_item_target_type", "ENUM"], + ["feed_item_target.geo_target_constant", "RESOURCE_NAME"], + ["feed_item_target.keyword.match_type", "ENUM"], + ["feed_item_target.keyword.text", "STRING"], + ["feed_item_target.resource_name", "RESOURCE_NAME"], + ["feed_item_target.status", "ENUM"], + ["feed_mapping", "MESSAGE"], + ["feed_mapping.attribute_field_mappings", "MESSAGE"], + ["feed_mapping.criterion_type", "ENUM"], + ["feed_mapping.feed", "RESOURCE_NAME"], + ["feed_mapping.placeholder_type", "ENUM"], + ["feed_mapping.resource_name", "RESOURCE_NAME"], + ["feed_mapping.status", "ENUM"], + ["feed_placeholder_view", "MESSAGE"], + ["feed_placeholder_view.placeholder_type", "ENUM"], + ["feed_placeholder_view.resource_name", "RESOURCE_NAME"], + ["gender_view", "MESSAGE"], + ["gender_view.resource_name", "RESOURCE_NAME"], + ["geo_target_constant", "MESSAGE"], + ["geo_target_constant.canonical_name", "STRING"], + ["geo_target_constant.country_code", "STRING"], + ["geo_target_constant.id", "INT64"], + ["geo_target_constant.name", "STRING"], + ["geo_target_constant.parent_geo_target", "RESOURCE_NAME"], + ["geo_target_constant.resource_name", "RESOURCE_NAME"], + ["geo_target_constant.status", "ENUM"], + ["geo_target_constant.target_type", "STRING"], + ["geographic_view", "MESSAGE"], + ["geographic_view.country_criterion_id", "INT64"], + ["geographic_view.location_type", "ENUM"], + ["geographic_view.resource_name", "RESOURCE_NAME"], + ["group_placement_view", "MESSAGE"], + ["group_placement_view.display_name", "STRING"], + ["group_placement_view.placement", "STRING"], + ["group_placement_view.placement_type", "ENUM"], + ["group_placement_view.resource_name", "RESOURCE_NAME"], + ["group_placement_view.target_url", "STRING"], + ["hotel_group_view", "MESSAGE"], + ["hotel_group_view.resource_name", "RESOURCE_NAME"], + ["hotel_performance_view", "MESSAGE"], + ["hotel_performance_view.resource_name", "RESOURCE_NAME"], + ["hotel_reconciliation", "MESSAGE"], + ["hotel_reconciliation.billed", "BOOLEAN"], + ["hotel_reconciliation.campaign", "RESOURCE_NAME"], + ["hotel_reconciliation.check_in_date", "DATE"], + ["hotel_reconciliation.check_out_date", "DATE"], + ["hotel_reconciliation.commission_id", "STRING"], + ["hotel_reconciliation.hotel_center_id", "INT64"], + ["hotel_reconciliation.hotel_id", "STRING"], + ["hotel_reconciliation.order_id", "STRING"], + ["hotel_reconciliation.reconciled_value_micros", "INT64"], + ["hotel_reconciliation.resource_name", "RESOURCE_NAME"], + ["hotel_reconciliation.status", "ENUM"], + ["income_range_view", "MESSAGE"], + ["income_range_view.resource_name", "RESOURCE_NAME"], + ["keyword_plan", "MESSAGE"], + ["keyword_plan.forecast_period", "MESSAGE"], + ["keyword_plan.id", "INT64"], + ["keyword_plan.name", "STRING"], + ["keyword_plan.resource_name", "RESOURCE_NAME"], + ["keyword_plan_ad_group", "MESSAGE"], + ["keyword_plan_ad_group.cpc_bid_micros", "INT64"], + ["keyword_plan_ad_group.id", "INT64"], + ["keyword_plan_ad_group.keyword_plan_campaign", "RESOURCE_NAME"], + ["keyword_plan_ad_group.name", "STRING"], + ["keyword_plan_ad_group.resource_name", "RESOURCE_NAME"], + ["keyword_plan_ad_group_keyword", "MESSAGE"], + ["keyword_plan_ad_group_keyword.cpc_bid_micros", "INT64"], + ["keyword_plan_ad_group_keyword.id", "INT64"], + ["keyword_plan_ad_group_keyword.keyword_plan_ad_group", "RESOURCE_NAME"], + ["keyword_plan_ad_group_keyword.match_type", "ENUM"], + ["keyword_plan_ad_group_keyword.negative", "BOOLEAN"], + ["keyword_plan_ad_group_keyword.resource_name", "RESOURCE_NAME"], + ["keyword_plan_ad_group_keyword.text", "STRING"], + ["keyword_plan_campaign", "MESSAGE"], + ["keyword_plan_campaign.cpc_bid_micros", "INT64"], + ["keyword_plan_campaign.geo_targets", "MESSAGE"], + ["keyword_plan_campaign.geo_targets.geo_target_constant", "RESOURCE_NAME"], + ["keyword_plan_campaign.id", "INT64"], + ["keyword_plan_campaign.keyword_plan", "RESOURCE_NAME"], + ["keyword_plan_campaign.keyword_plan_network", "ENUM"], + ["keyword_plan_campaign.language_constants", "RESOURCE_NAME"], + ["keyword_plan_campaign.name", "STRING"], + ["keyword_plan_campaign.resource_name", "RESOURCE_NAME"], + ["keyword_plan_campaign_keyword", "MESSAGE"], + ["keyword_plan_campaign_keyword.id", "INT64"], + ["keyword_plan_campaign_keyword.keyword_plan_campaign", "RESOURCE_NAME"], + ["keyword_plan_campaign_keyword.match_type", "ENUM"], + ["keyword_plan_campaign_keyword.negative", "BOOLEAN"], + ["keyword_plan_campaign_keyword.resource_name", "RESOURCE_NAME"], + ["keyword_plan_campaign_keyword.text", "STRING"], + ["keyword_theme_constant", "MESSAGE"], + ["keyword_theme_constant.country_code", "STRING"], + ["keyword_theme_constant.display_name", "STRING"], + ["keyword_theme_constant.language_code", "STRING"], + ["keyword_theme_constant.resource_name", "RESOURCE_NAME"], + ["keyword_view", "MESSAGE"], + ["keyword_view.resource_name", "RESOURCE_NAME"], + ["label", "MESSAGE"], + ["label.id", "INT64"], + ["label.name", "STRING"], + ["label.resource_name", "RESOURCE_NAME"], + ["label.status", "ENUM"], + ["label.text_label.background_color", "STRING"], + ["label.text_label.description", "STRING"], + ["landing_page_view", "MESSAGE"], + ["landing_page_view.resource_name", "RESOURCE_NAME"], + ["landing_page_view.unexpanded_final_url", "STRING"], + ["language_constant", "MESSAGE"], + ["language_constant.code", "STRING"], + ["language_constant.id", "INT64"], + ["language_constant.name", "STRING"], + ["language_constant.resource_name", "RESOURCE_NAME"], + ["language_constant.targetable", "BOOLEAN"], + ["lead_form_submission_data", "MESSAGE"], + ["lead_form_submission_data.ad_group", "RESOURCE_NAME"], + ["lead_form_submission_data.ad_group_ad", "RESOURCE_NAME"], + ["lead_form_submission_data.asset", "RESOURCE_NAME"], + ["lead_form_submission_data.campaign", "RESOURCE_NAME"], + ["lead_form_submission_data.custom_lead_form_submission_fields", "MESSAGE"], + ["lead_form_submission_data.gclid", "STRING"], + ["lead_form_submission_data.id", "STRING"], + ["lead_form_submission_data.lead_form_submission_fields", "MESSAGE"], + ["lead_form_submission_data.resource_name", "RESOURCE_NAME"], + ["lead_form_submission_data.submission_date_time", "DATE"], + ["life_event", "MESSAGE"], + ["life_event.availabilities", "MESSAGE"], + ["life_event.id", "INT64"], + ["life_event.launched_to_all", "BOOLEAN"], + ["life_event.name", "STRING"], + ["life_event.parent", "RESOURCE_NAME"], + ["life_event.resource_name", "RESOURCE_NAME"], + ["location_view", "MESSAGE"], + ["location_view.resource_name", "RESOURCE_NAME"], + ["managed_placement_view", "MESSAGE"], + ["managed_placement_view.resource_name", "RESOURCE_NAME"], + ["media_file", "MESSAGE"], + ["media_file.audio.ad_duration_millis", "INT64"], + ["media_file.file_size", "INT64"], + ["media_file.id", "INT64"], + ["media_file.image.full_size_image_url", "STRING"], + ["media_file.image.preview_size_image_url", "STRING"], + ["media_file.media_bundle.url", "STRING"], + ["media_file.mime_type", "ENUM"], + ["media_file.name", "STRING"], + ["media_file.resource_name", "RESOURCE_NAME"], + ["media_file.source_url", "STRING"], + ["media_file.type", "ENUM"], + ["media_file.video.ad_duration_millis", "INT64"], + ["media_file.video.advertising_id_code", "STRING"], + ["media_file.video.isci_code", "STRING"], + ["media_file.video.youtube_video_id", "STRING"], + ["metrics.absolute_top_impression_percentage", "DOUBLE"], + ["metrics.active_view_cpm", "DOUBLE"], + ["metrics.active_view_ctr", "DOUBLE"], + ["metrics.active_view_impressions", "INT64"], + ["metrics.active_view_measurability", "DOUBLE"], + ["metrics.active_view_measurable_cost_micros", "INT64"], + ["metrics.active_view_measurable_impressions", "INT64"], + ["metrics.active_view_viewability", "DOUBLE"], + ["metrics.all_conversions", "DOUBLE"], + ["metrics.all_conversions_by_conversion_date", "DOUBLE"], + ["metrics.all_conversions_from_click_to_call", "DOUBLE"], + ["metrics.all_conversions_from_directions", "DOUBLE"], + ["metrics.all_conversions_from_interactions_rate", "DOUBLE"], + ["metrics.all_conversions_from_interactions_value_per_interaction", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_click_to_call", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_directions", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_menu", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_order", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_other_engagement", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_store_visits", "DOUBLE"], + ["metrics.all_conversions_from_location_asset_website", "DOUBLE"], + ["metrics.all_conversions_from_menu", "DOUBLE"], + ["metrics.all_conversions_from_order", "DOUBLE"], + ["metrics.all_conversions_from_other_engagement", "DOUBLE"], + ["metrics.all_conversions_from_store_visit", "DOUBLE"], + ["metrics.all_conversions_from_store_website", "DOUBLE"], + ["metrics.all_conversions_value", "DOUBLE"], + ["metrics.all_conversions_value_by_conversion_date", "DOUBLE"], + ["metrics.all_conversions_value_per_cost", "DOUBLE"], + ["metrics.all_new_customer_lifetime_value", "DOUBLE"], + [ + "metrics.auction_insight_search_absolute_top_impression_percentage", + "DOUBLE", + ], + ["metrics.auction_insight_search_impression_share", "DOUBLE"], + ["metrics.auction_insight_search_outranking_share", "DOUBLE"], + ["metrics.auction_insight_search_overlap_rate", "DOUBLE"], + ["metrics.auction_insight_search_position_above_rate", "DOUBLE"], + ["metrics.auction_insight_search_top_impression_percentage", "DOUBLE"], + ["metrics.average_cost", "DOUBLE"], + ["metrics.average_cpc", "DOUBLE"], + ["metrics.average_cpe", "DOUBLE"], + ["metrics.average_cpm", "DOUBLE"], + ["metrics.average_cpv", "DOUBLE"], + ["metrics.average_page_views", "DOUBLE"], + ["metrics.average_target_cpa_micros", "INT64"], + ["metrics.average_target_roas", "DOUBLE"], + ["metrics.average_time_on_site", "DOUBLE"], + ["metrics.benchmark_average_max_cpc", "DOUBLE"], + ["metrics.benchmark_ctr", "DOUBLE"], + ["metrics.biddable_app_install_conversions", "DOUBLE"], + ["metrics.biddable_app_post_install_conversions", "DOUBLE"], + ["metrics.bounce_rate", "DOUBLE"], + ["metrics.clicks", "INT64"], + ["metrics.combined_clicks", "INT64"], + ["metrics.combined_clicks_per_query", "DOUBLE"], + ["metrics.combined_queries", "INT64"], + ["metrics.content_budget_lost_impression_share", "DOUBLE"], + ["metrics.content_impression_share", "DOUBLE"], + ["metrics.content_rank_lost_impression_share", "DOUBLE"], + ["metrics.conversion_last_conversion_date", "DATE"], + ["metrics.conversion_last_received_request_date_time", "DATE"], + ["metrics.conversions", "DOUBLE"], + ["metrics.conversions_by_conversion_date", "DOUBLE"], + ["metrics.conversions_from_interactions_rate", "DOUBLE"], + ["metrics.conversions_from_interactions_value_per_interaction", "DOUBLE"], + ["metrics.conversions_value", "DOUBLE"], + ["metrics.conversions_value_by_conversion_date", "DOUBLE"], + ["metrics.conversions_value_per_cost", "DOUBLE"], + ["metrics.cost_micros", "INT64"], + ["metrics.cost_per_all_conversions", "DOUBLE"], + ["metrics.cost_per_conversion", "DOUBLE"], + ["metrics.cost_per_current_model_attributed_conversion", "DOUBLE"], + ["metrics.cross_device_conversions", "DOUBLE"], + ["metrics.ctr", "DOUBLE"], + ["metrics.current_model_attributed_conversions", "DOUBLE"], + [ + "metrics.current_model_attributed_conversions_from_interactions_rate", + "DOUBLE", + ], + [ + "metrics.current_model_attributed_conversions_from_interactions_value_per_interaction", + "DOUBLE", + ], + ["metrics.current_model_attributed_conversions_value", "DOUBLE"], + ["metrics.current_model_attributed_conversions_value_per_cost", "DOUBLE"], + ["metrics.eligible_impressions_from_location_asset_store_reach", "INT64"], + ["metrics.engagement_rate", "DOUBLE"], + ["metrics.engagements", "INT64"], + ["metrics.gmail_forwards", "INT64"], + ["metrics.gmail_saves", "INT64"], + ["metrics.gmail_secondary_clicks", "INT64"], + ["metrics.historical_creative_quality_score", "ENUM"], + ["metrics.historical_landing_page_quality_score", "ENUM"], + ["metrics.historical_quality_score", "INT64"], + ["metrics.historical_search_predicted_ctr", "ENUM"], + ["metrics.hotel_average_lead_value_micros", "DOUBLE"], + ["metrics.hotel_commission_rate_micros", "INT64"], + ["metrics.hotel_eligible_impressions", "INT64"], + ["metrics.hotel_expected_commission_cost", "DOUBLE"], + ["metrics.hotel_price_difference_percentage", "DOUBLE"], + ["metrics.impressions", "INT64"], + ["metrics.impressions_from_store_reach", "INT64"], + ["metrics.interaction_event_types", "ENUM"], + ["metrics.interaction_rate", "DOUBLE"], + ["metrics.interactions", "INT64"], + ["metrics.invalid_click_rate", "DOUBLE"], + ["metrics.invalid_clicks", "INT64"], + ["metrics.message_chat_rate", "DOUBLE"], + ["metrics.message_chats", "INT64"], + ["metrics.message_impressions", "INT64"], + ["metrics.mobile_friendly_clicks_percentage", "DOUBLE"], + ["metrics.new_customer_lifetime_value", "DOUBLE"], + ["metrics.optimization_score_uplift", "DOUBLE"], + ["metrics.optimization_score_url", "STRING"], + ["metrics.organic_clicks", "INT64"], + ["metrics.organic_clicks_per_query", "DOUBLE"], + ["metrics.organic_impressions", "INT64"], + ["metrics.organic_impressions_per_query", "DOUBLE"], + ["metrics.organic_queries", "INT64"], + ["metrics.percent_new_visitors", "DOUBLE"], + ["metrics.phone_calls", "INT64"], + ["metrics.phone_impressions", "INT64"], + ["metrics.phone_through_rate", "DOUBLE"], + ["metrics.publisher_organic_clicks", "INT64"], + ["metrics.publisher_purchased_clicks", "INT64"], + ["metrics.publisher_unknown_clicks", "INT64"], + ["metrics.relative_ctr", "DOUBLE"], + ["metrics.search_absolute_top_impression_share", "DOUBLE"], + ["metrics.search_budget_lost_absolute_top_impression_share", "DOUBLE"], + ["metrics.search_budget_lost_impression_share", "DOUBLE"], + ["metrics.search_budget_lost_top_impression_share", "DOUBLE"], + ["metrics.search_click_share", "DOUBLE"], + ["metrics.search_exact_match_impression_share", "DOUBLE"], + ["metrics.search_impression_share", "DOUBLE"], + ["metrics.search_rank_lost_absolute_top_impression_share", "DOUBLE"], + ["metrics.search_rank_lost_impression_share", "DOUBLE"], + ["metrics.search_rank_lost_top_impression_share", "DOUBLE"], + ["metrics.search_top_impression_share", "DOUBLE"], + ["metrics.search_volume", "MESSAGE"], + ["metrics.sk_ad_network_conversions", "INT64"], + ["metrics.speed_score", "INT64"], + ["metrics.top_impression_percentage", "DOUBLE"], + ["metrics.valid_accelerated_mobile_pages_clicks_percentage", "DOUBLE"], + ["metrics.value_per_all_conversions", "DOUBLE"], + ["metrics.value_per_all_conversions_by_conversion_date", "DOUBLE"], + ["metrics.value_per_conversion", "DOUBLE"], + ["metrics.value_per_conversions_by_conversion_date", "DOUBLE"], + ["metrics.value_per_current_model_attributed_conversion", "DOUBLE"], + ["metrics.video_quartile_p100_rate", "DOUBLE"], + ["metrics.video_quartile_p25_rate", "DOUBLE"], + ["metrics.video_quartile_p50_rate", "DOUBLE"], + ["metrics.video_quartile_p75_rate", "DOUBLE"], + ["metrics.video_view_rate", "DOUBLE"], + ["metrics.video_views", "INT64"], + ["metrics.view_through_conversions", "INT64"], + [ + "metrics.view_through_conversions_from_location_asset_click_to_call", + "DOUBLE", + ], + ["metrics.view_through_conversions_from_location_asset_directions", "DOUBLE"], + ["metrics.view_through_conversions_from_location_asset_menu", "DOUBLE"], + ["metrics.view_through_conversions_from_location_asset_order", "DOUBLE"], + [ + "metrics.view_through_conversions_from_location_asset_other_engagement", + "DOUBLE", + ], + [ + "metrics.view_through_conversions_from_location_asset_store_visits", + "DOUBLE", + ], + ["metrics.view_through_conversions_from_location_asset_website", "DOUBLE"], + ["mobile_app_category_constant", "MESSAGE"], + ["mobile_app_category_constant.id", "INT32"], + ["mobile_app_category_constant.name", "STRING"], + ["mobile_app_category_constant.resource_name", "RESOURCE_NAME"], + ["mobile_device_constant", "MESSAGE"], + ["mobile_device_constant.id", "INT64"], + ["mobile_device_constant.manufacturer_name", "STRING"], + ["mobile_device_constant.name", "STRING"], + ["mobile_device_constant.operating_system_name", "STRING"], + ["mobile_device_constant.resource_name", "RESOURCE_NAME"], + ["mobile_device_constant.type", "ENUM"], + ["offline_user_data_job", "MESSAGE"], + [ + "offline_user_data_job.customer_match_user_list_metadata.user_list", + "RESOURCE_NAME", + ], + ["offline_user_data_job.external_id", "INT64"], + ["offline_user_data_job.failure_reason", "ENUM"], + ["offline_user_data_job.id", "INT64"], + ["offline_user_data_job.operation_metadata.match_rate_range", "ENUM"], + ["offline_user_data_job.resource_name", "RESOURCE_NAME"], + ["offline_user_data_job.status", "ENUM"], + ["offline_user_data_job.store_sales_metadata.loyalty_fraction", "DOUBLE"], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time", + "DATE", + ], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.bridge_map_version_id", + "STRING", + ], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.partner_id", + "INT64", + ], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.partner_match_fraction", + "DOUBLE", + ], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.partner_upload_fraction", + "DOUBLE", + ], + [ + "offline_user_data_job.store_sales_metadata.third_party_metadata.valid_transaction_fraction", + "DOUBLE", + ], + [ + "offline_user_data_job.store_sales_metadata.transaction_upload_fraction", + "DOUBLE", + ], + ["offline_user_data_job.type", "ENUM"], + ["operating_system_version_constant", "MESSAGE"], + ["operating_system_version_constant.id", "INT64"], + ["operating_system_version_constant.name", "STRING"], + ["operating_system_version_constant.operator_type", "ENUM"], + ["operating_system_version_constant.os_major_version", "INT32"], + ["operating_system_version_constant.os_minor_version", "INT32"], + ["operating_system_version_constant.resource_name", "RESOURCE_NAME"], + ["paid_organic_search_term_view", "MESSAGE"], + ["paid_organic_search_term_view.resource_name", "RESOURCE_NAME"], + ["paid_organic_search_term_view.search_term", "STRING"], + ["parental_status_view", "MESSAGE"], + ["parental_status_view.resource_name", "RESOURCE_NAME"], + ["per_store_view", "MESSAGE"], + ["per_store_view.place_id", "STRING"], + ["per_store_view.resource_name", "RESOURCE_NAME"], + ["product_bidding_category_constant", "MESSAGE"], + ["product_bidding_category_constant.country_code", "STRING"], + ["product_bidding_category_constant.id", "INT64"], + ["product_bidding_category_constant.language_code", "STRING"], + ["product_bidding_category_constant.level", "ENUM"], + ["product_bidding_category_constant.localized_name", "STRING"], + [ + "product_bidding_category_constant.product_bidding_category_constant_parent", + "RESOURCE_NAME", + ], + ["product_bidding_category_constant.resource_name", "RESOURCE_NAME"], + ["product_bidding_category_constant.status", "ENUM"], + ["product_group_view", "MESSAGE"], + ["product_group_view.resource_name", "RESOURCE_NAME"], + ["product_link", "MESSAGE"], + ["product_link.data_partner.data_partner_id", "INT64"], + ["product_link.google_ads.customer", "RESOURCE_NAME"], + ["product_link.product_link_id", "INT64"], + ["product_link.resource_name", "RESOURCE_NAME"], + ["product_link.type", "ENUM"], + ["qualifying_question", "MESSAGE"], + ["qualifying_question.locale", "STRING"], + ["qualifying_question.qualifying_question_id", "INT64"], + ["qualifying_question.resource_name", "RESOURCE_NAME"], + ["qualifying_question.text", "STRING"], + ["recommendation", "MESSAGE"], + ["recommendation.ad_group", "RESOURCE_NAME"], + ["recommendation.call_asset_recommendation", "MESSAGE"], + ["recommendation.callout_asset_recommendation", "MESSAGE"], + ["recommendation.campaign", "RESOURCE_NAME"], + ["recommendation.campaign_budget", "RESOURCE_NAME"], + ["recommendation.campaign_budget_recommendation", "MESSAGE"], + ["recommendation.campaigns", "RESOURCE_NAME"], + ["recommendation.dismissed", "BOOLEAN"], + ["recommendation.display_expansion_opt_in_recommendation", "MESSAGE"], + ["recommendation.dynamic_image_extension_opt_in_recommendation", "MESSAGE"], + ["recommendation.enhanced_cpc_opt_in_recommendation", "MESSAGE"], + ["recommendation.forecasting_campaign_budget_recommendation", "MESSAGE"], + ["recommendation.forecasting_set_target_roas_recommendation", "MESSAGE"], + ["recommendation.impact", "MESSAGE"], + [ + "recommendation.improve_performance_max_ad_strength_recommendation", + "MESSAGE", + ], + ["recommendation.keyword_match_type_recommendation", "MESSAGE"], + ["recommendation.keyword_recommendation", "MESSAGE"], + ["recommendation.lower_target_roas_recommendation", "MESSAGE"], + ["recommendation.marginal_roi_campaign_budget_recommendation", "MESSAGE"], + ["recommendation.maximize_clicks_opt_in_recommendation", "MESSAGE"], + ["recommendation.maximize_conversions_opt_in_recommendation", "MESSAGE"], + [ + "recommendation.migrate_dynamic_search_ads_campaign_to_performance_max_recommendation", + "MESSAGE", + ], + ["recommendation.move_unused_budget_recommendation", "MESSAGE"], + ["recommendation.optimize_ad_rotation_recommendation", "MESSAGE"], + ["recommendation.performance_max_opt_in_recommendation", "MESSAGE"], + ["recommendation.raise_target_cpa_bid_too_low_recommendation", "MESSAGE"], + ["recommendation.raise_target_cpa_recommendation", "MESSAGE"], + ["recommendation.resource_name", "RESOURCE_NAME"], + ["recommendation.responsive_search_ad_asset_recommendation", "MESSAGE"], + [ + "recommendation.responsive_search_ad_improve_ad_strength_recommendation", + "MESSAGE", + ], + ["recommendation.responsive_search_ad_recommendation", "MESSAGE"], + ["recommendation.search_partners_opt_in_recommendation", "MESSAGE"], + ["recommendation.shopping_add_age_group_recommendation", "MESSAGE"], + ["recommendation.shopping_add_color_recommendation", "MESSAGE"], + ["recommendation.shopping_add_gender_recommendation", "MESSAGE"], + ["recommendation.shopping_add_gtin_recommendation", "MESSAGE"], + ["recommendation.shopping_add_more_identifiers_recommendation", "MESSAGE"], + [ + "recommendation.shopping_add_products_to_campaign_recommendation", + "MESSAGE", + ], + ["recommendation.shopping_add_size_recommendation", "MESSAGE"], + [ + "recommendation.shopping_fix_disapproved_products_recommendation", + "MESSAGE", + ], + [ + "recommendation.shopping_fix_merchant_center_account_suspension_warning_recommendation", + "MESSAGE", + ], + [ + "recommendation.shopping_fix_suspended_merchant_center_account_recommendation", + "MESSAGE", + ], + [ + "recommendation.shopping_migrate_regular_shopping_campaign_offers_to_performance_max_recommendation", + "MESSAGE", + ], + ["recommendation.shopping_target_all_offers_recommendation", "MESSAGE"], + ["recommendation.sitelink_asset_recommendation", "MESSAGE"], + ["recommendation.target_cpa_opt_in_recommendation", "MESSAGE"], + ["recommendation.target_roas_opt_in_recommendation", "MESSAGE"], + ["recommendation.text_ad_recommendation", "MESSAGE"], + ["recommendation.type", "ENUM"], + [ + "recommendation.upgrade_local_campaign_to_performance_max_recommendation", + "MESSAGE", + ], + [ + "recommendation.upgrade_smart_shopping_campaign_to_performance_max_recommendation", + "MESSAGE", + ], + ["recommendation.use_broad_match_keyword_recommendation", "MESSAGE"], + ["remarketing_action", "MESSAGE"], + ["remarketing_action.id", "INT64"], + ["remarketing_action.name", "STRING"], + ["remarketing_action.resource_name", "RESOURCE_NAME"], + ["remarketing_action.tag_snippets", "MESSAGE"], + ["search_term_view", "MESSAGE"], + ["search_term_view.ad_group", "RESOURCE_NAME"], + ["search_term_view.resource_name", "RESOURCE_NAME"], + ["search_term_view.search_term", "STRING"], + ["search_term_view.status", "ENUM"], + ["segments.activity_account_id", "INT64"], + ["segments.activity_rating", "INT64"], + ["segments.ad_destination_type", "ENUM"], + ["segments.ad_group", "RESOURCE_NAME"], + ["segments.ad_network_type", "ENUM"], + ["segments.asset_group", "RESOURCE_NAME"], + ["segments.asset_interaction_target.asset", "RESOURCE_NAME"], + ["segments.asset_interaction_target.interaction_on_this_asset", "BOOLEAN"], + ["segments.auction_insight_domain", "STRING"], + ["segments.budget_campaign_association_status.campaign", "RESOURCE_NAME"], + ["segments.budget_campaign_association_status.status", "ENUM"], + ["segments.campaign", "RESOURCE_NAME"], + ["segments.click_type", "ENUM"], + ["segments.conversion_action", "RESOURCE_NAME"], + ["segments.conversion_action_category", "ENUM"], + ["segments.conversion_action_name", "STRING"], + ["segments.conversion_adjustment", "BOOLEAN"], + ["segments.conversion_attribution_event_type", "ENUM"], + ["segments.conversion_lag_bucket", "ENUM"], + ["segments.conversion_or_adjustment_lag_bucket", "ENUM"], + ["segments.conversion_value_rule_primary_dimension", "ENUM"], + ["segments.date", "DATE"], + ["segments.day_of_week", "ENUM"], + ["segments.device", "ENUM"], + ["segments.external_activity_id", "STRING"], + ["segments.external_conversion_source", "ENUM"], + ["segments.geo_target_airport", "RESOURCE_NAME"], + ["segments.geo_target_canton", "RESOURCE_NAME"], + ["segments.geo_target_city", "RESOURCE_NAME"], + ["segments.geo_target_country", "RESOURCE_NAME"], + ["segments.geo_target_county", "RESOURCE_NAME"], + ["segments.geo_target_district", "RESOURCE_NAME"], + ["segments.geo_target_metro", "RESOURCE_NAME"], + ["segments.geo_target_most_specific_location", "RESOURCE_NAME"], + ["segments.geo_target_postal_code", "RESOURCE_NAME"], + ["segments.geo_target_province", "RESOURCE_NAME"], + ["segments.geo_target_region", "RESOURCE_NAME"], + ["segments.geo_target_state", "RESOURCE_NAME"], + ["segments.hotel_booking_window_days", "INT64"], + ["segments.hotel_center_id", "INT64"], + ["segments.hotel_check_in_date", "DATE"], + ["segments.hotel_check_in_day_of_week", "ENUM"], + ["segments.hotel_city", "RESOURCE_NAME"], + ["segments.hotel_class", "INT32"], + ["segments.hotel_country", "RESOURCE_NAME"], + ["segments.hotel_date_selection_type", "ENUM"], + ["segments.hotel_length_of_stay", "INT32"], + ["segments.hotel_price_bucket", "ENUM"], + ["segments.hotel_rate_rule_id", "STRING"], + ["segments.hotel_rate_type", "ENUM"], + ["segments.hotel_state", "RESOURCE_NAME"], + ["segments.hour", "INT32"], + ["segments.interaction_on_this_extension", "BOOLEAN"], + ["segments.keyword.ad_group_criterion", "RESOURCE_NAME"], + ["segments.keyword.info.match_type", "ENUM"], + ["segments.keyword.info.text", "STRING"], + ["segments.month", "DATE"], + ["segments.month_of_year", "ENUM"], + ["segments.new_versus_returning_customers", "ENUM"], + ["segments.partner_hotel_id", "STRING"], + ["segments.placeholder_type", "ENUM"], + ["segments.product_aggregator_id", "INT64"], + ["segments.product_bidding_category_level1", "RESOURCE_NAME"], + ["segments.product_bidding_category_level2", "RESOURCE_NAME"], + ["segments.product_bidding_category_level3", "RESOURCE_NAME"], + ["segments.product_bidding_category_level4", "RESOURCE_NAME"], + ["segments.product_bidding_category_level5", "RESOURCE_NAME"], + ["segments.product_brand", "STRING"], + ["segments.product_channel", "ENUM"], + ["segments.product_channel_exclusivity", "ENUM"], + ["segments.product_condition", "ENUM"], + ["segments.product_country", "RESOURCE_NAME"], + ["segments.product_custom_attribute0", "STRING"], + ["segments.product_custom_attribute1", "STRING"], + ["segments.product_custom_attribute2", "STRING"], + ["segments.product_custom_attribute3", "STRING"], + ["segments.product_custom_attribute4", "STRING"], + ["segments.product_feed_label", "STRING"], + ["segments.product_item_id", "STRING"], + ["segments.product_language", "RESOURCE_NAME"], + ["segments.product_merchant_id", "INT64"], + ["segments.product_store_id", "STRING"], + ["segments.product_title", "STRING"], + ["segments.product_type_l1", "STRING"], + ["segments.product_type_l2", "STRING"], + ["segments.product_type_l3", "STRING"], + ["segments.product_type_l4", "STRING"], + ["segments.product_type_l5", "STRING"], + ["segments.quarter", "DATE"], + ["segments.recommendation_type", "ENUM"], + ["segments.search_engine_results_page_type", "ENUM"], + ["segments.search_subcategory", "STRING"], + ["segments.search_term", "STRING"], + ["segments.search_term_match_type", "ENUM"], + ["segments.sk_ad_network_ad_event_type", "ENUM"], + ["segments.sk_ad_network_attribution_credit", "ENUM"], + ["segments.sk_ad_network_conversion_value", "INT64"], + ["segments.sk_ad_network_source_app.sk_ad_network_source_app_id", "STRING"], + ["segments.sk_ad_network_user_type", "ENUM"], + ["segments.slot", "ENUM"], + ["segments.webpage", "RESOURCE_NAME"], + ["segments.week", "DATE"], + ["segments.year", "INT32"], + ["shared_criterion", "MESSAGE"], + ["shared_criterion.criterion_id", "INT64"], + ["shared_criterion.keyword.match_type", "ENUM"], + ["shared_criterion.keyword.text", "STRING"], + [ + "shared_criterion.mobile_app_category.mobile_app_category_constant", + "RESOURCE_NAME", + ], + ["shared_criterion.mobile_application.app_id", "STRING"], + ["shared_criterion.mobile_application.name", "STRING"], + ["shared_criterion.placement.url", "STRING"], + ["shared_criterion.resource_name", "RESOURCE_NAME"], + ["shared_criterion.shared_set", "RESOURCE_NAME"], + ["shared_criterion.type", "ENUM"], + ["shared_criterion.youtube_channel.channel_id", "STRING"], + ["shared_criterion.youtube_video.video_id", "STRING"], + ["shared_set", "MESSAGE"], + ["shared_set.id", "INT64"], + ["shared_set.member_count", "INT64"], + ["shared_set.name", "STRING"], + ["shared_set.reference_count", "INT64"], + ["shared_set.resource_name", "RESOURCE_NAME"], + ["shared_set.status", "ENUM"], + ["shared_set.type", "ENUM"], + ["shopping_performance_view", "MESSAGE"], + ["shopping_performance_view.resource_name", "RESOURCE_NAME"], + ["smart_campaign_search_term_view", "MESSAGE"], + ["smart_campaign_search_term_view.campaign", "RESOURCE_NAME"], + ["smart_campaign_search_term_view.resource_name", "RESOURCE_NAME"], + ["smart_campaign_search_term_view.search_term", "STRING"], + ["smart_campaign_setting", "MESSAGE"], + [ + "smart_campaign_setting.ad_optimized_business_profile_setting.include_lead_form", + "BOOLEAN", + ], + ["smart_campaign_setting.advertising_language_code", "STRING"], + ["smart_campaign_setting.business_name", "STRING"], + ["smart_campaign_setting.business_profile_location", "STRING"], + ["smart_campaign_setting.campaign", "RESOURCE_NAME"], + ["smart_campaign_setting.final_url", "STRING"], + ["smart_campaign_setting.phone_number.country_code", "STRING"], + ["smart_campaign_setting.phone_number.phone_number", "STRING"], + ["smart_campaign_setting.resource_name", "RESOURCE_NAME"], + ["third_party_app_analytics_link", "MESSAGE"], + ["third_party_app_analytics_link.resource_name", "RESOURCE_NAME"], + ["third_party_app_analytics_link.shareable_link_id", "STRING"], + ["topic_constant", "MESSAGE"], + ["topic_constant.id", "INT64"], + ["topic_constant.path", "STRING"], + ["topic_constant.resource_name", "RESOURCE_NAME"], + ["topic_constant.topic_constant_parent", "RESOURCE_NAME"], + ["topic_view", "MESSAGE"], + ["topic_view.resource_name", "RESOURCE_NAME"], + ["travel_activity_group_view", "MESSAGE"], + ["travel_activity_group_view.resource_name", "RESOURCE_NAME"], + ["travel_activity_performance_view", "MESSAGE"], + ["travel_activity_performance_view.resource_name", "RESOURCE_NAME"], + ["user_interest", "MESSAGE"], + ["user_interest.availabilities", "MESSAGE"], + ["user_interest.launched_to_all", "BOOLEAN"], + ["user_interest.name", "STRING"], + ["user_interest.resource_name", "RESOURCE_NAME"], + ["user_interest.taxonomy_type", "ENUM"], + ["user_interest.user_interest_id", "INT64"], + ["user_interest.user_interest_parent", "RESOURCE_NAME"], + ["user_list", "MESSAGE"], + ["user_list.access_reason", "ENUM"], + ["user_list.account_user_list_status", "ENUM"], + ["user_list.basic_user_list.actions", "MESSAGE"], + ["user_list.closing_reason", "ENUM"], + ["user_list.crm_based_user_list.app_id", "STRING"], + ["user_list.crm_based_user_list.data_source_type", "ENUM"], + ["user_list.crm_based_user_list.upload_key_type", "ENUM"], + ["user_list.description", "STRING"], + ["user_list.eligible_for_display", "BOOLEAN"], + ["user_list.eligible_for_search", "BOOLEAN"], + ["user_list.id", "INT64"], + ["user_list.integration_code", "STRING"], + ["user_list.logical_user_list.rules", "MESSAGE"], + ["user_list.match_rate_percentage", "INT32"], + ["user_list.membership_life_span", "INT64"], + ["user_list.membership_status", "ENUM"], + ["user_list.name", "STRING"], + ["user_list.read_only", "BOOLEAN"], + ["user_list.resource_name", "RESOURCE_NAME"], + [ + "user_list.rule_based_user_list.flexible_rule_user_list.exclusive_operands", + "MESSAGE", + ], + [ + "user_list.rule_based_user_list.flexible_rule_user_list.inclusive_operands", + "MESSAGE", + ], + [ + "user_list.rule_based_user_list.flexible_rule_user_list.inclusive_rule_operator", + "ENUM", + ], + ["user_list.rule_based_user_list.prepopulation_status", "ENUM"], + ["user_list.similar_user_list.seed_user_list", "RESOURCE_NAME"], + ["user_list.size_for_display", "INT64"], + ["user_list.size_for_search", "INT64"], + ["user_list.size_range_for_display", "ENUM"], + ["user_list.size_range_for_search", "ENUM"], + ["user_list.type", "ENUM"], + ["user_location_view", "MESSAGE"], + ["user_location_view.country_criterion_id", "INT64"], + ["user_location_view.resource_name", "RESOURCE_NAME"], + ["user_location_view.targeting_location", "BOOLEAN"], + ["video", "MESSAGE"], + ["video.channel_id", "STRING"], + ["video.duration_millis", "INT64"], + ["video.id", "STRING"], + ["video.resource_name", "RESOURCE_NAME"], + ["video.title", "STRING"], + ["webpage_view", "MESSAGE"], + ["webpage_view.resource_name", "RESOURCE_NAME"], +]); +console.timeEnd("Map init"); diff --git a/src/protos/index.ts b/src/protos/index.ts index 79a7b39d..64696dc7 100644 --- a/src/protos/index.ts +++ b/src/protos/index.ts @@ -15,7 +15,7 @@ export import services = protos.google.ads.googleads.v14.services; // We compile enums ourselves, the Google ones should be used internally only export import internalEnums = protos.google.ads.googleads.v14.enums; export { enums } from "./autogen/enums"; -export { fields } from "./autogen/fields"; +export { fields, fieldDataTypes } from "./autogen/fields"; // Common service used for report/query methods export { GoogleAdsServiceClient } from "google-ads-node"; diff --git a/src/service.ts b/src/service.ts index b1a426bb..291397c1 100644 --- a/src/service.ts +++ b/src/service.ts @@ -1,5 +1,5 @@ import { grpc } from "google-gax"; -import { UserRefreshClient } from "google-auth-library"; +import { UserRefreshClient, OAuth2Client } from "google-auth-library"; import { ClientOptions } from "./client"; import { AllServices, @@ -92,6 +92,25 @@ export class Service { return credentials; } + public async getAccessToken(): Promise { + console.time("getAccessToken"); + const oAuth2Client = new OAuth2Client( + this.clientOptions.client_id, + this.clientOptions.client_secret + ); + oAuth2Client.setCredentials({ + refresh_token: this.customerOptions.refresh_token, + }); + const { token } = await oAuth2Client.getAccessToken(); + + if (typeof token !== "string") { + throw new Error("Failed to retrieve access token"); + } + console.timeEnd("getAccessToken"); + + return token; + } + protected loadService(service: ServiceName): T { const serviceCacheKey = `${service}_${this.customerOptions.refresh_token}`; diff --git a/yarn.lock b/yarn.lock index 2ba953bf..0df4291c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -806,6 +806,21 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/stream-chain@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/stream-chain/-/stream-chain-2.0.4.tgz#065f0a75dc18db9f2747a8283ea450c37248a919" + integrity sha512-V7TsWLHrx79KumkHqSD7F8eR6POpEuWb6PuXJ7s/dRHAf3uVst3Jkp1yZ5XqIfECZLQ4a28vBVstTErmsMBvaQ== + dependencies: + "@types/node" "*" + +"@types/stream-json@^1.7.7": + version "1.7.7" + resolved "https://registry.yarnpkg.com/@types/stream-json/-/stream-json-1.7.7.tgz#8660101e15ee52e9a2370727334269ad7ec6a759" + integrity sha512-hHG7cLQ09H/m9i0jzL6UJAeLLxIWej90ECn0svO4T8J0nGcl89xZDQ2ujT4WKlvg0GWkcxJbjIDzW/v7BYUM6Q== + dependencies: + "@types/node" "*" + "@types/stream-chain" "*" + "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" @@ -1005,6 +1020,20 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-jest@^29.0.3: version "29.0.3" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.0.3.tgz#64e156a47a77588db6a669a88dedff27ed6e260f" @@ -1233,6 +1262,13 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1261,6 +1297,11 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: dependencies: ms "2.1.2" +decamelize@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" + integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -1276,6 +1317,11 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -1615,6 +1661,20 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +follow-redirects@^1.15.4: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2506,6 +2566,11 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -2524,6 +2589,18 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -2783,6 +2860,11 @@ protobufjs@^7.0.0: "@types/node" ">=13.7.0" long "^5.0.0" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -2963,6 +3045,18 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stream-chain@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" + integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== + +stream-json@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.8.0.tgz#53f486b2e3b4496c506131f8d7260ba42def151c" + integrity sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw== + dependencies: + stream-chain "^2.2.5" + stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"