google-ads-googleads 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (527) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +6 -0
  3. data/README.md +11 -0
  4. data/google_ads_config.rb +15 -0
  5. data/lib/google/ads/google_ads/config.rb +6 -0
  6. data/lib/google/ads/google_ads/google_ads_client.rb +57 -3
  7. data/lib/google/ads/google_ads/logging_interceptor.rb +74 -0
  8. data/lib/google/ads/google_ads/path_lookup_util.rb +41 -8
  9. data/lib/google/ads/google_ads/proto_lookup_util.rb +306 -490
  10. data/lib/google/ads/google_ads/v0/common/ad_type_infos_pb.rb +26 -22
  11. data/lib/google/ads/google_ads/v0/common/bidding_pb.rb +16 -21
  12. data/lib/google/ads/google_ads/v0/common/criteria_pb.rb +69 -51
  13. data/lib/google/ads/google_ads/v0/common/criterion_category_availability_pb.rb +4 -12
  14. data/lib/google/ads/google_ads/v0/common/custom_parameter_pb.rb +2 -10
  15. data/lib/google/ads/google_ads/v0/common/dates_pb.rb +2 -10
  16. data/lib/google/ads/google_ads/v0/common/explorer_auto_optimizer_setting_pb.rb +2 -10
  17. data/lib/google/ads/google_ads/v0/common/feed_common_pb.rb +2 -10
  18. data/lib/google/ads/google_ads/v0/common/frequency_cap_pb.rb +3 -11
  19. data/lib/google/ads/google_ads/v0/common/keyword_plan_common_pb.rb +2 -10
  20. data/lib/google/ads/google_ads/v0/common/matching_function_pb.rb +2 -10
  21. data/lib/google/ads/google_ads/v0/common/metrics_pb.rb +40 -10
  22. data/lib/google/ads/google_ads/v0/common/policy_pb.rb +13 -21
  23. data/lib/google/ads/google_ads/v0/common/real_time_bidding_setting_pb.rb +2 -10
  24. data/lib/google/ads/google_ads/v0/common/segments_pb.rb +48 -0
  25. data/lib/google/ads/google_ads/v0/common/tag_snippet_pb.rb +2 -10
  26. data/lib/google/ads/google_ads/v0/common/targeting_setting_pb.rb +21 -0
  27. data/lib/google/ads/google_ads/v0/common/user_lists_pb.rb +93 -11
  28. data/lib/google/ads/google_ads/v0/common/value_pb.rb +2 -10
  29. data/lib/google/ads/google_ads/v0/enums/access_reason_pb.rb +3 -11
  30. data/lib/google/ads/google_ads/v0/enums/account_budget_proposal_status_pb.rb +3 -11
  31. data/lib/google/ads/google_ads/v0/enums/account_budget_proposal_type_pb.rb +3 -11
  32. data/lib/google/ads/google_ads/v0/enums/account_budget_status_pb.rb +3 -11
  33. data/lib/google/ads/google_ads/v0/enums/ad_customizer_placeholder_field_pb.rb +3 -11
  34. data/lib/google/ads/google_ads/v0/enums/ad_group_ad_rotation_mode_pb.rb +3 -11
  35. data/lib/google/ads/google_ads/v0/enums/ad_group_ad_status_pb.rb +3 -11
  36. data/lib/google/ads/google_ads/v0/enums/ad_group_criterion_status_pb.rb +3 -11
  37. data/lib/google/ads/google_ads/v0/enums/ad_group_status_pb.rb +3 -11
  38. data/lib/google/ads/google_ads/v0/enums/ad_group_type_pb.rb +3 -11
  39. data/lib/google/ads/google_ads/v0/enums/ad_network_type_pb.rb +3 -11
  40. data/lib/google/ads/google_ads/v0/enums/ad_serving_optimization_status_pb.rb +3 -11
  41. data/lib/google/ads/google_ads/v0/enums/ad_type_pb.rb +3 -11
  42. data/lib/google/ads/google_ads/v0/enums/advertising_channel_sub_type_pb.rb +4 -11
  43. data/lib/google/ads/google_ads/v0/enums/advertising_channel_type_pb.rb +3 -11
  44. data/lib/google/ads/google_ads/v0/enums/affiliate_location_feed_relationship_type_pb.rb +3 -11
  45. data/lib/google/ads/google_ads/v0/enums/age_range_type_pb.rb +3 -11
  46. data/lib/google/ads/google_ads/v0/enums/app_payment_model_type_pb.rb +19 -0
  47. data/lib/google/ads/google_ads/v0/enums/app_placeholder_field_pb.rb +3 -11
  48. data/lib/google/ads/google_ads/v0/enums/attribution_model_pb.rb +3 -11
  49. data/lib/google/ads/google_ads/v0/enums/bid_modifier_source_pb.rb +3 -11
  50. data/lib/google/ads/google_ads/v0/enums/bidding_source_pb.rb +3 -11
  51. data/lib/google/ads/google_ads/v0/enums/bidding_strategy_type_pb.rb +4 -11
  52. data/lib/google/ads/google_ads/v0/enums/billing_setup_status_pb.rb +3 -11
  53. data/lib/google/ads/google_ads/v0/enums/brand_safety_suitability_pb.rb +21 -0
  54. data/lib/google/ads/google_ads/v0/enums/budget_delivery_method_pb.rb +3 -11
  55. data/lib/google/ads/google_ads/v0/enums/budget_period_pb.rb +21 -0
  56. data/lib/google/ads/google_ads/v0/enums/budget_status_pb.rb +3 -11
  57. data/lib/google/ads/google_ads/v0/enums/call_conversion_reporting_state_pb.rb +3 -11
  58. data/lib/google/ads/google_ads/v0/enums/call_placeholder_field_pb.rb +3 -11
  59. data/lib/google/ads/google_ads/v0/enums/callout_placeholder_field_pb.rb +3 -11
  60. data/lib/google/ads/google_ads/v0/enums/campaign_serving_status_pb.rb +3 -11
  61. data/lib/google/ads/google_ads/v0/enums/campaign_shared_set_status_pb.rb +3 -11
  62. data/lib/google/ads/google_ads/v0/enums/campaign_status_pb.rb +3 -11
  63. data/lib/google/ads/google_ads/v0/enums/change_status_operation_pb.rb +3 -11
  64. data/lib/google/ads/google_ads/v0/enums/change_status_resource_type_pb.rb +5 -11
  65. data/lib/google/ads/google_ads/v0/enums/content_label_type_pb.rb +3 -11
  66. data/lib/google/ads/google_ads/v0/enums/conversion_action_category_pb.rb +3 -11
  67. data/lib/google/ads/google_ads/v0/enums/conversion_action_counting_type_pb.rb +3 -11
  68. data/lib/google/ads/google_ads/v0/enums/conversion_action_status_pb.rb +3 -11
  69. data/lib/google/ads/google_ads/v0/enums/conversion_action_type_pb.rb +3 -11
  70. data/lib/google/ads/google_ads/v0/enums/conversion_attribution_event_type_pb.rb +20 -0
  71. data/lib/google/ads/google_ads/v0/enums/criterion_category_channel_availability_mode_pb.rb +3 -11
  72. data/lib/google/ads/google_ads/v0/enums/criterion_category_locale_availability_mode_pb.rb +3 -11
  73. data/lib/google/ads/google_ads/v0/enums/criterion_type_pb.rb +7 -11
  74. data/lib/google/ads/google_ads/v0/enums/custom_placeholder_field_pb.rb +3 -11
  75. data/lib/google/ads/google_ads/v0/enums/customer_match_upload_key_type_pb.rb +3 -11
  76. data/lib/google/ads/google_ads/v0/enums/data_driven_model_status_pb.rb +3 -11
  77. data/lib/google/ads/google_ads/v0/enums/day_of_week_pb.rb +3 -11
  78. data/lib/google/ads/google_ads/v0/enums/device_pb.rb +3 -11
  79. data/lib/google/ads/google_ads/v0/enums/display_ad_format_setting_pb.rb +3 -11
  80. data/lib/google/ads/google_ads/v0/enums/education_placeholder_field_pb.rb +3 -11
  81. data/lib/google/ads/google_ads/v0/enums/feed_attribute_type_pb.rb +3 -11
  82. data/lib/google/ads/google_ads/v0/enums/feed_item_quality_approval_status_pb.rb +20 -0
  83. data/lib/google/ads/google_ads/v0/enums/feed_item_quality_disapproval_reason_pb.rb +36 -0
  84. data/lib/google/ads/google_ads/v0/enums/feed_item_status_pb.rb +3 -11
  85. data/lib/google/ads/google_ads/v0/enums/feed_item_validation_status_pb.rb +21 -0
  86. data/lib/google/ads/google_ads/v0/enums/feed_link_status_pb.rb +3 -11
  87. data/lib/google/ads/google_ads/v0/enums/feed_mapping_criterion_type_pb.rb +3 -11
  88. data/lib/google/ads/google_ads/v0/enums/feed_mapping_status_pb.rb +3 -11
  89. data/lib/google/ads/google_ads/v0/enums/feed_origin_pb.rb +3 -11
  90. data/lib/google/ads/google_ads/v0/enums/feed_status_pb.rb +3 -11
  91. data/lib/google/ads/google_ads/v0/enums/flight_placeholder_field_pb.rb +3 -11
  92. data/lib/google/ads/google_ads/v0/enums/frequency_cap_event_type_pb.rb +3 -11
  93. data/lib/google/ads/google_ads/v0/enums/frequency_cap_level_pb.rb +3 -11
  94. data/lib/google/ads/google_ads/v0/enums/frequency_cap_time_unit_pb.rb +3 -11
  95. data/lib/google/ads/google_ads/v0/enums/gender_type_pb.rb +3 -11
  96. data/lib/google/ads/google_ads/v0/enums/geo_target_constant_status_pb.rb +3 -11
  97. data/lib/google/ads/google_ads/v0/enums/geo_targeting_restriction_pb.rb +3 -11
  98. data/lib/google/ads/google_ads/v0/enums/google_ads_field_category_pb.rb +3 -11
  99. data/lib/google/ads/google_ads/v0/enums/google_ads_field_data_type_pb.rb +3 -11
  100. data/lib/google/ads/google_ads/v0/enums/hotel_date_selection_type_pb.rb +3 -11
  101. data/lib/google/ads/google_ads/v0/enums/hotel_placeholder_field_pb.rb +3 -11
  102. data/lib/google/ads/google_ads/v0/enums/income_range_type_pb.rb +3 -11
  103. data/lib/google/ads/google_ads/v0/enums/interaction_event_type_pb.rb +22 -0
  104. data/lib/google/ads/google_ads/v0/enums/interaction_type_pb.rb +3 -11
  105. data/lib/google/ads/google_ads/v0/enums/job_placeholder_field_pb.rb +3 -11
  106. data/lib/google/ads/google_ads/v0/enums/keyword_match_type_pb.rb +3 -11
  107. data/lib/google/ads/google_ads/v0/enums/keyword_plan_competition_level_pb.rb +3 -11
  108. data/lib/google/ads/google_ads/v0/enums/keyword_plan_forecast_interval_pb.rb +3 -11
  109. data/lib/google/ads/google_ads/v0/enums/keyword_plan_network_pb.rb +3 -11
  110. data/lib/google/ads/google_ads/v0/enums/listing_custom_attribute_index_pb.rb +3 -11
  111. data/lib/google/ads/google_ads/v0/enums/listing_group_type_pb.rb +3 -11
  112. data/lib/google/ads/google_ads/v0/enums/local_placeholder_field_pb.rb +3 -11
  113. data/lib/google/ads/google_ads/v0/enums/manager_link_status_pb.rb +3 -11
  114. data/lib/google/ads/google_ads/v0/enums/media_type_pb.rb +3 -11
  115. data/lib/google/ads/google_ads/v0/enums/message_placeholder_field_pb.rb +3 -11
  116. data/lib/google/ads/google_ads/v0/enums/mime_type_pb.rb +3 -11
  117. data/lib/google/ads/google_ads/v0/enums/minute_of_hour_pb.rb +3 -11
  118. data/lib/google/ads/google_ads/v0/enums/mobile_device_type_pb.rb +20 -0
  119. data/lib/google/ads/google_ads/v0/enums/month_of_year_pb.rb +3 -11
  120. data/lib/google/ads/google_ads/v0/enums/operating_system_version_operator_type_pb.rb +20 -0
  121. data/lib/google/ads/google_ads/v0/enums/page_one_promoted_strategy_goal_pb.rb +3 -11
  122. data/lib/google/ads/google_ads/v0/enums/parental_status_type_pb.rb +3 -11
  123. data/lib/google/ads/google_ads/v0/enums/placeholder_type_pb.rb +3 -11
  124. data/lib/google/ads/google_ads/v0/enums/policy_approval_status_pb.rb +3 -11
  125. data/lib/google/ads/google_ads/v0/enums/policy_review_status_pb.rb +3 -11
  126. data/lib/google/ads/google_ads/v0/enums/policy_topic_entry_type_pb.rb +3 -11
  127. data/lib/google/ads/google_ads/v0/enums/policy_topic_evidence_destination_mismatch_url_type_pb.rb +3 -11
  128. data/lib/google/ads/google_ads/v0/enums/preferred_content_type_pb.rb +3 -11
  129. data/lib/google/ads/google_ads/v0/enums/price_placeholder_field_pb.rb +3 -11
  130. data/lib/google/ads/google_ads/v0/enums/product_channel_exclusivity_pb.rb +3 -11
  131. data/lib/google/ads/google_ads/v0/enums/product_channel_pb.rb +3 -11
  132. data/lib/google/ads/google_ads/v0/enums/product_condition_pb.rb +3 -11
  133. data/lib/google/ads/google_ads/v0/enums/product_type_level_pb.rb +3 -11
  134. data/lib/google/ads/google_ads/v0/enums/promotion_placeholder_field_pb.rb +3 -11
  135. data/lib/google/ads/google_ads/v0/enums/proximity_radius_units_pb.rb +3 -11
  136. data/lib/google/ads/google_ads/v0/enums/quality_score_bucket_pb.rb +3 -11
  137. data/lib/google/ads/google_ads/v0/enums/real_estate_placeholder_field_pb.rb +3 -11
  138. data/lib/google/ads/google_ads/v0/enums/recommendation_type_pb.rb +3 -11
  139. data/lib/google/ads/google_ads/v0/enums/search_term_match_type_pb.rb +3 -11
  140. data/lib/google/ads/google_ads/v0/enums/search_term_targeting_status_pb.rb +3 -11
  141. data/lib/google/ads/google_ads/v0/enums/shared_set_status_pb.rb +3 -11
  142. data/lib/google/ads/google_ads/v0/enums/shared_set_type_pb.rb +3 -11
  143. data/lib/google/ads/google_ads/v0/enums/sitelink_placeholder_field_pb.rb +3 -11
  144. data/lib/google/ads/google_ads/v0/enums/slot_pb.rb +3 -11
  145. data/lib/google/ads/google_ads/v0/enums/spending_limit_type_pb.rb +3 -11
  146. data/lib/google/ads/google_ads/v0/enums/structured_snippet_placeholder_field_pb.rb +3 -11
  147. data/lib/google/ads/google_ads/v0/enums/target_cpa_opt_in_recommendation_goal_pb.rb +3 -11
  148. data/lib/google/ads/google_ads/v0/enums/targeting_dimension_pb.rb +3 -11
  149. data/lib/google/ads/google_ads/v0/enums/time_type_pb.rb +3 -11
  150. data/lib/google/ads/google_ads/v0/enums/tracking_code_page_format_pb.rb +3 -11
  151. data/lib/google/ads/google_ads/v0/enums/tracking_code_type_pb.rb +3 -11
  152. data/lib/google/ads/google_ads/v0/enums/travel_placeholder_field_pb.rb +3 -11
  153. data/lib/google/ads/google_ads/v0/enums/user_interest_taxonomy_type_pb.rb +3 -11
  154. data/lib/google/ads/google_ads/v0/enums/user_list_access_status_pb.rb +3 -11
  155. data/lib/google/ads/google_ads/v0/enums/user_list_closing_reason_pb.rb +3 -11
  156. data/lib/google/ads/google_ads/v0/enums/user_list_combined_rule_operator_pb.rb +20 -0
  157. data/lib/google/ads/google_ads/v0/enums/user_list_crm_data_source_type_pb.rb +3 -11
  158. data/lib/google/ads/google_ads/v0/enums/user_list_date_rule_item_operator_pb.rb +22 -0
  159. data/lib/google/ads/google_ads/v0/enums/user_list_logical_rule_operator_pb.rb +21 -0
  160. data/lib/google/ads/google_ads/v0/enums/user_list_membership_status_pb.rb +3 -11
  161. data/lib/google/ads/google_ads/v0/enums/user_list_number_rule_item_operator_pb.rb +24 -0
  162. data/lib/google/ads/google_ads/v0/enums/user_list_prepopulation_status_pb.rb +21 -0
  163. data/lib/google/ads/google_ads/v0/enums/user_list_rule_type_pb.rb +20 -0
  164. data/lib/google/ads/google_ads/v0/enums/user_list_size_range_pb.rb +3 -11
  165. data/lib/google/ads/google_ads/v0/enums/user_list_string_rule_item_operator_pb.rb +26 -0
  166. data/lib/google/ads/google_ads/v0/enums/user_list_type_pb.rb +3 -11
  167. data/lib/google/ads/google_ads/v0/enums/vanity_pharma_display_url_mode_pb.rb +20 -0
  168. data/lib/google/ads/google_ads/v0/enums/vanity_pharma_text_pb.rb +30 -0
  169. data/lib/google/ads/google_ads/v0/enums/webpage_condition_operand_pb.rb +23 -0
  170. data/lib/google/ads/google_ads/v0/enums/webpage_condition_operator_pb.rb +20 -0
  171. data/lib/google/ads/google_ads/v0/errors/account_budget_proposal_error_pb.rb +3 -11
  172. data/lib/google/ads/google_ads/v0/errors/ad_customizer_error_pb.rb +3 -11
  173. data/lib/google/ads/google_ads/v0/errors/ad_error_pb.rb +3 -11
  174. data/lib/google/ads/google_ads/v0/errors/ad_group_ad_error_pb.rb +3 -11
  175. data/lib/google/ads/google_ads/v0/errors/ad_group_bid_modifier_error_pb.rb +3 -11
  176. data/lib/google/ads/google_ads/v0/errors/ad_group_criterion_error_pb.rb +3 -11
  177. data/lib/google/ads/google_ads/v0/errors/ad_group_error_pb.rb +3 -11
  178. data/lib/google/ads/google_ads/v0/errors/ad_group_feed_error_pb.rb +3 -11
  179. data/lib/google/ads/google_ads/v0/errors/ad_parameter_error_pb.rb +20 -0
  180. data/lib/google/ads/google_ads/v0/errors/ad_sharing_error_pb.rb +3 -11
  181. data/lib/google/ads/google_ads/v0/errors/adx_error_pb.rb +3 -11
  182. data/lib/google/ads/google_ads/v0/errors/authentication_error_pb.rb +3 -11
  183. data/lib/google/ads/google_ads/v0/errors/authorization_error_pb.rb +3 -11
  184. data/lib/google/ads/google_ads/v0/errors/bidding_error_pb.rb +4 -11
  185. data/lib/google/ads/google_ads/v0/errors/bidding_strategy_error_pb.rb +3 -11
  186. data/lib/google/ads/google_ads/v0/errors/billing_setup_error_pb.rb +3 -11
  187. data/lib/google/ads/google_ads/v0/errors/campaign_budget_error_pb.rb +3 -11
  188. data/lib/google/ads/google_ads/v0/errors/campaign_criterion_error_pb.rb +3 -11
  189. data/lib/google/ads/google_ads/v0/errors/campaign_error_pb.rb +3 -11
  190. data/lib/google/ads/google_ads/v0/errors/campaign_feed_error_pb.rb +3 -11
  191. data/lib/google/ads/google_ads/v0/errors/campaign_shared_set_error_pb.rb +3 -11
  192. data/lib/google/ads/google_ads/v0/errors/change_status_error_pb.rb +3 -11
  193. data/lib/google/ads/google_ads/v0/errors/collection_size_error_pb.rb +3 -11
  194. data/lib/google/ads/google_ads/v0/errors/context_error_pb.rb +3 -11
  195. data/lib/google/ads/google_ads/v0/errors/conversion_action_error_pb.rb +3 -11
  196. data/lib/google/ads/google_ads/v0/errors/criterion_error_pb.rb +14 -11
  197. data/lib/google/ads/google_ads/v0/errors/customer_client_link_error_pb.rb +3 -11
  198. data/lib/google/ads/google_ads/v0/errors/customer_error_pb.rb +3 -11
  199. data/lib/google/ads/google_ads/v0/errors/customer_feed_error_pb.rb +3 -11
  200. data/lib/google/ads/google_ads/v0/errors/customer_manager_link_error_pb.rb +3 -11
  201. data/lib/google/ads/google_ads/v0/errors/database_error_pb.rb +3 -11
  202. data/lib/google/ads/google_ads/v0/errors/date_error_pb.rb +3 -11
  203. data/lib/google/ads/google_ads/v0/errors/date_range_error_pb.rb +3 -11
  204. data/lib/google/ads/google_ads/v0/errors/distinct_error_pb.rb +3 -11
  205. data/lib/google/ads/google_ads/v0/errors/enum_error_pb.rb +3 -11
  206. data/lib/google/ads/google_ads/v0/errors/errors_pb.rb +17 -20
  207. data/lib/google/ads/google_ads/v0/errors/extension_setting_error_pb.rb +81 -0
  208. data/lib/google/ads/google_ads/v0/errors/feed_attribute_reference_error_pb.rb +3 -11
  209. data/lib/google/ads/google_ads/v0/errors/feed_error_pb.rb +3 -11
  210. data/lib/google/ads/google_ads/v0/errors/feed_item_error_pb.rb +3 -11
  211. data/lib/google/ads/google_ads/v0/errors/feed_item_validation_error_pb.rb +107 -0
  212. data/lib/google/ads/google_ads/v0/errors/feed_mapping_error_pb.rb +3 -11
  213. data/lib/google/ads/google_ads/v0/errors/field_error_pb.rb +3 -11
  214. data/lib/google/ads/google_ads/v0/errors/field_mask_error_pb.rb +3 -11
  215. data/lib/google/ads/google_ads/v0/errors/function_error_pb.rb +3 -11
  216. data/lib/google/ads/google_ads/v0/errors/function_parsing_error_pb.rb +3 -11
  217. data/lib/google/ads/google_ads/v0/errors/geo_target_constant_suggestion_error_pb.rb +3 -11
  218. data/lib/google/ads/google_ads/v0/errors/header_error_pb.rb +3 -12
  219. data/lib/google/ads/google_ads/v0/errors/id_error_pb.rb +3 -11
  220. data/lib/google/ads/google_ads/v0/errors/image_error_pb.rb +3 -11
  221. data/lib/google/ads/google_ads/v0/errors/internal_error_pb.rb +3 -11
  222. data/lib/google/ads/google_ads/v0/errors/keyword_plan_ad_group_error_pb.rb +3 -11
  223. data/lib/google/ads/google_ads/v0/errors/keyword_plan_campaign_error_pb.rb +3 -11
  224. data/lib/google/ads/google_ads/v0/errors/keyword_plan_error_pb.rb +3 -11
  225. data/lib/google/ads/google_ads/v0/errors/keyword_plan_idea_error_pb.rb +3 -11
  226. data/lib/google/ads/google_ads/v0/errors/keyword_plan_keyword_error_pb.rb +3 -11
  227. data/lib/google/ads/google_ads/v0/errors/keyword_plan_negative_keyword_error_pb.rb +3 -11
  228. data/lib/google/ads/google_ads/v0/errors/list_operation_error_pb.rb +3 -11
  229. data/lib/google/ads/google_ads/v0/errors/media_bundle_error_pb.rb +3 -11
  230. data/lib/google/ads/google_ads/v0/errors/media_file_error_pb.rb +3 -11
  231. data/lib/google/ads/google_ads/v0/errors/multiplier_error_pb.rb +3 -11
  232. data/lib/google/ads/google_ads/v0/errors/mutate_error_pb.rb +4 -11
  233. data/lib/google/ads/google_ads/v0/errors/new_resource_creation_error_pb.rb +3 -11
  234. data/lib/google/ads/google_ads/v0/errors/not_empty_error_pb.rb +3 -11
  235. data/lib/google/ads/google_ads/v0/errors/null_error_pb.rb +3 -11
  236. data/lib/google/ads/google_ads/v0/errors/operation_access_denied_error_pb.rb +3 -11
  237. data/lib/google/ads/google_ads/v0/errors/operator_error_pb.rb +3 -11
  238. data/lib/google/ads/google_ads/v0/errors/policy_finding_error_pb.rb +3 -11
  239. data/lib/google/ads/google_ads/v0/errors/policy_violation_error_pb.rb +19 -0
  240. data/lib/google/ads/google_ads/v0/errors/query_error_pb.rb +4 -11
  241. data/lib/google/ads/google_ads/v0/errors/quota_error_pb.rb +3 -11
  242. data/lib/google/ads/google_ads/v0/errors/range_error_pb.rb +3 -11
  243. data/lib/google/ads/google_ads/v0/errors/recommendation_error_pb.rb +3 -11
  244. data/lib/google/ads/google_ads/v0/errors/region_code_error_pb.rb +3 -11
  245. data/lib/google/ads/google_ads/v0/errors/request_error_pb.rb +4 -11
  246. data/lib/google/ads/google_ads/v0/errors/resource_access_denied_error_pb.rb +3 -11
  247. data/lib/google/ads/google_ads/v0/errors/resource_count_limit_exceeded_error_pb.rb +3 -11
  248. data/lib/google/ads/google_ads/v0/errors/setting_error_pb.rb +3 -11
  249. data/lib/google/ads/google_ads/v0/errors/shared_criterion_error_pb.rb +3 -11
  250. data/lib/google/ads/google_ads/v0/errors/shared_set_error_pb.rb +3 -11
  251. data/lib/google/ads/google_ads/v0/errors/string_format_error_pb.rb +3 -11
  252. data/lib/google/ads/google_ads/v0/errors/string_length_error_pb.rb +3 -11
  253. data/lib/google/ads/google_ads/v0/errors/url_field_error_pb.rb +3 -11
  254. data/lib/google/ads/google_ads/v0/errors/user_list_error_pb.rb +6 -11
  255. data/lib/google/ads/google_ads/v0/resources/account_budget_pb.rb +3 -11
  256. data/lib/google/ads/google_ads/v0/resources/account_budget_proposal_pb.rb +2 -10
  257. data/lib/google/ads/google_ads/v0/resources/ad_group_ad_pb.rb +3 -11
  258. data/lib/google/ads/google_ads/v0/resources/ad_group_audience_view_pb.rb +2 -10
  259. data/lib/google/ads/google_ads/v0/resources/ad_group_bid_modifier_pb.rb +2 -10
  260. data/lib/google/ads/google_ads/v0/resources/ad_group_criterion_pb.rb +9 -12
  261. data/lib/google/ads/google_ads/v0/resources/ad_group_feed_pb.rb +2 -10
  262. data/lib/google/ads/google_ads/v0/resources/ad_group_pb.rb +12 -12
  263. data/lib/google/ads/google_ads/v0/resources/ad_parameter_pb.rb +18 -0
  264. data/lib/google/ads/google_ads/v0/resources/ad_pb.rb +3 -10
  265. data/lib/google/ads/google_ads/v0/resources/ad_schedule_view_pb.rb +14 -0
  266. data/lib/google/ads/google_ads/v0/resources/age_range_view_pb.rb +2 -10
  267. data/lib/google/ads/google_ads/v0/resources/bidding_strategy_pb.rb +2 -10
  268. data/lib/google/ads/google_ads/v0/resources/billing_setup_pb.rb +3 -11
  269. data/lib/google/ads/google_ads/v0/resources/campaign_audience_view_pb.rb +2 -10
  270. data/lib/google/ads/google_ads/v0/resources/campaign_bid_modifier_pb.rb +2 -10
  271. data/lib/google/ads/google_ads/v0/resources/campaign_budget_pb.rb +10 -10
  272. data/lib/google/ads/google_ads/v0/resources/campaign_criterion_pb.rb +5 -10
  273. data/lib/google/ads/google_ads/v0/resources/campaign_feed_pb.rb +2 -10
  274. data/lib/google/ads/google_ads/v0/resources/campaign_pb.rb +29 -15
  275. data/lib/google/ads/google_ads/v0/resources/campaign_shared_set_pb.rb +2 -10
  276. data/lib/google/ads/google_ads/v0/resources/carrier_constant_pb.rb +2 -10
  277. data/lib/google/ads/google_ads/v0/resources/change_status_pb.rb +4 -10
  278. data/lib/google/ads/google_ads/v0/resources/conversion_action_pb.rb +4 -12
  279. data/lib/google/ads/google_ads/v0/resources/customer_client_link_pb.rb +2 -10
  280. data/lib/google/ads/google_ads/v0/resources/customer_client_pb.rb +2 -10
  281. data/lib/google/ads/google_ads/v0/resources/customer_feed_pb.rb +2 -10
  282. data/lib/google/ads/google_ads/v0/resources/customer_manager_link_pb.rb +2 -10
  283. data/lib/google/ads/google_ads/v0/resources/customer_pb.rb +11 -11
  284. data/lib/google/ads/google_ads/v0/resources/display_keyword_view_pb.rb +2 -10
  285. data/lib/google/ads/google_ads/v0/resources/feed_item_pb.rb +30 -11
  286. data/lib/google/ads/google_ads/v0/resources/feed_mapping_pb.rb +3 -11
  287. data/lib/google/ads/google_ads/v0/resources/feed_pb.rb +9 -17
  288. data/lib/google/ads/google_ads/v0/resources/gender_view_pb.rb +2 -10
  289. data/lib/google/ads/google_ads/v0/resources/geo_target_constant_pb.rb +3 -10
  290. data/lib/google/ads/google_ads/v0/resources/google_ads_field_pb.rb +2 -10
  291. data/lib/google/ads/google_ads/v0/resources/hotel_group_view_pb.rb +2 -10
  292. data/lib/google/ads/google_ads/v0/resources/hotel_performance_view_pb.rb +2 -10
  293. data/lib/google/ads/google_ads/v0/resources/keyword_plan_ad_group_pb.rb +2 -10
  294. data/lib/google/ads/google_ads/v0/resources/keyword_plan_campaign_pb.rb +3 -11
  295. data/lib/google/ads/google_ads/v0/resources/keyword_plan_keyword_pb.rb +2 -10
  296. data/lib/google/ads/google_ads/v0/resources/keyword_plan_negative_keyword_pb.rb +2 -10
  297. data/lib/google/ads/google_ads/v0/resources/keyword_plan_pb.rb +3 -11
  298. data/lib/google/ads/google_ads/v0/resources/keyword_view_pb.rb +2 -10
  299. data/lib/google/ads/google_ads/v0/resources/language_constant_pb.rb +2 -10
  300. data/lib/google/ads/google_ads/v0/resources/managed_placement_view_pb.rb +2 -10
  301. data/lib/google/ads/google_ads/v0/resources/media_file_pb.rb +17 -12
  302. data/lib/google/ads/google_ads/v0/resources/mobile_app_category_constant_pb.rb +17 -0
  303. data/lib/google/ads/google_ads/v0/resources/mobile_device_constant_pb.rb +21 -0
  304. data/lib/google/ads/google_ads/v0/resources/operating_system_version_constant_pb.rb +21 -0
  305. data/lib/google/ads/google_ads/v0/resources/parental_status_view_pb.rb +2 -10
  306. data/lib/google/ads/google_ads/v0/resources/payments_account_pb.rb +2 -10
  307. data/lib/google/ads/google_ads/v0/resources/product_group_view_pb.rb +2 -10
  308. data/lib/google/ads/google_ads/v0/resources/recommendation_pb.rb +15 -23
  309. data/lib/google/ads/google_ads/v0/resources/remarketing_action_pb.rb +19 -0
  310. data/lib/google/ads/google_ads/v0/resources/search_term_view_pb.rb +2 -10
  311. data/lib/google/ads/google_ads/v0/resources/shared_criterion_pb.rb +3 -10
  312. data/lib/google/ads/google_ads/v0/resources/shared_set_pb.rb +2 -10
  313. data/lib/google/ads/google_ads/v0/resources/topic_constant_pb.rb +2 -10
  314. data/lib/google/ads/google_ads/v0/resources/topic_view_pb.rb +2 -10
  315. data/lib/google/ads/google_ads/v0/resources/user_interest_pb.rb +2 -10
  316. data/lib/google/ads/google_ads/v0/resources/user_list_pb.rb +5 -10
  317. data/lib/google/ads/google_ads/v0/resources/video_pb.rb +2 -10
  318. data/lib/google/ads/google_ads/v0/services/account_budget_proposal_service_client.rb +3 -3
  319. data/lib/google/ads/google_ads/v0/services/account_budget_proposal_service_pb.rb +6 -14
  320. data/lib/google/ads/google_ads/v0/services/account_budget_proposal_service_services_pb.rb +28 -36
  321. data/lib/google/ads/google_ads/v0/services/account_budget_service_client.rb +1 -1
  322. data/lib/google/ads/google_ads/v0/services/account_budget_service_pb.rb +2 -10
  323. data/lib/google/ads/google_ads/v0/services/account_budget_service_services_pb.rb +15 -23
  324. data/lib/google/ads/google_ads/v0/services/ad_group_ad_service_client.rb +16 -4
  325. data/lib/google/ads/google_ads/v0/services/ad_group_ad_service_pb.rb +11 -14
  326. data/lib/google/ads/google_ads/v0/services/ad_group_ad_service_services_pb.rb +15 -23
  327. data/lib/google/ads/google_ads/v0/services/ad_group_audience_view_service_client.rb +1 -1
  328. data/lib/google/ads/google_ads/v0/services/ad_group_audience_view_service_pb.rb +2 -10
  329. data/lib/google/ads/google_ads/v0/services/ad_group_audience_view_service_services_pb.rb +13 -21
  330. data/lib/google/ads/google_ads/v0/services/ad_group_bid_modifier_service_client.rb +16 -4
  331. data/lib/google/ads/google_ads/v0/services/ad_group_bid_modifier_service_pb.rb +11 -14
  332. data/lib/google/ads/google_ads/v0/services/ad_group_bid_modifier_service_services_pb.rb +16 -24
  333. data/lib/google/ads/google_ads/v0/services/ad_group_criterion_service_client.rb +16 -4
  334. data/lib/google/ads/google_ads/v0/services/ad_group_criterion_service_pb.rb +11 -14
  335. data/lib/google/ads/google_ads/v0/services/ad_group_criterion_service_services_pb.rb +15 -23
  336. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_client.rb +16 -4
  337. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_pb.rb +11 -14
  338. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_services_pb.rb +16 -24
  339. data/lib/google/ads/google_ads/v0/services/ad_group_service_client.rb +16 -4
  340. data/lib/google/ads/google_ads/v0/services/ad_group_service_pb.rb +11 -14
  341. data/lib/google/ads/google_ads/v0/services/ad_group_service_services_pb.rb +15 -23
  342. data/lib/google/ads/google_ads/v0/services/{campaign_group_service_client.rb → ad_parameter_service_client.rb} +64 -52
  343. data/lib/google/ads/google_ads/v0/services/{campaign_group_service_client_config.json → ad_parameter_service_client_config.json} +3 -3
  344. data/lib/google/ads/google_ads/v0/services/ad_parameter_service_pb.rb +44 -0
  345. data/lib/google/ads/google_ads/v0/services/ad_parameter_service_services_pb.rb +43 -0
  346. data/lib/google/ads/google_ads/v0/services/ad_schedule_view_service_client.rb +221 -0
  347. data/lib/google/ads/google_ads/v0/services/ad_schedule_view_service_client_config.json +31 -0
  348. data/lib/google/ads/google_ads/v0/services/ad_schedule_view_service_pb.rb +16 -0
  349. data/lib/google/ads/google_ads/v0/services/ad_schedule_view_service_services_pb.rb +40 -0
  350. data/lib/google/ads/google_ads/v0/services/age_range_view_service_client.rb +1 -1
  351. data/lib/google/ads/google_ads/v0/services/age_range_view_service_pb.rb +2 -10
  352. data/lib/google/ads/google_ads/v0/services/age_range_view_service_services_pb.rb +13 -21
  353. data/lib/google/ads/google_ads/v0/services/bidding_strategy_service_client.rb +16 -4
  354. data/lib/google/ads/google_ads/v0/services/bidding_strategy_service_pb.rb +11 -14
  355. data/lib/google/ads/google_ads/v0/services/bidding_strategy_service_services_pb.rb +16 -24
  356. data/lib/google/ads/google_ads/v0/services/billing_setup_service_client.rb +3 -3
  357. data/lib/google/ads/google_ads/v0/services/billing_setup_service_pb.rb +6 -14
  358. data/lib/google/ads/google_ads/v0/services/billing_setup_service_services_pb.rb +23 -31
  359. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_client.rb +1 -1
  360. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_pb.rb +2 -10
  361. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_services_pb.rb +13 -21
  362. data/lib/google/ads/google_ads/v0/services/campaign_bid_modifier_service_client.rb +16 -4
  363. data/lib/google/ads/google_ads/v0/services/campaign_bid_modifier_service_pb.rb +11 -14
  364. data/lib/google/ads/google_ads/v0/services/campaign_bid_modifier_service_services_pb.rb +16 -24
  365. data/lib/google/ads/google_ads/v0/services/campaign_budget_service_client.rb +16 -4
  366. data/lib/google/ads/google_ads/v0/services/campaign_budget_service_pb.rb +11 -14
  367. data/lib/google/ads/google_ads/v0/services/campaign_budget_service_services_pb.rb +16 -24
  368. data/lib/google/ads/google_ads/v0/services/campaign_criterion_service_client.rb +16 -4
  369. data/lib/google/ads/google_ads/v0/services/campaign_criterion_service_pb.rb +11 -14
  370. data/lib/google/ads/google_ads/v0/services/campaign_criterion_service_services_pb.rb +15 -23
  371. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_client.rb +16 -4
  372. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_pb.rb +11 -14
  373. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_services_pb.rb +16 -24
  374. data/lib/google/ads/google_ads/v0/services/campaign_service_client.rb +16 -4
  375. data/lib/google/ads/google_ads/v0/services/campaign_service_pb.rb +11 -14
  376. data/lib/google/ads/google_ads/v0/services/campaign_service_services_pb.rb +15 -23
  377. data/lib/google/ads/google_ads/v0/services/campaign_shared_set_service_client.rb +16 -4
  378. data/lib/google/ads/google_ads/v0/services/campaign_shared_set_service_pb.rb +11 -14
  379. data/lib/google/ads/google_ads/v0/services/campaign_shared_set_service_services_pb.rb +15 -23
  380. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_client.rb +1 -1
  381. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_pb.rb +2 -10
  382. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_services_pb.rb +13 -21
  383. data/lib/google/ads/google_ads/v0/services/change_status_service_client.rb +1 -1
  384. data/lib/google/ads/google_ads/v0/services/change_status_service_pb.rb +2 -10
  385. data/lib/google/ads/google_ads/v0/services/change_status_service_services_pb.rb +13 -21
  386. data/lib/google/ads/google_ads/v0/services/conversion_action_service_client.rb +16 -4
  387. data/lib/google/ads/google_ads/v0/services/conversion_action_service_pb.rb +11 -14
  388. data/lib/google/ads/google_ads/v0/services/conversion_action_service_services_pb.rb +16 -24
  389. data/lib/google/ads/google_ads/v0/services/credentials.rb +5 -5
  390. data/lib/google/ads/google_ads/v0/services/customer_client_link_service_client.rb +47 -1
  391. data/lib/google/ads/google_ads/v0/services/customer_client_link_service_client_config.json +5 -0
  392. data/lib/google/ads/google_ads/v0/services/customer_client_link_service_pb.rb +25 -10
  393. data/lib/google/ads/google_ads/v0/services/customer_client_link_service_services_pb.rb +15 -21
  394. data/lib/google/ads/google_ads/v0/services/customer_client_service_client.rb +4 -4
  395. data/lib/google/ads/google_ads/v0/services/customer_client_service_pb.rb +2 -10
  396. data/lib/google/ads/google_ads/v0/services/customer_client_service_services_pb.rb +13 -21
  397. data/lib/google/ads/google_ads/v0/services/customer_feed_service_client.rb +16 -4
  398. data/lib/google/ads/google_ads/v0/services/customer_feed_service_pb.rb +11 -14
  399. data/lib/google/ads/google_ads/v0/services/customer_feed_service_services_pb.rb +16 -24
  400. data/lib/google/ads/google_ads/v0/services/customer_manager_link_service_client.rb +47 -1
  401. data/lib/google/ads/google_ads/v0/services/customer_manager_link_service_client_config.json +5 -0
  402. data/lib/google/ads/google_ads/v0/services/customer_manager_link_service_pb.rb +23 -10
  403. data/lib/google/ads/google_ads/v0/services/customer_manager_link_service_services_pb.rb +15 -21
  404. data/lib/google/ads/google_ads/v0/services/customer_service_client.rb +11 -6
  405. data/lib/google/ads/google_ads/v0/services/customer_service_pb.rb +11 -18
  406. data/lib/google/ads/google_ads/v0/services/customer_service_services_pb.rb +20 -28
  407. data/lib/google/ads/google_ads/v0/services/display_keyword_view_service_client.rb +1 -1
  408. data/lib/google/ads/google_ads/v0/services/display_keyword_view_service_pb.rb +2 -10
  409. data/lib/google/ads/google_ads/v0/services/display_keyword_view_service_services_pb.rb +13 -21
  410. data/lib/google/ads/google_ads/v0/services/feed_item_service_client.rb +16 -4
  411. data/lib/google/ads/google_ads/v0/services/feed_item_service_pb.rb +11 -14
  412. data/lib/google/ads/google_ads/v0/services/feed_item_service_services_pb.rb +16 -24
  413. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_client.rb +16 -4
  414. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_pb.rb +11 -14
  415. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_services_pb.rb +16 -24
  416. data/lib/google/ads/google_ads/v0/services/feed_service_client.rb +16 -4
  417. data/lib/google/ads/google_ads/v0/services/feed_service_pb.rb +11 -14
  418. data/lib/google/ads/google_ads/v0/services/feed_service_services_pb.rb +16 -24
  419. data/lib/google/ads/google_ads/v0/services/gender_view_service_client.rb +1 -1
  420. data/lib/google/ads/google_ads/v0/services/gender_view_service_pb.rb +2 -10
  421. data/lib/google/ads/google_ads/v0/services/gender_view_service_services_pb.rb +13 -21
  422. data/lib/google/ads/google_ads/v0/services/geo_target_constant_service_client.rb +3 -3
  423. data/lib/google/ads/google_ads/v0/services/geo_target_constant_service_pb.rb +7 -15
  424. data/lib/google/ads/google_ads/v0/services/geo_target_constant_service_services_pb.rb +15 -23
  425. data/lib/google/ads/google_ads/v0/services/google_ads_field_service_client.rb +2 -2
  426. data/lib/google/ads/google_ads/v0/services/google_ads_field_service_client_config.json +2 -2
  427. data/lib/google/ads/google_ads/v0/services/google_ads_field_service_pb.rb +4 -12
  428. data/lib/google/ads/google_ads/v0/services/google_ads_field_service_services_pb.rb +15 -23
  429. data/lib/google/ads/google_ads/v0/services/google_ads_service_client.rb +23 -7
  430. data/lib/google/ads/google_ads/v0/services/google_ads_service_client_config.json +2 -2
  431. data/lib/google/ads/google_ads/v0/services/google_ads_service_pb.rb +29 -54
  432. data/lib/google/ads/google_ads/v0/services/google_ads_service_services_pb.rb +15 -23
  433. data/lib/google/ads/google_ads/v0/services/hotel_group_view_service_client.rb +1 -1
  434. data/lib/google/ads/google_ads/v0/services/hotel_group_view_service_pb.rb +2 -10
  435. data/lib/google/ads/google_ads/v0/services/hotel_group_view_service_services_pb.rb +13 -21
  436. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_client.rb +17 -2
  437. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_pb.rb +2 -10
  438. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_services_pb.rb +13 -21
  439. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_client.rb +16 -4
  440. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_pb.rb +11 -14
  441. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_services_pb.rb +16 -24
  442. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_client.rb +16 -4
  443. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_pb.rb +11 -14
  444. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_services_pb.rb +16 -24
  445. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_client.rb +5 -5
  446. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_pb.rb +7 -15
  447. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_services_pb.rb +13 -21
  448. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_client.rb +16 -4
  449. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_pb.rb +11 -14
  450. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_services_pb.rb +16 -24
  451. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_client.rb +16 -4
  452. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_pb.rb +11 -14
  453. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_services_pb.rb +16 -24
  454. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_client.rb +16 -4
  455. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_pb.rb +19 -23
  456. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_services_pb.rb +20 -28
  457. data/lib/google/ads/google_ads/v0/services/keyword_view_service_client.rb +1 -1
  458. data/lib/google/ads/google_ads/v0/services/keyword_view_service_pb.rb +2 -10
  459. data/lib/google/ads/google_ads/v0/services/keyword_view_service_services_pb.rb +13 -21
  460. data/lib/google/ads/google_ads/v0/services/language_constant_service_client.rb +1 -1
  461. data/lib/google/ads/google_ads/v0/services/language_constant_service_pb.rb +2 -10
  462. data/lib/google/ads/google_ads/v0/services/language_constant_service_services_pb.rb +13 -21
  463. data/lib/google/ads/google_ads/v0/services/managed_placement_view_service_client.rb +1 -1
  464. data/lib/google/ads/google_ads/v0/services/managed_placement_view_service_pb.rb +2 -10
  465. data/lib/google/ads/google_ads/v0/services/managed_placement_view_service_services_pb.rb +13 -21
  466. data/lib/google/ads/google_ads/v0/services/media_file_service_client.rb +16 -4
  467. data/lib/google/ads/google_ads/v0/services/media_file_service_pb.rb +11 -14
  468. data/lib/google/ads/google_ads/v0/services/media_file_service_services_pb.rb +15 -23
  469. data/lib/google/ads/google_ads/v0/services/mobile_app_category_constant_service_client.rb +219 -0
  470. data/lib/google/ads/google_ads/v0/services/mobile_app_category_constant_service_client_config.json +31 -0
  471. data/lib/google/ads/google_ads/v0/services/mobile_app_category_constant_service_pb.rb +16 -0
  472. data/lib/google/ads/google_ads/v0/services/mobile_app_category_constant_service_services_pb.rb +40 -0
  473. data/lib/google/ads/google_ads/v0/services/mobile_device_constant_service_client.rb +219 -0
  474. data/lib/google/ads/google_ads/v0/services/mobile_device_constant_service_client_config.json +31 -0
  475. data/lib/google/ads/google_ads/v0/services/mobile_device_constant_service_pb.rb +16 -0
  476. data/lib/google/ads/google_ads/v0/services/mobile_device_constant_service_services_pb.rb +40 -0
  477. data/lib/google/ads/google_ads/v0/services/operating_system_version_constant_service_client.rb +219 -0
  478. data/lib/google/ads/google_ads/v0/services/operating_system_version_constant_service_client_config.json +31 -0
  479. data/lib/google/ads/google_ads/v0/services/operating_system_version_constant_service_pb.rb +16 -0
  480. data/lib/google/ads/google_ads/v0/services/operating_system_version_constant_service_services_pb.rb +40 -0
  481. data/lib/google/ads/google_ads/v0/services/parental_status_view_service_client.rb +1 -1
  482. data/lib/google/ads/google_ads/v0/services/parental_status_view_service_pb.rb +2 -10
  483. data/lib/google/ads/google_ads/v0/services/parental_status_view_service_services_pb.rb +13 -21
  484. data/lib/google/ads/google_ads/v0/services/payments_account_service_client.rb +2 -2
  485. data/lib/google/ads/google_ads/v0/services/payments_account_service_pb.rb +3 -11
  486. data/lib/google/ads/google_ads/v0/services/payments_account_service_services_pb.rb +16 -24
  487. data/lib/google/ads/google_ads/v0/services/product_group_view_service_client.rb +1 -1
  488. data/lib/google/ads/google_ads/v0/services/product_group_view_service_pb.rb +2 -10
  489. data/lib/google/ads/google_ads/v0/services/product_group_view_service_services_pb.rb +13 -21
  490. data/lib/google/ads/google_ads/v0/services/recommendation_service_client.rb +23 -29
  491. data/lib/google/ads/google_ads/v0/services/recommendation_service_pb.rb +16 -24
  492. data/lib/google/ads/google_ads/v0/services/recommendation_service_services_pb.rb +17 -25
  493. data/lib/google/ads/google_ads/v0/services/remarketing_action_service_client.rb +279 -0
  494. data/lib/google/ads/google_ads/v0/services/remarketing_action_service_client_config.json +36 -0
  495. data/lib/google/ads/google_ads/v0/services/remarketing_action_service_pb.rb +43 -0
  496. data/lib/google/ads/google_ads/v0/services/remarketing_action_service_services_pb.rb +42 -0
  497. data/lib/google/ads/google_ads/v0/services/search_term_view_service_client.rb +1 -1
  498. data/lib/google/ads/google_ads/v0/services/search_term_view_service_pb.rb +2 -10
  499. data/lib/google/ads/google_ads/v0/services/search_term_view_service_services_pb.rb +13 -21
  500. data/lib/google/ads/google_ads/v0/services/shared_criterion_service_client.rb +16 -4
  501. data/lib/google/ads/google_ads/v0/services/shared_criterion_service_pb.rb +11 -14
  502. data/lib/google/ads/google_ads/v0/services/shared_criterion_service_services_pb.rb +15 -23
  503. data/lib/google/ads/google_ads/v0/services/shared_set_service_client.rb +16 -4
  504. data/lib/google/ads/google_ads/v0/services/shared_set_service_pb.rb +11 -14
  505. data/lib/google/ads/google_ads/v0/services/shared_set_service_services_pb.rb +15 -23
  506. data/lib/google/ads/google_ads/v0/services/topic_constant_service_client.rb +1 -1
  507. data/lib/google/ads/google_ads/v0/services/topic_constant_service_pb.rb +2 -10
  508. data/lib/google/ads/google_ads/v0/services/topic_constant_service_services_pb.rb +13 -21
  509. data/lib/google/ads/google_ads/v0/services/topic_view_service_client.rb +1 -1
  510. data/lib/google/ads/google_ads/v0/services/topic_view_service_pb.rb +2 -10
  511. data/lib/google/ads/google_ads/v0/services/topic_view_service_services_pb.rb +13 -21
  512. data/lib/google/ads/google_ads/v0/services/user_interest_service_client.rb +1 -1
  513. data/lib/google/ads/google_ads/v0/services/user_interest_service_pb.rb +2 -10
  514. data/lib/google/ads/google_ads/v0/services/user_interest_service_services_pb.rb +13 -21
  515. data/lib/google/ads/google_ads/v0/services/user_list_service_client.rb +16 -4
  516. data/lib/google/ads/google_ads/v0/services/user_list_service_pb.rb +11 -14
  517. data/lib/google/ads/google_ads/v0/services/user_list_service_services_pb.rb +15 -23
  518. data/lib/google/ads/google_ads/v0/services/video_service_client.rb +1 -1
  519. data/lib/google/ads/google_ads/v0/services/video_service_pb.rb +2 -10
  520. data/lib/google/ads/google_ads/v0/services/video_service_services_pb.rb +13 -21
  521. data/lib/google/ads/google_ads/version.rb +1 -1
  522. metadata +60 -9
  523. data/lib/google/ads/google_ads/v0/enums/campaign_group_status_pb.rb +0 -28
  524. data/lib/google/ads/google_ads/v0/errors/campaign_group_error_pb.rb +0 -29
  525. data/lib/google/ads/google_ads/v0/resources/campaign_group_pb.rb +0 -27
  526. data/lib/google/ads/google_ads/v0/services/campaign_group_service_pb.rb +0 -47
  527. data/lib/google/ads/google_ads/v0/services/campaign_group_service_services_pb.rb +0 -51
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f38c69bf5db98e6462f97b1d97f323a947a3a3df4cbcbf975c84f4c414497e7
4
- data.tar.gz: 67eccd38a76edc000060290be2dcdf334a0155bc38b1a15fd177e1b38a71d7f0
3
+ metadata.gz: b7ea3850c88b88cdf4a11358b3e7f1fe332bbe8ddc08c55762ea5a5d14bc4c3b
4
+ data.tar.gz: 8123f27c2a0c4336dc450f0384ecdb1ee97195264b11800aeb6ca4149e3839fd
5
5
  SHA512:
6
- metadata.gz: 2ae4cbc61289e33021a980c85c4710313b666ab1301c97ebf6c6c6df9bd6fc5f240d38746406d6753d0ddafceec03e1734278b1705ba5b56eccd618729b56fba
7
- data.tar.gz: 20263aa659838b1bafd537f13c9877bb733ae662a0298511e7d653f7633832132a459d3f4d02d698e438d6a9e85d08cf7d2ebbad3e3304a68f5894faca9fdfbd
6
+ metadata.gz: b3d0eba9c29ffe4cbdc5c0160928d2deebd36c46b63221e210e6131a140a3ad1e0be1dcdbc25ac5d435c5bf68dddc1846447b1248d4321992b4f6f5d2263b446
7
+ data.tar.gz: d107c6c69e8bbc8275d27614dcd5cb0a97f3dcc71916c9ed62f3bf776387d06503a60b08b97d5f60ae441438e9188d214caa576a7f19f3595668423f7fcba62b
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ 0.8.0:
2
+ - Adding support for Google Ads API v0_7.
3
+
4
+ 0.7.1:
5
+ - Adding support for logging requests/responses.
6
+
1
7
  0.7.0:
2
8
  - Adding support for Google Ads API v0_6.
3
9
  - Adding configuration file support for login_customer_id.
data/README.md CHANGED
@@ -95,6 +95,17 @@ library.
95
95
 
96
96
  [examples]: https://github.com/googleads/google-ads-ruby/blob/master/examples
97
97
 
98
+ ## Logging
99
+
100
+ See the instructions in
101
+ [google_ads_config.rb](https://github.com/googleads/google-ads-ruby/blob/master/google_ads_config.rb)
102
+ for complete setup.
103
+
104
+ Logging is set up via the Config object, accessed via `client.config` or specified
105
+ in your default config loaded when instantiating a `GoogleAdsClient`.
106
+
107
+ You can also specify your own logger by setting `client.logger`.
108
+
98
109
  # Authors
99
110
 
100
111
  Author:
@@ -16,4 +16,19 @@ Google::Ads::GoogleAds::Config.new do |c|
16
16
  # make sure fetch a new copy of the service after each time you change the
17
17
  # value.
18
18
  # c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
19
+
20
+ # Logging-related fields. If you want to specify your own custom logger, then
21
+ # call client.logger = your_logger, which will override all these options and
22
+ # use your custom logger instead, exactly as you configured it.
23
+
24
+ # By default, only log warnings or errors. You can change this to 'INFO' to
25
+ # log all requests and responses from the server.
26
+ # Valid values are 'FATAL', 'ERROR', 'WARN', 'INFO', and 'DEBUG'
27
+ c.log_level = 'WARN'
28
+
29
+ # The location where you want the logs to be recorded. This will be passed
30
+ # along to the logger.
31
+ # You can provide a filename as a String, an IO object like STDOUT or STDERR,
32
+ # or an open file.
33
+ c.log_target = STDOUT
19
34
  end
@@ -26,12 +26,18 @@ module Google
26
26
  attr_accessor :developer_token
27
27
  attr_accessor :login_customer_id
28
28
 
29
+ attr_accessor :log_level
30
+ attr_accessor :log_target
31
+
29
32
  def initialize(&block)
30
33
  @refresh_token = nil
31
34
  @client_id = nil
32
35
  @client_secret = nil
33
36
  @developer_token = nil
34
37
  @login_customer_id = nil
38
+
39
+ @log_level = nil
40
+ @log_target = nil
35
41
  yield self if block_given?
36
42
  end
37
43
 
@@ -16,6 +16,28 @@
16
16
  #
17
17
  # GoogleAds client class to configure settings and fetch services.
18
18
 
19
+ # We need to define all modules for all known versions in advance because of a
20
+ # generation issue where they are defined in a single line, which cannot be used
21
+ # to create new modules.
22
+ module Google
23
+ module Ads
24
+ module GoogleAds
25
+ module V0
26
+ module Common
27
+ end
28
+ module Enums
29
+ end
30
+ module Errors
31
+ end
32
+ module Resources
33
+ end
34
+ module Services
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+
19
41
  require 'googleauth'
20
42
 
21
43
  require 'google/ads/google_ads/patches'
@@ -24,12 +46,15 @@ require 'google/ads/google_ads/field_mask_util'
24
46
  require 'google/ads/google_ads/wrapper_util'
25
47
  require 'google/ads/google_ads/proto_lookup_util'
26
48
  require 'google/ads/google_ads/path_lookup_util'
49
+ require 'google/ads/google_ads/logging_interceptor'
27
50
 
28
51
  require 'google/ads/google_ads/errors'
29
52
  require 'google/ads/google_ads/v0/errors/errors_pb'
30
53
 
31
54
  require 'google/gax'
32
55
 
56
+ require 'logger'
57
+
33
58
  module Google
34
59
  module Ads
35
60
  module GoogleAds
@@ -38,6 +63,8 @@ module Google
38
63
 
39
64
  DEFAULT_CONFIG_FILENAME = 'google_ads_config.rb'
40
65
 
66
+ attr_reader :logger
67
+
41
68
  def initialize(config_path = nil, &block)
42
69
  if block_given?
43
70
  @config = Google::Ads::GoogleAds::Config.new
@@ -69,6 +96,13 @@ module Google
69
96
  Google::Ads::GoogleAds::ProtoLookupUtil.new(API_VERSION)
70
97
  @path_lookup_util =
71
98
  Google::Ads::GoogleAds::PathLookupUtil.new(@proto_lookup_util)
99
+
100
+ begin
101
+ @logger = create_default_logger
102
+ rescue
103
+ STDERR.puts(
104
+ "Could not create default logger. Check your config file.")
105
+ end
72
106
  end
73
107
 
74
108
  def configure(&block)
@@ -82,11 +116,18 @@ module Google
82
116
  def service(name)
83
117
  service_path = ENV['GOOGLEADS_SERVICE_PATH']
84
118
 
119
+ # We need a local reference to refer to from within the class block
120
+ # below.
121
+ logger = @logger
122
+
85
123
  class_to_return = @proto_lookup_util.service(name)
86
- unless service_path.nil? || service_path.empty?
87
- class_to_return = Class.new(class_to_return) do
124
+ class_to_return = Class.new(class_to_return) do
125
+ unless service_path.nil? || service_path.empty?
88
126
  const_set('SERVICE_ADDRESS', service_path.freeze)
89
127
  end
128
+ logging_interceptor =
129
+ Google::Ads::GoogleAds::LoggingInterceptor.new(logger)
130
+ const_set('GRPC_INTERCEPTORS', [logging_interceptor])
90
131
  end
91
132
 
92
133
  headers = {
@@ -99,7 +140,7 @@ module Google
99
140
  raise sprintf('Invalid login_customer_id. Must be an integer ' \
100
141
  '0 < x <= 9,999,999,999. Got %s', login_customer_id)
101
142
  end
102
- headers[:"login-customer-id"] = login_customer_id
143
+ headers[:"login-customer-id"] = login_customer_id.to_s # header values must be strings
103
144
  end
104
145
  return class_to_return.new(
105
146
  credentials: get_updater_proc(),
@@ -148,6 +189,12 @@ module Google
148
189
  @path_lookup_util
149
190
  end
150
191
 
192
+ # Set the logger to use. This will only take effect on services fetched
193
+ # after setting this value.
194
+ def logger=(logger)
195
+ @logger = logger
196
+ end
197
+
151
198
  private
152
199
 
153
200
  ERROR_TRANSFORMER = Proc.new do |gax_error|
@@ -190,6 +237,13 @@ module Google
190
237
  scope: ['https://www.googleapis.com/auth/adwords']
191
238
  ).updater_proc
192
239
  end
240
+
241
+ # Create the default logger, useful if the user hasn't defined one.
242
+ def create_default_logger()
243
+ logger = Logger.new(@config.log_target)
244
+ logger.level = Logger.const_get(@config.log_level)
245
+ return logger
246
+ end
193
247
  end
194
248
  end
195
249
  end
@@ -0,0 +1,74 @@
1
+ # Encoding: utf-8
2
+ #
3
+ # Copyright 2018 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # Interceptor to log outgoing requests and incoming responses.
18
+
19
+ require 'grpc/generic/interceptors'
20
+ require 'json'
21
+
22
+ module Google
23
+ module Ads
24
+ module GoogleAds
25
+ class LoggingInterceptor < GRPC::ClientInterceptor
26
+ def initialize(logger)
27
+ super()
28
+ @logger = logger
29
+ end
30
+
31
+ def request_response(request:, call:, method:, metadata: {})
32
+ summary_message =
33
+ sprintf("CID: %s, Host: %s, Method: %s",
34
+ request.customer_id,
35
+ call.instance_variable_get('@wrapped').peer,
36
+ method
37
+ )
38
+ request_message = sprintf("Outgoing request: Headers: %s Payload: %s",
39
+ metadata.to_json, request.to_json)
40
+ begin
41
+ response = yield
42
+ summary_message += ", IsFault: no"
43
+ response_message = sprintf("Incoming response: Payload: %s",
44
+ response.to_json)
45
+
46
+ @logger.info(summary_message)
47
+ @logger.debug(request_message)
48
+ @logger.debug(response_message)
49
+ return response
50
+ rescue Exception => e
51
+ summary_message += sprintf(", IsFault: yes")
52
+ response_message = "Incoming response (errors): \n"
53
+
54
+ most_recent_error = Google::Gax::GaxError.new('')
55
+ most_recent_error.status_details.each do |detail|
56
+ if detail.is_a?(
57
+ Google::Ads::GoogleAds::V0::Errors::GoogleAdsFailure)
58
+ detail.errors.each_with_index do |error, i|
59
+ response_message +=
60
+ sprintf("Error %d: %s\n", i + 1, error.to_json)
61
+ end
62
+ end
63
+ end
64
+
65
+ @logger.warn(summary_message)
66
+ @logger.info(request_message)
67
+ @logger.info(response_message)
68
+ raise
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -75,11 +75,26 @@ module Google
75
75
  customer_id.to_s, ad_group_id.to_s)
76
76
  end
77
77
 
78
+ def ad_parameter(customer_id, ad_group_id, criterion_id,
79
+ parameter_index)
80
+ @proto_lookup_util.service(:AdParameter).ad_parameter_path(
81
+ customer_id.to_s,
82
+ sprintf('%s_%s_%s', ad_group_id, criterion_id, parameter_index)
83
+ )
84
+ end
85
+
86
+ def ad_schedule_view(customer_id, campaign_id, criterion_id)
87
+ @proto_lookup_util.service(:AdScheduleView).ad_schedule_view_path(
88
+ customer_id.to_s,
89
+ sprintf('%s_%s', campaign_id, criterion_id)
90
+ )
91
+ end
92
+
78
93
  def age_range_view(customer_id, ad_group_id, criterion_id)
79
94
  @proto_lookup_util.service(:AgeRangeView).age_range_view_path(
80
- customer_id.to_s,
81
- sprintf('%s_%s', ad_group_id.to_s, criterion_id.to_s)
82
- )
95
+ customer_id.to_s,
96
+ sprintf('%s_%s', ad_group_id.to_s, criterion_id.to_s)
97
+ )
83
98
  end
84
99
 
85
100
  def bidding_strategy(customer_id, bidding_strategy_id)
@@ -125,11 +140,6 @@ module Google
125
140
  )
126
141
  end
127
142
 
128
- def campaign_group(customer_id, campaign_group_id)
129
- @proto_lookup_util.service(:CampaignGroup).campaign_group_path(
130
- customer_id.to_s, campaign_group_id.to_s)
131
- end
132
-
133
143
  def campaign_shared_set(customer_id, campaign_shared_set_id)
134
144
  @proto_lookup_util.service(:CampaignSharedSet).
135
145
  campaign_shared_set_path(customer_id.to_s,
@@ -300,6 +310,21 @@ module Google
300
310
  customer_id.to_s, media_file_id.to_s)
301
311
  end
302
312
 
313
+ def mobile_app_category_constant(mobile_app_category_id)
314
+ @proto_lookup_util.service(:MobileAppCategoryConstant).
315
+ mobile_app_category_constant_path(mobile_app_category_id.to_s)
316
+ end
317
+
318
+ def mobile_device_constant(criterion_id)
319
+ @proto_lookup_util.service(:MobileDeviceConstant).
320
+ mobile_device_constant_path(criterion_id.to_s)
321
+ end
322
+
323
+ def operating_system_version_constant(criterion_id)
324
+ @proto_lookup_util.service(:OperatingSystemVersionConstant).
325
+ operating_system_version_constant_path(criterion_id.to_s)
326
+ end
327
+
303
328
  def parental_status_view(customer_id, ad_group_id, criterion_id)
304
329
  @proto_lookup_util.service(:ParentalStatusView).
305
330
  parental_status_view_path(
@@ -321,6 +346,14 @@ module Google
321
346
  customer_id.to_s, recommendation_id.to_s)
322
347
  end
323
348
 
349
+ def remarketing_action(customer_id, remarketing_action_id)
350
+ @proto_lookup_util.service(:RemarketingAction).
351
+ remarketing_action_path(
352
+ customer_id.to_s,
353
+ remarketing_action_id.to_s
354
+ )
355
+ end
356
+
324
357
  def search_term_view(customer_id, campaign_id, ad_group_id, search_term)
325
358
  @proto_lookup_util.service(:SearchTermView).search_term_view_path(
326
359
  customer_id.to_s,
@@ -40,158 +40,107 @@ module Google
40
40
 
41
41
  RESOURCES = {
42
42
  AccountBudget: ['resources', 'account_budget_pb', 'AccountBudget'],
43
- PendingAccountBudgetProposal: ['resources', 'account_budget_pb',
44
- 'AccountBudget::PendingAccountBudgetProposal'],
45
- AccountBudgetProposal: ['resources', 'account_budget_proposal_pb',
46
- 'AccountBudgetProposal'],
43
+ PendingAccountBudgetProposal: ['resources', 'account_budget_pb', 'AccountBudget::PendingAccountBudgetProposal'],
44
+ AccountBudgetProposal: ['resources', 'account_budget_proposal_pb', 'AccountBudgetProposal'],
47
45
  AdGroupAd: ['resources', 'ad_group_ad_pb', 'AdGroupAd'],
48
- AdGroupAdPolicySummary: ['resources', 'ad_group_ad_pb',
49
- 'AdGroupAdPolicySummary'],
50
- AdGroupCriterion: ['resources', 'ad_group_criterion_pb',
51
- 'AdGroupCriterion'],
52
- QualityInfo: ['resources', 'ad_group_criterion_pb',
53
- 'AdGroupCriterion::QualityInfo'],
54
- PositionEstimates: ['resources', 'ad_group_criterion_pb',
55
- 'AdGroupCriterion::PositionEstimates'],
56
- AdGroupAudienceView: ['resources', 'ad_group_audience_view_pb',
57
- 'AdGroupAudienceView'],
58
- AdGroup: ['resources', 'ad_group_pb', 'AdGroup'],
59
- AdGroupBidModifier: ['resources', 'ad_group_bid_modifier_pb',
60
- 'AdGroupBidModifier'],
46
+ AdGroupAdPolicySummary: ['resources', 'ad_group_ad_pb', 'AdGroupAdPolicySummary'],
47
+ AdGroupCriterion: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion'],
48
+ QualityInfo: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::QualityInfo'],
49
+ PositionEstimates: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::PositionEstimates'],
50
+ AdGroupAudienceView: ['resources', 'ad_group_audience_view_pb', 'AdGroupAudienceView'],
51
+ AdGroupBidModifier: ['resources', 'ad_group_bid_modifier_pb', 'AdGroupBidModifier'],
61
52
  AdGroupFeed: ['resources', 'ad_group_feed_pb', 'AdGroupFeed'],
53
+ AdGroup: ['resources', 'ad_group_pb', 'AdGroup'],
54
+ AdParameter: ['resources', 'ad_parameter_pb', 'AdParameter'],
55
+ AdScheduleView: ['resources', 'ad_schedule_view_pb', 'AdScheduleView'],
62
56
  Ad: ['resources', 'ad_pb', 'Ad'],
63
57
  AgeRangeView: ['resources', 'age_range_view_pb', 'AgeRangeView'],
64
- BiddingStrategy: ['resources', 'bidding_strategy_pb',
65
- 'BiddingStrategy'],
58
+ BiddingStrategy: ['resources', 'bidding_strategy_pb', 'BiddingStrategy'],
66
59
  BillingSetup: ['resources', 'billing_setup_pb', 'BillingSetup'],
67
- PaymentsAccountInfo: ['resources', 'billing_setup_pb',
68
- 'BillingSetup::PaymentsAccountInfo'],
69
- CampaignAudienceView: ['resources', 'campaign_audience_view_pb',
70
- 'CampaignAudienceView'],
71
- CampaignBidModifier: ['resources', 'campaign_bid_modifier_pb',
72
- 'CampaignBidModifier'],
60
+ PaymentsAccountInfo: ['resources', 'billing_setup_pb', 'BillingSetup::PaymentsAccountInfo'],
61
+ CampaignAudienceView: ['resources', 'campaign_audience_view_pb', 'CampaignAudienceView'],
62
+ CampaignBidModifier: ['resources', 'campaign_bid_modifier_pb', 'CampaignBidModifier'],
73
63
  CampaignBudget: ['resources', 'campaign_budget_pb', 'CampaignBudget'],
74
- CampaignCriterion: ['resources', 'campaign_criterion_pb',
75
- 'CampaignCriterion'],
64
+ CampaignCriterion: ['resources', 'campaign_criterion_pb', 'CampaignCriterion'],
76
65
  CampaignFeed: ['resources', 'campaign_feed_pb', 'CampaignFeed'],
77
- CampaignGroup: ['resources', 'campaign_group_pb', 'CampaignGroup'],
78
66
  Campaign: ['resources', 'campaign_pb', 'Campaign'],
79
- NetworkSettings: ['resources', 'campaign_pb',
80
- 'Campaign::NetworkSettings'],
81
- HotelSettingInfo: ['resources', 'campaign_pb',
82
- 'Campaign::HotelSettingInfo'],
83
- DynamicSearchAdsSetting: ['resources', 'campaign_pb',
84
- 'Campaign::DynamicSearchAdsSetting'],
85
- ShoppingSetting: ['resources', 'campaign_pb',
86
- 'Campaign::ShoppingSetting'],
87
- CampaignSharedSet: ['resources', 'campaign_shared_set_pb',
88
- 'CampaignSharedSet'],
89
- CarrierConstant: ['resources', 'carrier_constant_pb',
90
- 'CarrierConstant'],
67
+ NetworkSettings: ['resources', 'campaign_pb', 'Campaign::NetworkSettings'],
68
+ HotelSettingInfo: ['resources', 'campaign_pb', 'Campaign::HotelSettingInfo'],
69
+ DynamicSearchAdsSetting: ['resources', 'campaign_pb', 'Campaign::DynamicSearchAdsSetting'],
70
+ ShoppingSetting: ['resources', 'campaign_pb', 'Campaign::ShoppingSetting'],
71
+ TrackingSetting: ['resources', 'campaign_pb', 'Campaign::TrackingSetting'],
72
+ VanityPharma: ['resources', 'campaign_pb', 'Campaign::VanityPharma'],
73
+ SelectiveOptimization: ['resources', 'campaign_pb', 'Campaign::SelectiveOptimization'],
74
+ CampaignSharedSet: ['resources', 'campaign_shared_set_pb', 'CampaignSharedSet'],
75
+ CarrierConstant: ['resources', 'carrier_constant_pb', 'CarrierConstant'],
91
76
  ChangeStatus: ['resources', 'change_status_pb', 'ChangeStatus'],
92
- ConversionAction: ['resources', 'conversion_action_pb',
93
- 'ConversionAction'],
94
- AttributionModelSettings: ['resources', 'conversion_action_pb',
95
- 'ConversionAction::AttributionModelSettings'],
96
- ValueSettings: ['resources', 'conversion_action_pb',
97
- 'ConversionAction::ValueSettings'],
98
- CustomerClientLink: ['resources', 'customer_client_link_pb',
99
- 'CustomerClientLink'],
77
+ ConversionAction: ['resources', 'conversion_action_pb', 'ConversionAction'],
78
+ AttributionModelSettings: ['resources', 'conversion_action_pb', 'ConversionAction::AttributionModelSettings'],
79
+ ValueSettings: ['resources', 'conversion_action_pb', 'ConversionAction::ValueSettings'],
80
+ CustomerClientLink: ['resources', 'customer_client_link_pb', 'CustomerClientLink'],
100
81
  CustomerClient: ['resources', 'customer_client_pb', 'CustomerClient'],
101
82
  CustomerFeed: ['resources', 'customer_feed_pb', 'CustomerFeed'],
102
- CustomerManagerLink: ['resources', 'customer_manager_link_pb',
103
- 'CustomerManagerLink'],
83
+ CustomerManagerLink: ['resources', 'customer_manager_link_pb', 'CustomerManagerLink'],
104
84
  Customer: ['resources', 'customer_pb', 'Customer'],
105
- CallReportingSetting: ['resources', 'customer_pb',
106
- 'CallReportingSetting'],
107
- DisplayKeywordView: ['resources', 'display_keyword_view_pb',
108
- 'DisplayKeywordView'],
85
+ CallReportingSetting: ['resources', 'customer_pb', 'CallReportingSetting'],
86
+ ConversionTrackingSetting: ['resources', 'customer_pb', 'ConversionTrackingSetting'],
87
+ DisplayKeywordView: ['resources', 'display_keyword_view_pb', 'DisplayKeywordView'],
109
88
  FeedItem: ['resources', 'feed_item_pb', 'FeedItem'],
110
- FeedItemAttributeValue: ['resources', 'feed_item_pb',
111
- 'FeedItemAttributeValue'],
89
+ FeedItemAttributeValue: ['resources', 'feed_item_pb', 'FeedItemAttributeValue'],
90
+ FeedItemPlaceholderPolicyInfo: ['resources', 'feed_item_pb', 'FeedItemPlaceholderPolicyInfo'],
91
+ FeedItemValidationError: ['resources', 'feed_item_pb', 'FeedItemValidationError'],
112
92
  FeedMapping: ['resources', 'feed_mapping_pb', 'FeedMapping'],
113
- AttributeFieldMapping: ['resources', 'feed_mapping_pb',
114
- 'AttributeFieldMapping'],
93
+ AttributeFieldMapping: ['resources', 'feed_mapping_pb', 'AttributeFieldMapping'],
115
94
  Feed: ['resources', 'feed_pb', 'Feed'],
116
- PlacesLocationFeedData: ['resources', 'feed_pb',
117
- 'Feed::PlacesLocationFeedData'],
118
- OAuthInfo: ['resources', 'feed_pb',
119
- 'Feed::PlacesLocationFeedData::OAuthInfo'],
120
- AffiliateLocationFeedData: ['resources', 'feed_pb',
121
- 'Feed::AffiliateLocationFeedData'],
95
+ PlacesLocationFeedData: ['resources', 'feed_pb', 'Feed::PlacesLocationFeedData'],
96
+ OAuthInfo: ['resources', 'feed_pb', 'Feed::PlacesLocationFeedData::OAuthInfo'],
97
+ AffiliateLocationFeedData: ['resources', 'feed_pb', 'Feed::AffiliateLocationFeedData'],
122
98
  FeedAttribute: ['resources', 'feed_pb', 'FeedAttribute'],
123
- FeedAttributeOperation: ['resources', 'feed_pb',
124
- 'FeedAttributeOperation'],
125
- Operator: ['resources', 'feed_pb',
126
- 'FeedAttributeOperation::Operator'],
99
+ FeedAttributeOperation: ['resources', 'feed_pb', 'FeedAttributeOperation'],
100
+ Operator: ['resources', 'feed_pb', 'FeedAttributeOperation::Operator'],
127
101
  GenderView: ['resources', 'gender_view_pb', 'GenderView'],
128
- GeoTargetConstant: ['resources', 'geo_target_constant_pb',
129
- 'GeoTargetConstant'],
130
- GoogleAdsField: ['resources', 'google_ads_field_pb',
131
- 'GoogleAdsField'],
132
- HotelGroupView: ['resources', 'hotel_group_view_pb',
133
- 'HotelGroupView'],
134
- HotelPerformanceView: ['resources', 'hotel_performance_view_pb',
135
- 'HotelPerformanceView'],
136
- KeywordPlanAdGroup: ['resources', 'keyword_plan_ad_group_pb',
137
- 'KeywordPlanAdGroup'],
138
- KeywordPlanCampaign: ['resources', 'keyword_plan_campaign_pb',
139
- 'KeywordPlanCampaign'],
140
- KeywordPlanGeoTarget: ['resources', 'keyword_plan_campaign_pb',
141
- 'KeywordPlanGeoTarget'],
142
- KeywordPlanKeyword: ['resources', 'keyword_plan_keyword_pb',
143
- 'KeywordPlanKeyword'],
144
- KeywordPlanNegativeKeyword: ['resources',
145
- 'keyword_plan_negative_keyword_pb', 'KeywordPlanNegativeKeyword'],
102
+ GeoTargetConstant: ['resources', 'geo_target_constant_pb', 'GeoTargetConstant'],
103
+ GoogleAdsField: ['resources', 'google_ads_field_pb', 'GoogleAdsField'],
104
+ HotelGroupView: ['resources', 'hotel_group_view_pb', 'HotelGroupView'],
105
+ HotelPerformanceView: ['resources', 'hotel_performance_view_pb', 'HotelPerformanceView'],
106
+ KeywordPlanAdGroup: ['resources', 'keyword_plan_ad_group_pb', 'KeywordPlanAdGroup'],
107
+ KeywordPlanCampaign: ['resources', 'keyword_plan_campaign_pb', 'KeywordPlanCampaign'],
108
+ KeywordPlanGeoTarget: ['resources', 'keyword_plan_campaign_pb', 'KeywordPlanGeoTarget'],
109
+ KeywordPlanKeyword: ['resources', 'keyword_plan_keyword_pb', 'KeywordPlanKeyword'],
110
+ KeywordPlanNegativeKeyword: ['resources', 'keyword_plan_negative_keyword_pb', 'KeywordPlanNegativeKeyword'],
146
111
  KeywordPlan: ['resources', 'keyword_plan_pb', 'KeywordPlan'],
147
- KeywordPlanForecastPeriod: ['resources', 'keyword_plan_pb',
148
- 'KeywordPlanForecastPeriod'],
112
+ KeywordPlanForecastPeriod: ['resources', 'keyword_plan_pb', 'KeywordPlanForecastPeriod'],
149
113
  KeywordView: ['resources', 'keyword_view_pb', 'KeywordView'],
150
- LanguageConstant: ['resources', 'language_constant_pb',
151
- 'LanguageConstant'],
152
- ManagedPlacementView: ['resources', 'managed_placement_view_pb',
153
- 'ManagedPlacementView'],
114
+ LanguageConstant: ['resources', 'language_constant_pb', 'LanguageConstant'],
115
+ ManagedPlacementView: ['resources', 'managed_placement_view_pb', 'ManagedPlacementView'],
154
116
  MediaFile: ['resources', 'media_file_pb', 'MediaFile'],
155
117
  MediaImage: ['resources', 'media_file_pb', 'MediaImage'],
156
118
  MediaBundle: ['resources', 'media_file_pb', 'MediaBundle'],
157
- ParentalStatusView: ['resources', 'parental_status_view_pb',
158
- 'ParentalStatusView'],
159
- PaymentsAccount: ['resources', 'payments_account_pb',
160
- 'PaymentsAccount'],
161
- ProductGroupView: ['resources', 'product_group_view_pb',
162
- 'ProductGroupView'],
119
+ MediaAudio: ['resources', 'media_file_pb', 'MediaAudio'],
120
+ MediaVideo: ['resources', 'media_file_pb', 'MediaVideo'],
121
+ MobileAppCategoryConstant: ['resources', 'mobile_app_category_constant_pb', 'MobileAppCategoryConstant'],
122
+ MobileDeviceConstant: ['resources', 'mobile_device_constant_pb', 'MobileDeviceConstant'],
123
+ OperatingSystemVersionConstant: ['resources', 'operating_system_version_constant_pb', 'OperatingSystemVersionConstant'],
124
+ ParentalStatusView: ['resources', 'parental_status_view_pb', 'ParentalStatusView'],
125
+ PaymentsAccount: ['resources', 'payments_account_pb', 'PaymentsAccount'],
126
+ ProductGroupView: ['resources', 'product_group_view_pb', 'ProductGroupView'],
163
127
  Recommendation: ['resources', 'recommendation_pb', 'Recommendation'],
164
- RecommendationImpact: ['resources', 'recommendation_pb',
165
- 'Recommendation::RecommendationImpact'],
166
- RecommendationMetrics: ['resources', 'recommendation_pb',
167
- 'Recommendation::RecommendationMetrics'],
168
- CampaignBudgetRecommendation: ['resources', 'recommendation_pb',
169
- 'Recommendation::CampaignBudgetRecommendation'],
170
- CampaignBudgetRecommendationOption: ['resources', 'recommendation_pb',
171
- 'Recommendation::CampaignBudgetRecommendation::CampaignBudgetRecommendationOption'],
172
- KeywordRecommendation: ['resources', 'recommendation_pb',
173
- 'Recommendation::KeywordRecommendation'],
174
- TextAdRecommendation: ['resources', 'recommendation_pb',
175
- 'Recommendation::TextAdRecommendation'],
176
- TargetCpaOptInRecommendation: ['resources', 'recommendation_pb',
177
- 'Recommendation::TargetCpaOptInRecommendation'],
178
- TargetCpaOptInRecommendationOption: ['resources', 'recommendation_pb',
179
- 'Recommendation::TargetCpaOptInRecommendation::TargetCpaOptInRecommendationOption'],
180
- MaximizeConversionsOptInRecommendation: ['resources',
181
- 'recommendation_pb',
182
- 'Recommendation::MaximizeConversionsOptInRecommendation'],
183
- EnhancedCpcOptInRecommendation: ['resources', 'recommendation_pb',
184
- 'Recommendation::EnhancedCpcOptInRecommendation'],
185
- SearchPartnersOptInRecommendation: ['resources', 'recommendation_pb',
186
- 'Recommendation::SearchPartnersOptInRecommendation'],
187
- MaximizeClicksOptInRecommendation: ['resources', 'recommendation_pb',
188
- 'Recommendation::MaximizeClicksOptInRecommendation'],
189
- OptimizeAdRotationRecommendation: ['resources', 'recommendation_pb',
190
- 'Recommendation::OptimizeAdRotationRecommendation'],
191
- SearchTermView: ['resources', 'search_term_view_pb',
192
- 'SearchTermView'],
193
- SharedCriterion: ['resources', 'shared_criterion_pb',
194
- 'SharedCriterion'],
128
+ RecommendationImpact: ['resources', 'recommendation_pb', 'Recommendation::RecommendationImpact'],
129
+ RecommendationMetrics: ['resources', 'recommendation_pb', 'Recommendation::RecommendationMetrics'],
130
+ CampaignBudgetRecommendation: ['resources', 'recommendation_pb', 'Recommendation::CampaignBudgetRecommendation'],
131
+ CampaignBudgetRecommendationOption: ['resources', 'recommendation_pb', 'Recommendation::CampaignBudgetRecommendation::CampaignBudgetRecommendationOption'],
132
+ KeywordRecommendation: ['resources', 'recommendation_pb', 'Recommendation::KeywordRecommendation'],
133
+ TextAdRecommendation: ['resources', 'recommendation_pb', 'Recommendation::TextAdRecommendation'],
134
+ TargetCpaOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::TargetCpaOptInRecommendation'],
135
+ TargetCpaOptInRecommendationOption: ['resources', 'recommendation_pb', 'Recommendation::TargetCpaOptInRecommendation::TargetCpaOptInRecommendationOption'],
136
+ MaximizeConversionsOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::MaximizeConversionsOptInRecommendation'],
137
+ EnhancedCpcOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::EnhancedCpcOptInRecommendation'],
138
+ SearchPartnersOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::SearchPartnersOptInRecommendation'],
139
+ MaximizeClicksOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::MaximizeClicksOptInRecommendation'],
140
+ OptimizeAdRotationRecommendation: ['resources', 'recommendation_pb', 'Recommendation::OptimizeAdRotationRecommendation'],
141
+ RemarketingAction: ['resources', 'remarketing_action_pb', 'RemarketingAction'],
142
+ SearchTermView: ['resources', 'search_term_view_pb', 'SearchTermView'],
143
+ SharedCriterion: ['resources', 'shared_criterion_pb', 'SharedCriterion'],
195
144
  SharedSet: ['resources', 'shared_set_pb', 'SharedSet'],
196
145
  TopicConstant: ['resources', 'topic_constant_pb', 'TopicConstant'],
197
146
  TopicView: ['resources', 'topic_view_pb', 'TopicView'],
@@ -199,66 +148,55 @@ module Google
199
148
  UserList: ['resources', 'user_list_pb', 'UserList'],
200
149
  Video: ['resources', 'video_pb', 'Video'],
201
150
  TextAdInfo: ['common', 'ad_type_infos_pb', 'TextAdInfo'],
202
- ExpandedTextAdInfo: ['common', 'ad_type_infos_pb',
203
- 'ExpandedTextAdInfo'],
204
- DynamicSearchAdInfo: ['common', 'ad_type_infos_pb',
205
- 'DynamicSearchAdInfo'],
206
- ResponsiveDisplayAdInfo: ['common', 'ad_type_infos_pb',
207
- 'ResponsiveDisplayAdInfo'],
151
+ ExpandedTextAdInfo: ['common', 'ad_type_infos_pb', 'ExpandedTextAdInfo'],
152
+ DynamicSearchAdInfo: ['common', 'ad_type_infos_pb', 'DynamicSearchAdInfo'],
153
+ ResponsiveDisplayAdInfo: ['common', 'ad_type_infos_pb', 'ResponsiveDisplayAdInfo'],
208
154
  CallOnlyAdInfo: ['common', 'ad_type_infos_pb', 'CallOnlyAdInfo'],
209
- ExpandedDynamicSearchAdInfo: ['common', 'ad_type_infos_pb',
210
- 'ExpandedDynamicSearchAdInfo'],
155
+ ExpandedDynamicSearchAdInfo: ['common', 'ad_type_infos_pb', 'ExpandedDynamicSearchAdInfo'],
211
156
  HotelAdInfo: ['common', 'ad_type_infos_pb', 'HotelAdInfo'],
212
- ShoppingSmartAdInfo: ['common', 'ad_type_infos_pb',
213
- 'ShoppingSmartAdInfo'],
214
- ShoppingProductAdInfo: ['common', 'ad_type_infos_pb',
215
- 'ShoppingProductAdInfo'],
157
+ ShoppingSmartAdInfo: ['common', 'ad_type_infos_pb', 'ShoppingSmartAdInfo'],
158
+ ShoppingProductAdInfo: ['common', 'ad_type_infos_pb', 'ShoppingProductAdInfo'],
216
159
  GmailAdInfo: ['common', 'ad_type_infos_pb', 'GmailAdInfo'],
217
160
  GmailTeaser: ['common', 'ad_type_infos_pb', 'GmailTeaser'],
218
- DisplayCallToAction: ['common', 'ad_type_infos_pb',
219
- 'DisplayCallToAction'],
161
+ DisplayCallToAction: ['common', 'ad_type_infos_pb', 'DisplayCallToAction'],
220
162
  ImageAdInfo: ['common', 'ad_type_infos_pb', 'ImageAdInfo'],
163
+ VideoTrueViewInStreamAdInfo: ['common', 'ad_type_infos_pb', 'VideoTrueViewInStreamAdInfo'],
164
+ VideoAdInfo: ['common', 'ad_type_infos_pb', 'VideoAdInfo'],
221
165
  EnhancedCpc: ['common', 'bidding_pb', 'EnhancedCpc'],
222
166
  ManualCpc: ['common', 'bidding_pb', 'ManualCpc'],
223
167
  ManualCpm: ['common', 'bidding_pb', 'ManualCpm'],
224
168
  ManualCpv: ['common', 'bidding_pb', 'ManualCpv'],
225
169
  MaximizeConversions: ['common', 'bidding_pb', 'MaximizeConversions'],
226
- MaximizeConversionValue: ['common', 'bidding_pb',
227
- 'MaximizeConversionValue'],
170
+ MaximizeConversionValue: ['common', 'bidding_pb', 'MaximizeConversionValue'],
228
171
  PageOnePromoted: ['common', 'bidding_pb', 'PageOnePromoted'],
229
172
  TargetCpa: ['common', 'bidding_pb', 'TargetCpa'],
173
+ TargetCpm: ['common', 'bidding_pb', 'TargetCpm'],
230
174
  TargetOutrankShare: ['common', 'bidding_pb', 'TargetOutrankShare'],
231
175
  TargetRoas: ['common', 'bidding_pb', 'TargetRoas'],
232
176
  TargetSpend: ['common', 'bidding_pb', 'TargetSpend'],
233
177
  PercentCpc: ['common', 'bidding_pb', 'PercentCpc'],
234
178
  KeywordInfo: ['common', 'criteria_pb', 'KeywordInfo'],
179
+ PlacementInfo: ['common', 'criteria_pb', 'PlacementInfo'],
180
+ MobileAppCategoryInfo: ['common', 'criteria_pb', 'MobileAppCategoryInfo'],
235
181
  LocationInfo: ['common', 'criteria_pb', 'LocationInfo'],
236
182
  DeviceInfo: ['common', 'criteria_pb', 'DeviceInfo'],
237
183
  ListingGroupInfo: ['common', 'criteria_pb', 'ListingGroupInfo'],
238
- ListingDimensionInfo: ['common', 'criteria_pb',
239
- 'ListingDimensionInfo'],
184
+ ListingDimensionInfo: ['common', 'criteria_pb', 'ListingDimensionInfo'],
240
185
  ListingBrandInfo: ['common', 'criteria_pb', 'ListingBrandInfo'],
241
186
  HotelIdInfo: ['common', 'criteria_pb', 'HotelIdInfo'],
242
187
  HotelClassInfo: ['common', 'criteria_pb', 'HotelClassInfo'],
243
- HotelCountryRegionInfo: ['common', 'criteria_pb',
244
- 'HotelCountryRegionInfo'],
188
+ HotelCountryRegionInfo: ['common', 'criteria_pb', 'HotelCountryRegionInfo'],
245
189
  HotelStateInfo: ['common', 'criteria_pb', 'HotelStateInfo'],
246
190
  HotelCityInfo: ['common', 'criteria_pb', 'HotelCityInfo'],
247
- ListingCustomAttributeInfo: ['common', 'criteria_pb',
248
- 'ListingCustomAttributeInfo'],
191
+ ListingCustomAttributeInfo: ['common', 'criteria_pb', 'ListingCustomAttributeInfo'],
249
192
  ProductChannelInfo: ['common', 'criteria_pb', 'ProductChannelInfo'],
250
- ProductChannelExclusivityInfo: ['common', 'criteria_pb',
251
- 'ProductChannelExclusivityInfo'],
252
- ProductConditionInfo: ['common', 'criteria_pb',
253
- 'ProductConditionInfo'],
193
+ ProductChannelExclusivityInfo: ['common', 'criteria_pb', 'ProductChannelExclusivityInfo'],
194
+ ProductConditionInfo: ['common', 'criteria_pb', 'ProductConditionInfo'],
254
195
  ProductOfferIdInfo: ['common', 'criteria_pb', 'ProductOfferIdInfo'],
255
196
  ProductTypeInfo: ['common', 'criteria_pb', 'ProductTypeInfo'],
256
- HotelDateSelectionTypeInfo: ['common', 'criteria_pb',
257
- 'HotelDateSelectionTypeInfo'],
258
- HotelAdvanceBookingWindowInfo: ['common', 'criteria_pb',
259
- 'HotelAdvanceBookingWindowInfo'],
260
- HotelLengthOfStayInfo: ['common', 'criteria_pb',
261
- 'HotelLengthOfStayInfo'],
197
+ HotelDateSelectionTypeInfo: ['common', 'criteria_pb', 'HotelDateSelectionTypeInfo'],
198
+ HotelAdvanceBookingWindowInfo: ['common', 'criteria_pb', 'HotelAdvanceBookingWindowInfo'],
199
+ HotelLengthOfStayInfo: ['common', 'criteria_pb', 'HotelLengthOfStayInfo'],
262
200
  HotelCheckInDayInfo: ['common', 'criteria_pb', 'HotelCheckInDayInfo'],
263
201
  InteractionTypeInfo: ['common', 'criteria_pb', 'InteractionTypeInfo'],
264
202
  AdScheduleInfo: ['common', 'criteria_pb', 'AdScheduleInfo'],
@@ -278,429 +216,307 @@ module Google
278
216
  ContentLabelInfo: ['common', 'criteria_pb', 'ContentLabelInfo'],
279
217
  CarrierInfo: ['common', 'criteria_pb', 'CarrierInfo'],
280
218
  UserInterestInfo: ['common', 'criteria_pb', 'UserInterestInfo'],
281
- CriterionCategoryAvailability: ['common',
282
- 'criterion_category_availability_pb',
283
- 'CriterionCategoryAvailability'],
284
- CriterionCategoryChannelAvailability: ['common',
285
- 'criterion_category_availability_pb',
286
- 'CriterionCategoryChannelAvailability'],
287
- CriterionCategoryLocaleAvailability: ['common',
288
- 'criterion_category_availability_pb',
289
- 'CriterionCategoryLocaleAvailability'],
219
+ WebpageInfo: ['common', 'criteria_pb', 'WebpageInfo'],
220
+ WebpageConditionInfo: ['common', 'criteria_pb', 'WebpageConditionInfo'],
221
+ OperatingSystemVersionInfo: ['common', 'criteria_pb', 'OperatingSystemVersionInfo'],
222
+ AppPaymentModelInfo: ['common', 'criteria_pb', 'AppPaymentModelInfo'],
223
+ CriterionCategoryAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryAvailability'],
224
+ CriterionCategoryChannelAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryChannelAvailability'],
225
+ CriterionCategoryLocaleAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryLocaleAvailability'],
290
226
  CustomParameter: ['common', 'custom_parameter_pb', 'CustomParameter'],
291
227
  DateRange: ['common', 'dates_pb', 'DateRange'],
292
- ExplorerAutoOptimizerSetting: ['common',
293
- 'explorer_auto_optimizer_setting_pb',
294
- 'ExplorerAutoOptimizerSetting'],
228
+ ExplorerAutoOptimizerSetting: ['common', 'explorer_auto_optimizer_setting_pb', 'ExplorerAutoOptimizerSetting'],
295
229
  Price: ['common', 'feed_common_pb', 'Price'],
296
- FrequencyCapEntry: ['common', 'frequency_cap_pb',
297
- 'FrequencyCapEntry'],
230
+ FrequencyCapEntry: ['common', 'frequency_cap_pb', 'FrequencyCapEntry'],
298
231
  FrequencyCapKey: ['common', 'frequency_cap_pb', 'FrequencyCapKey'],
299
- KeywordPlanHistoricalMetrics: ['common', 'keyword_plan_common_pb',
300
- 'KeywordPlanHistoricalMetrics'],
301
- MatchingFunction: ['common', 'matching_function_pb',
302
- 'MatchingFunction'],
232
+ KeywordPlanHistoricalMetrics: ['common', 'keyword_plan_common_pb', 'KeywordPlanHistoricalMetrics'],
233
+ MatchingFunction: ['common', 'matching_function_pb', 'MatchingFunction'],
303
234
  Metrics: ['common', 'metrics_pb', 'Metrics'],
304
235
  PolicyViolationKey: ['common', 'policy_pb', 'PolicyViolationKey'],
305
- PolicyValidationParameter: ['common', 'policy_pb',
306
- 'PolicyValidationParameter'],
236
+ PolicyValidationParameter: ['common', 'policy_pb', 'PolicyValidationParameter'],
307
237
  PolicyTopicEntry: ['common', 'policy_pb', 'PolicyTopicEntry'],
308
238
  PolicyTopicEvidence: ['common', 'policy_pb', 'PolicyTopicEvidence'],
309
239
  TextList: ['common', 'policy_pb', 'PolicyTopicEvidence::TextList'],
310
- WebsiteList: ['common', 'policy_pb',
311
- 'PolicyTopicEvidence::WebsiteList'],
312
- DestinationTextList: ['common', 'policy_pb',
313
- 'PolicyTopicEvidence::DestinationTextList'],
314
- DestinationMismatch: ['common', 'policy_pb',
315
- 'PolicyTopicEvidence::DestinationMismatch'],
316
- PolicyTopicConstraint: ['common', 'policy_pb',
317
- 'PolicyTopicConstraint'],
318
- CountryConstraintList: ['common', 'policy_pb',
319
- 'PolicyTopicConstraint::CountryConstraintList'],
320
- ResellerConstraint: ['common', 'policy_pb',
321
- 'PolicyTopicConstraint::ResellerConstraint'],
322
- CountryConstraint: ['common', 'policy_pb',
323
- 'PolicyTopicConstraint::CountryConstraint'],
324
- RealTimeBiddingSetting: ['common', 'real_time_bidding_setting_pb',
325
- 'RealTimeBiddingSetting'],
240
+ WebsiteList: ['common', 'policy_pb', 'PolicyTopicEvidence::WebsiteList'],
241
+ DestinationTextList: ['common', 'policy_pb', 'PolicyTopicEvidence::DestinationTextList'],
242
+ DestinationMismatch: ['common', 'policy_pb', 'PolicyTopicEvidence::DestinationMismatch'],
243
+ PolicyTopicConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint'],
244
+ CountryConstraintList: ['common', 'policy_pb', 'PolicyTopicConstraint::CountryConstraintList'],
245
+ ResellerConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint::ResellerConstraint'],
246
+ CountryConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint::CountryConstraint'],
247
+ RealTimeBiddingSetting: ['common', 'real_time_bidding_setting_pb', 'RealTimeBiddingSetting'],
248
+ Segments: ['common', 'segments_pb', 'Segments'],
326
249
  TagSnippet: ['common', 'tag_snippet_pb', 'TagSnippet'],
327
- SimilarUserListInfo: ['common', 'user_lists_pb',
328
- 'SimilarUserListInfo'],
329
- CrmBasedUserListInfo: ['common', 'user_lists_pb',
330
- 'CrmBasedUserListInfo'],
250
+ TargetingSetting: ['common', 'targeting_setting_pb', 'TargetingSetting'],
251
+ TargetRestriction: ['common', 'targeting_setting_pb', 'TargetRestriction'],
252
+ SimilarUserListInfo: ['common', 'user_lists_pb', 'SimilarUserListInfo'],
253
+ CrmBasedUserListInfo: ['common', 'user_lists_pb', 'CrmBasedUserListInfo'],
254
+ UserListRuleInfo: ['common', 'user_lists_pb', 'UserListRuleInfo'],
255
+ UserListRuleItemGroupInfo: ['common', 'user_lists_pb', 'UserListRuleItemGroupInfo'],
256
+ UserListRuleItemInfo: ['common', 'user_lists_pb', 'UserListRuleItemInfo'],
257
+ UserListDateRuleItemInfo: ['common', 'user_lists_pb', 'UserListDateRuleItemInfo'],
258
+ UserListNumberRuleItemInfo: ['common', 'user_lists_pb', 'UserListNumberRuleItemInfo'],
259
+ UserListStringRuleItemInfo: ['common', 'user_lists_pb', 'UserListStringRuleItemInfo'],
260
+ CombinedRuleUserListInfo: ['common', 'user_lists_pb', 'CombinedRuleUserListInfo'],
261
+ DateSpecificRuleUserListInfo: ['common', 'user_lists_pb', 'DateSpecificRuleUserListInfo'],
262
+ ExpressionRuleUserListInfo: ['common', 'user_lists_pb', 'ExpressionRuleUserListInfo'],
263
+ RuleBasedUserListInfo: ['common', 'user_lists_pb', 'RuleBasedUserListInfo'],
264
+ LogicalUserListInfo: ['common', 'user_lists_pb', 'LogicalUserListInfo'],
265
+ BasicUserListInfo: ['common', 'user_lists_pb', 'BasicUserListInfo'],
266
+ UserListActionInfo: ['common', 'user_lists_pb', 'UserListActionInfo'],
331
267
  Value: ['common', 'value_pb', 'Value'],
332
- CampaignBudgetParameters: ['services', 'recommendation_service_pb',
333
- 'ApplyRecommendationOperation::CampaignBudgetParameters'],
334
- TextAdParameters: ['services', 'recommendation_service_pb',
335
- 'ApplyRecommendationOperation::TextAdParameters'],
336
- KeywordParameters: ['services', 'recommendation_service_pb',
337
- 'ApplyRecommendationOperation::KeywordParameters'],
338
- TargetCpaOptInParameters: ['services', 'recommendation_service_pb',
339
- 'ApplyRecommendationOperation::TargetCpaOptInParameters'],
340
- LocationNames: ['services', 'geo_target_constant_service_pb',
341
- 'SuggestGeoTargetConstantsRequest::LocationNames'],
342
- GeoTargets: ['services', 'geo_target_constant_service_pb',
343
- 'SuggestGeoTargetConstantsRequest::GeoTargets']
268
+ CampaignBudgetParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::CampaignBudgetParameters'],
269
+ TextAdParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::TextAdParameters'],
270
+ KeywordParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::KeywordParameters'],
271
+ TargetCpaOptInParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::TargetCpaOptInParameters'],
272
+ LocationNames: ['services', 'geo_target_constant_service_pb', 'SuggestGeoTargetConstantsRequest::LocationNames'],
273
+ GeoTargets: ['services', 'geo_target_constant_service_pb', 'SuggestGeoTargetConstantsRequest::GeoTargets']
344
274
  }.freeze
345
275
 
346
276
  ENUMS = {
347
277
  AccessReason: ['access_reason_pb', 'AccessReason'],
348
- AccountBudgetProposalStatus: ['account_budget_proposal_status_pb',
349
- 'AccountBudgetProposalStatus'],
350
- AccountBudgetProposalType: ['account_budget_proposal_type_pb',
351
- 'AccountBudgetProposalType'],
352
- AccountBudgetStatus: ['account_budget_status_pb',
353
- 'AccountBudgetStatus'],
354
- AdCustomizerPlaceholderField: ['ad_customizer_placeholder_field_pb',
355
- 'AdCustomizerPlaceholderField'],
356
- AdGroupAdRotationMode: ['ad_group_ad_rotation_mode_pb',
357
- 'AdGroupAdRotationMode'],
278
+ AccountBudgetProposalStatus: ['account_budget_proposal_status_pb', 'AccountBudgetProposalStatus'],
279
+ AccountBudgetProposalType: ['account_budget_proposal_type_pb', 'AccountBudgetProposalType'],
280
+ AccountBudgetStatus: ['account_budget_status_pb', 'AccountBudgetStatus'],
281
+ AdCustomizerPlaceholderField: ['ad_customizer_placeholder_field_pb', 'AdCustomizerPlaceholderField'],
282
+ AdGroupAdRotationMode: ['ad_group_ad_rotation_mode_pb', 'AdGroupAdRotationMode'],
358
283
  AdGroupAdStatus: ['ad_group_ad_status_pb', 'AdGroupAdStatus'],
359
- AdGroupCriterionStatus: ['ad_group_criterion_status_pb',
360
- 'AdGroupCriterionStatus'],
284
+ AdGroupCriterionStatus: ['ad_group_criterion_status_pb', 'AdGroupCriterionStatus'],
361
285
  AdGroupStatus: ['ad_group_status_pb', 'AdGroupStatus'],
362
286
  AdGroupType: ['ad_group_type_pb', 'AdGroupType'],
363
287
  AdNetworkType: ['ad_network_type_pb', 'AdNetworkType'],
364
- AdServingOptimizationStatus: ['ad_serving_optimization_status_pb',
365
- 'AdServingOptimizationStatus'],
288
+ AdServingOptimizationStatus: ['ad_serving_optimization_status_pb', 'AdServingOptimizationStatus'],
366
289
  AdType: ['ad_type_pb', 'AdType'],
367
- AdvertisingChannelSubType: ['advertising_channel_sub_type_pb',
368
- 'AdvertisingChannelSubType'],
369
- AdvertisingChannelType: ['advertising_channel_type_pb',
370
- 'AdvertisingChannelType'],
371
- AffiliateLocationFeedRelationshipType: [
372
- 'affiliate_location_feed_relationship_type_pb',
373
- 'AffiliateLocationFeedRelationshipType'],
290
+ AdvertisingChannelSubType: ['advertising_channel_sub_type_pb', 'AdvertisingChannelSubType'],
291
+ AdvertisingChannelType: ['advertising_channel_type_pb', 'AdvertisingChannelType'],
292
+ AffiliateLocationFeedRelationshipType: ['affiliate_location_feed_relationship_type_pb', 'AffiliateLocationFeedRelationshipType'],
374
293
  AgeRangeType: ['age_range_type_pb', 'AgeRangeType'],
375
- AppPlaceholderField: ['app_placeholder_field_pb',
376
- 'AppPlaceholderField'],
294
+ AppPaymentModelType: ['app_payment_model_type_pb', 'AppPaymentModelType'],
295
+ AppPlaceholderField: ['app_placeholder_field_pb', 'AppPlaceholderField'],
377
296
  AttributionModel: ['attribution_model_pb', 'AttributionModel'],
378
297
  BiddingSource: ['bidding_source_pb', 'BiddingSource'],
379
- BiddingStrategyType: ['bidding_strategy_type_pb',
380
- 'BiddingStrategyType'],
298
+ BiddingStrategyType: ['bidding_strategy_type_pb', 'BiddingStrategyType'],
381
299
  BidModifierSource: ['bid_modifier_source_pb', 'BidModifierSource'],
382
300
  BillingSetupStatus: ['billing_setup_status_pb', 'BillingSetupStatus'],
383
- BudgetDeliveryMethod: ['budget_delivery_method_pb',
384
- 'BudgetDeliveryMethod'],
301
+ BrandSafetySuitability: ['brand_safety_suitability_pb', 'BrandSafetySuitability'],
302
+ BudgetDeliveryMethod: ['budget_delivery_method_pb', 'BudgetDeliveryMethod'],
303
+ BudgetPeriod: ['budget_period_pb', 'BudgetPeriod'],
385
304
  BudgetStatus: ['budget_status_pb', 'BudgetStatus'],
386
- CallConversionReportingState: ['call_conversion_reporting_state_pb',
387
- 'CallConversionReportingState'],
388
- CallPlaceholderField: ['call_placeholder_field_pb',
389
- 'CallPlaceholderField'],
390
- CalloutPlaceholderField: ['callout_placeholder_field_pb',
391
- 'CalloutPlaceholderField'],
392
- CampaignGroupStatus: ['campaign_group_status_pb',
393
- 'CampaignGroupStatus'],
394
- CampaignServingStatus: ['campaign_serving_status_pb',
395
- 'CampaignServingStatus'],
396
- CampaignSharedSetStatus: ['campaign_shared_set_status_pb',
397
- 'CampaignSharedSetStatus'],
305
+ CallConversionReportingState: ['call_conversion_reporting_state_pb', 'CallConversionReportingState'],
306
+ CallPlaceholderField: ['call_placeholder_field_pb', 'CallPlaceholderField'],
307
+ CalloutPlaceholderField: ['callout_placeholder_field_pb', 'CalloutPlaceholderField'],
308
+ CampaignServingStatus: ['campaign_serving_status_pb', 'CampaignServingStatus'],
309
+ CampaignSharedSetStatus: ['campaign_shared_set_status_pb', 'CampaignSharedSetStatus'],
398
310
  CampaignStatus: ['campaign_status_pb', 'CampaignStatus'],
399
- ChangeStatusOperation: ['change_status_operation_pb',
400
- 'ChangeStatusOperation'],
401
- ChangeStatusResourceType: ['change_status_resource_type_pb',
402
- 'ChangeStatusResourceType'],
311
+ ChangeStatusOperation: ['change_status_operation_pb', 'ChangeStatusOperation'],
312
+ ChangeStatusResourceType: ['change_status_resource_type_pb', 'ChangeStatusResourceType'],
403
313
  ContentLabelType: ['content_label_type_pb', 'ContentLabelType'],
404
- ConversionActionCategory: ['conversion_action_category_pb',
405
- 'ConversionActionCategory'],
406
- ConversionActionCountingType: ['conversion_action_counting_type_pb',
407
- 'ConversionActionCountingType'],
408
- ConversionActionStatus: ['conversion_action_status_pb',
409
- 'ConversionActionStatus'],
410
- ConversionActionType: ['conversion_action_type_pb',
411
- 'ConversionActionType'],
412
- CriterionCategoryChannelAvailabilityMode: [
413
- 'criterion_category_channel_availability_mode_pb',
414
- 'CriterionCategoryChannelAvailabilityMode'],
415
- CriterionCategoryLocaleAvailabilityMode: [
416
- 'criterion_category_locale_availability_mode_pb',
417
- 'CriterionCategoryLocaleAvailabilityMode'],
418
- CustomPlaceholderField: ['custom_placeholder_field_pb',
419
- 'CustomPlaceholderField'],
420
- CustomerMatchUploadKeyType: ['customer_match_upload_key_type_pb',
421
- 'CustomerMatchUploadKeyType'],
422
- DataDrivenModelStatus: ['data_driven_model_status_pb',
423
- 'DataDrivenModelStatus'],
314
+ ConversionActionCategory: ['conversion_action_category_pb', 'ConversionActionCategory'],
315
+ ConversionActionCountingType: ['conversion_action_counting_type_pb', 'ConversionActionCountingType'],
316
+ ConversionActionStatus: ['conversion_action_status_pb', 'ConversionActionStatus'],
317
+ ConversionActionType: ['conversion_action_type_pb', 'ConversionActionType'],
318
+ ConversionAttributionEventType: ['conversion_attribution_event_type_pb', 'ConversionAttributionEventType'],
319
+ CriterionCategoryChannelAvailabilityMode: ['criterion_category_channel_availability_mode_pb', 'CriterionCategoryChannelAvailabilityMode'],
320
+ CriterionCategoryLocaleAvailabilityMode: ['criterion_category_locale_availability_mode_pb', 'CriterionCategoryLocaleAvailabilityMode'],
321
+ CustomPlaceholderField: ['custom_placeholder_field_pb', 'CustomPlaceholderField'],
322
+ CustomerMatchUploadKeyType: ['customer_match_upload_key_type_pb', 'CustomerMatchUploadKeyType'],
323
+ DataDrivenModelStatus: ['data_driven_model_status_pb', 'DataDrivenModelStatus'],
424
324
  DayOfWeek: ['day_of_week_pb', 'DayOfWeek'],
425
325
  Device: ['device_pb', 'Device'],
426
- DisplayAdFormatSetting: ['display_ad_format_setting_pb',
427
- 'DisplayAdFormatSetting'],
428
- EducationPlaceholderField: ['education_placeholder_field_pb',
429
- 'EducationPlaceholderField'],
326
+ DisplayAdFormatSetting: ['display_ad_format_setting_pb', 'DisplayAdFormatSetting'],
327
+ EducationPlaceholderField: ['education_placeholder_field_pb', 'EducationPlaceholderField'],
430
328
  FeedAttributeType: ['feed_attribute_type_pb', 'FeedAttributeType'],
329
+ FeedItemQualityApprovalStatus: ['feed_item_quality_approval_status_pb', 'FeedItemQualityApprovalStatus'],
330
+ FeedItemQualityDisapprovalReason: ['feed_item_quality_disapproval_reason_pb', 'FeedItemQualityDisapprovalReason'],
431
331
  FeedItemStatus: ['feed_item_status_pb', 'FeedItemStatus'],
332
+ FeedItemValidationStatus: ['feed_item_validation_status_pb', 'FeedItemValidationStatus'],
432
333
  FeedLinkStatus: ['feed_link_status_pb', 'FeedLinkStatus'],
433
- FeedMappingCriterionType: ['feed_mapping_criterion_type_pb',
434
- 'FeedMappingCriterionType'],
334
+ FeedMappingCriterionType: ['feed_mapping_criterion_type_pb', 'FeedMappingCriterionType'],
435
335
  FeedMappingStatus: ['feed_mapping_status_pb', 'FeedMappingStatus'],
436
336
  FeedOrigin: ['feed_origin_pb', 'FeedOrigin'],
437
337
  FeedStatus: ['feed_status_pb', 'FeedStatus'],
438
- FlightPlaceholderField: ['flight_placeholder_field_pb',
439
- 'FlightPlaceholderField'],
440
- FrequencyCapEventType: ['frequency_cap_event_type_pb',
441
- 'FrequencyCapEventType'],
338
+ FlightPlaceholderField: ['flight_placeholder_field_pb', 'FlightPlaceholderField'],
339
+ FrequencyCapEventType: ['frequency_cap_event_type_pb', 'FrequencyCapEventType'],
442
340
  FrequencyCapLevel: ['frequency_cap_level_pb', 'FrequencyCapLevel'],
443
- FrequencyCapTimeUnit: ['frequency_cap_time_unit_pb',
444
- 'FrequencyCapTimeUnit'],
341
+ FrequencyCapTimeUnit: ['frequency_cap_time_unit_pb', 'FrequencyCapTimeUnit'],
445
342
  GenderType: ['gender_type_pb', 'GenderType'],
446
- GeoTargetingRestriction: ['geo_targeting_restriction_pb',
447
- 'GeoTargetingRestriction'],
448
- GeoTargetConstantStatus: ['geo_target_constant_status_pb',
449
- 'GeoTargetConstantStatus'],
450
- GoogleAdsFieldCategory: ['google_ads_field_category_pb',
451
- 'GoogleAdsFieldCategory'],
452
- GoogleAdsFieldDataType: ['google_ads_field_data_type_pb',
453
- 'GoogleAdsFieldDataType'],
454
- HotelDateSelectionType: ['hotel_date_selection_type_pb',
455
- 'HotelDateSelectionType'],
456
- HotelPlaceholderField: ['hotel_placeholder_field_pb',
457
- 'HotelPlaceholderField'],
343
+ GeoTargetingRestriction: ['geo_targeting_restriction_pb', 'GeoTargetingRestriction'],
344
+ GeoTargetConstantStatus: ['geo_target_constant_status_pb', 'GeoTargetConstantStatus'],
345
+ GoogleAdsFieldCategory: ['google_ads_field_category_pb', 'GoogleAdsFieldCategory'],
346
+ GoogleAdsFieldDataType: ['google_ads_field_data_type_pb', 'GoogleAdsFieldDataType'],
347
+ HotelDateSelectionType: ['hotel_date_selection_type_pb', 'HotelDateSelectionType'],
348
+ HotelPlaceholderField: ['hotel_placeholder_field_pb', 'HotelPlaceholderField'],
458
349
  IncomeRangeType: ['income_range_type_pb', 'IncomeRangeType'],
350
+ InteractionEventType: ['interaction_event_type_pb', 'InteractionEventType'],
459
351
  InteractionType: ['interaction_type_pb', 'InteractionType'],
460
- JobPlaceholderField: ['job_placeholder_field_pb',
461
- 'JobPlaceholderField'],
352
+ JobPlaceholderField: ['job_placeholder_field_pb', 'JobPlaceholderField'],
462
353
  KeywordMatchType: ['keyword_match_type_pb', 'KeywordMatchType'],
463
- KeywordPlanCompetitionLevel: ['keyword_plan_competition_level_pb',
464
- 'KeywordPlanCompetitionLevel'],
465
- KeywordPlanForecastInterval: ['keyword_plan_forecast_interval_pb',
466
- 'KeywordPlanForecastInterval'],
354
+ KeywordPlanCompetitionLevel: ['keyword_plan_competition_level_pb', 'KeywordPlanCompetitionLevel'],
355
+ KeywordPlanForecastInterval: ['keyword_plan_forecast_interval_pb', 'KeywordPlanForecastInterval'],
467
356
  KeywordPlanNetwork: ['keyword_plan_network_pb', 'KeywordPlanNetwork'],
468
- ListingCustomAttributeIndex: ['listing_custom_attribute_index_pb',
469
- 'ListingCustomAttributeIndex'],
357
+ ListingCustomAttributeIndex: ['listing_custom_attribute_index_pb', 'ListingCustomAttributeIndex'],
470
358
  ListingGroupType: ['listing_group_type_pb', 'ListingGroupType'],
471
- LocalPlaceholderField: ['local_placeholder_field_pb',
472
- 'LocalPlaceholderField'],
359
+ LocalPlaceholderField: ['local_placeholder_field_pb', 'LocalPlaceholderField'],
473
360
  ManagerLinkStatus: ['manager_link_status_pb', 'ManagerLinkStatus'],
474
- MessagePlaceholderField: ['message_placeholder_field_pb',
475
- 'MessagePlaceholderField'],
476
- MinuteOfHour: ['minute_of_hour_pb', 'MinuteOfHour'],
477
- MonthOfYear: ['month_of_year_pb', 'MonthOfYear'],
478
361
  MediaType: ['media_type_pb', 'MediaType'],
362
+ MessagePlaceholderField: ['message_placeholder_field_pb', 'MessagePlaceholderField'],
479
363
  MimeType: ['mime_type_pb', 'MimeType'],
480
- PageOnePromotedStrategyGoal: ['page_one_promoted_strategy_goal_pb',
481
- 'PageOnePromotedStrategyGoal'],
364
+ MinuteOfHour: ['minute_of_hour_pb', 'MinuteOfHour'],
365
+ MobileDeviceType: ['mobile_device_type_pb', 'MobileDeviceType'],
366
+ MonthOfYear: ['month_of_year_pb', 'MonthOfYear'],
367
+ OperatingSystemVersionOperatorType: ['operating_system_version_operator_type_pb', 'OperatingSystemVersionOperatorType'],
368
+ PageOnePromotedStrategyGoal: ['page_one_promoted_strategy_goal_pb', 'PageOnePromotedStrategyGoal'],
482
369
  ParentalStatusType: ['parental_status_type_pb', 'ParentalStatusType'],
483
370
  PlaceholderType: ['placeholder_type_pb', 'PlaceholderType'],
484
- PolicyApprovalStatus: ['policy_approval_status_pb',
485
- 'PolicyApprovalStatus'],
486
- PolicyReviewStatus: ['policy_review_status_pb',
487
- 'PolicyReviewStatus'],
488
- PolicyTopicEntryType: ['policy_topic_entry_type_pb',
489
- 'PolicyTopicEntryType'],
490
- PolicyTopicEvidenceDestinationMismatchUrlType: [
491
- 'policy_topic_evidence_destination_mismatch_url_type_pb',
492
- 'PolicyTopicEvidenceDestinationMismatchUrlType'],
493
- PreferredContentType: ['preferred_content_type_pb',
494
- 'PreferredContentType'],
495
- PricePlaceholderField: ['price_placeholder_field_pb',
496
- 'PricePlaceholderField'],
371
+ PolicyApprovalStatus: ['policy_approval_status_pb', 'PolicyApprovalStatus'],
372
+ PolicyReviewStatus: ['policy_review_status_pb', 'PolicyReviewStatus'],
373
+ PolicyTopicEntryType: ['policy_topic_entry_type_pb', 'PolicyTopicEntryType'],
374
+ PolicyTopicEvidenceDestinationMismatchUrlType: ['policy_topic_evidence_destination_mismatch_url_type_pb', 'PolicyTopicEvidenceDestinationMismatchUrlType'],
375
+ PreferredContentType: ['preferred_content_type_pb', 'PreferredContentType'],
376
+ PricePlaceholderField: ['price_placeholder_field_pb', 'PricePlaceholderField'],
497
377
  ProductChannel: ['product_channel_pb', 'ProductChannel'],
498
- ProductChannelExclusivity: ['product_channel_exclusivity_pb',
499
- 'ProductChannelExclusivity'],
378
+ ProductChannelExclusivity: ['product_channel_exclusivity_pb', 'ProductChannelExclusivity'],
500
379
  ProductCondition: ['product_condition_pb', 'ProductCondition'],
501
380
  ProductTypeLevel: ['product_type_level_pb', 'ProductTypeLevel'],
502
- PromotionPlaceholderField: ['promotion_placeholder_field_pb',
503
- 'PromotionPlaceholderField'],
504
- ProximityRadiusUnits: ['proximity_radius_units_pb',
505
- 'ProximityRadiusUnits'],
381
+ PromotionPlaceholderField: ['promotion_placeholder_field_pb', 'PromotionPlaceholderField'],
382
+ ProximityRadiusUnits: ['proximity_radius_units_pb', 'ProximityRadiusUnits'],
506
383
  QualityScoreBucket: ['quality_score_bucket_pb', 'QualityScoreBucket'],
384
+ RealEstatePlaceholderField: ['real_estate_placeholder_field_pb', 'RealEstatePlaceholderField'],
507
385
  RecommendationType: ['recommendation_type_pb', 'RecommendationType'],
508
- RealEstatePlaceholderField: ['real_estate_placeholder_field_pb',
509
- 'RealEstatePlaceholderField'],
510
- SearchTermMatchType: ['search_term_match_type_pb',
511
- 'SearchTermMatchType'],
512
- SearchTermTargetingStatus: ['search_term_targeting_status_pb',
513
- 'SearchTermTargetingStatus'],
386
+ SearchTermMatchType: ['search_term_match_type_pb', 'SearchTermMatchType'],
387
+ SearchTermTargetingStatus: ['search_term_targeting_status_pb', 'SearchTermTargetingStatus'],
514
388
  SharedSetStatus: ['shared_set_status_pb', 'SharedSetStatus'],
515
389
  SharedSetType: ['shared_set_type_pb', 'SharedSetType'],
516
- SitelinkPlaceholderField: ['sitelink_placeholder_field_pb',
517
- 'SitelinkPlaceholderField'],
390
+ SitelinkPlaceholderField: ['sitelink_placeholder_field_pb', 'SitelinkPlaceholderField'],
518
391
  Slot: ['slot_pb', 'Slot'],
519
- SpendingLimitType: ['spending_limit_type_pb',
520
- 'SpendingLimitType'],
521
- StructuredSnippetPlaceholderField: [
522
- 'structured_snippet_placeholder_field_pb',
523
- 'StructuredSnippetPlaceholderField'],
392
+ SpendingLimitType: ['spending_limit_type_pb', 'SpendingLimitType'],
393
+ StructuredSnippetPlaceholderField: [ 'structured_snippet_placeholder_field_pb', 'StructuredSnippetPlaceholderField'],
394
+ TargetCpaOptInRecommendationGoal: [ 'target_cpa_opt_in_recommendation_goal_pb', 'TargetCpaOptInRecommendationGoal'],
524
395
  TargetingDimension: ['targeting_dimension_pb', 'TargetingDimension'],
525
- TargetCpaOptInRecommendationGoal: [
526
- 'target_cpa_opt_in_recommendation_goal_pb',
527
- 'TargetCpaOptInRecommendationGoal'],
528
396
  TimeType: ['time_type_pb', 'TimeType'],
529
397
  TrackingCodePageFormat: ['tracking_code_page_format_pb', 'TrackingCodePageFormat'],
530
398
  TrackingCodeType: ['tracking_code_type_pb', 'TrackingCodeType'],
531
- TravelPlaceholderField: ['travel_placeholder_field_pb',
532
- 'TravelPlaceholderField'],
533
- UserInterestTaxonomyType: ['user_interest_taxonomy_type_pb',
534
- 'UserInterestTaxonomyType'],
535
- UserListAccessStatus: ['user_list_access_status_pb',
536
- 'UserListAccessStatus'],
537
- UserListClosingReason: ['user_list_closing_reason_pb',
538
- 'UserListClosingReason'],
539
- UserListCrmDataSourceType: ['user_list_crm_data_source_type_pb',
540
- 'UserListCrmDataSourceType'],
541
- UserListMembershipStatus: ['user_list_membership_status_pb',
542
- 'UserListMembershipStatus'],
399
+ TravelPlaceholderField: ['travel_placeholder_field_pb', 'TravelPlaceholderField'],
400
+ UserInterestTaxonomyType: ['user_interest_taxonomy_type_pb', 'UserInterestTaxonomyType'],
401
+ UserListAccessStatus: ['user_list_access_status_pb', 'UserListAccessStatus'],
402
+ UserListClosingReason: ['user_list_closing_reason_pb', 'UserListClosingReason'],
403
+ UserListCombinedRuleOperator: ['user_list_combined_rule_operator_pb', 'UserListCombinedRuleOperator'],
404
+ UserListCrmDataSourceType: ['user_list_crm_data_source_type_pb', 'UserListCrmDataSourceType'],
405
+ UserListDateRuleItemOperator: ['user_list_date_rule_item_operator_pb', 'UserListDateRuleItemOperator'],
406
+ UserListLogicalRuleOperator: ['user_list_logical_rule_operator_pb', 'UserListLogicalRuleOperator'],
407
+ UserListMembershipStatus: ['user_list_membership_status_pb', 'UserListMembershipStatus'],
408
+ UserListNumberRuleItemOperator: ['user_list_number_rule_item_operator_pb', 'UserListNumberRuleItemOperator'],
409
+ UserListPrepopulationStatus: ['user_list_prepopulation_status_pb', 'UserListPrepopulationStatus'],
410
+ UserListRuleType: ['user_list_rule_type_pb', 'UserListRuleType'],
543
411
  UserListSizeRange: ['user_list_size_range_pb', 'UserListSizeRange'],
544
- UserListType: ['user_list_type_pb', 'UserListType']
412
+ UserListStringRuleItemOperator: ['user_list_string_rule_item_operator_pb', 'UserListStringRuleItemOperator'],
413
+ UserListType: ['user_list_type_pb', 'UserListType'],
414
+ VanityPharmaDisplayUrlMode: ['vanity_pharma_display_url_mode_pb', 'VanityPharmaDisplayUrlMode'],
415
+ VanityPharmaText: ['vanity_pharma_text_pb', 'VanityPharmaText'],
416
+ WebpageConditionOperand: ['webpage_condition_operand_pb', 'WebpageConditionOperand'],
417
+ WebpageConditionOperator: ['webpage_condition_operator_pb', 'WebpageConditionOperator'],
545
418
  }.freeze
546
419
 
547
420
  SERVICES = {
548
- AccountBudgetProposal: ['account_budget_proposal_service_client',
549
- 'AccountBudgetProposalServiceClient'],
550
- AccountBudget: ['account_budget_service_client',
551
- 'AccountBudgetServiceClient'],
421
+ AccountBudgetProposal: ['account_budget_proposal_service_client', 'AccountBudgetProposalServiceClient'],
422
+ AccountBudget: ['account_budget_service_client', 'AccountBudgetServiceClient'],
552
423
  AdGroupAd: ['ad_group_ad_service_client', 'AdGroupAdServiceClient'],
553
- AdGroupAudienceView: ['ad_group_audience_view_service_client',
554
- 'AdGroupAudienceViewServiceClient'],
555
- AdGroupBidModifier: ['ad_group_bid_modifier_service_client',
556
- 'AdGroupBidModifierServiceClient'],
557
- AdGroupCriterion: ['ad_group_criterion_service_client',
558
- 'AdGroupCriterionServiceClient'],
559
- AdGroupFeed: ['ad_group_feed_service_client',
560
- 'AdGroupFeedServiceClient'],
424
+ AdGroupAudienceView: ['ad_group_audience_view_service_client', 'AdGroupAudienceViewServiceClient'],
425
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_client', 'AdGroupBidModifierServiceClient'],
426
+ AdGroupCriterion: ['ad_group_criterion_service_client', 'AdGroupCriterionServiceClient'],
427
+ AdGroupFeed: ['ad_group_feed_service_client', 'AdGroupFeedServiceClient'],
561
428
  AdGroup: ['ad_group_service_client', 'AdGroupServiceClient'],
562
- AgeRangeView: ['age_range_view_service_client',
563
- 'AgeRangeViewServiceClient'],
564
- BiddingStrategy: ['bidding_strategy_service_client',
565
- 'BiddingStrategyServiceClient'],
566
- BillingSetup: ['billing_setup_service_client',
567
- 'BillingSetupServiceClient'],
568
- CampaignAudienceView: ['campaign_audience_view_service_client',
569
- 'CampaignAudienceViewServiceClient'],
570
- CampaignBidModifier: ['campaign_bid_modifier_service_client',
571
- 'CampaignBidModifierServiceClient'],
572
- CampaignBudget: ['campaign_budget_service_client',
573
- 'CampaignBudgetServiceClient'],
574
- CampaignCriterion: ['campaign_criterion_service_client',
575
- 'CampaignCriterionServiceClient'],
576
- CampaignFeed: ['campaign_feed_service_client',
577
- 'CampaignFeedServiceClient'],
578
- CampaignGroup: ['campaign_group_service_client',
579
- 'CampaignGroupServiceClient'],
429
+ AdParameter: ['ad_parameter_service_client', 'AdParameterServiceClient'],
430
+ AdScheduleView: ['ad_schedule_view_service_client', 'AdScheduleViewServiceClient'],
431
+ AgeRangeView: ['age_range_view_service_client', 'AgeRangeViewServiceClient'],
432
+ BiddingStrategy: ['bidding_strategy_service_client', 'BiddingStrategyServiceClient'],
433
+ BillingSetup: ['billing_setup_service_client', 'BillingSetupServiceClient'],
434
+ CampaignAudienceView: ['campaign_audience_view_service_client', 'CampaignAudienceViewServiceClient'],
435
+ CampaignBidModifier: ['campaign_bid_modifier_service_client', 'CampaignBidModifierServiceClient'],
436
+ CampaignBudget: ['campaign_budget_service_client', 'CampaignBudgetServiceClient'],
437
+ CampaignCriterion: ['campaign_criterion_service_client', 'CampaignCriterionServiceClient'],
438
+ CampaignFeed: ['campaign_feed_service_client', 'CampaignFeedServiceClient'],
580
439
  Campaign: ['campaign_service_client', 'CampaignServiceClient'],
581
- CampaignSharedSet: ['campaign_shared_set_service_client',
582
- 'CampaignSharedSetServiceClient'],
583
- CarrierConstant: ['carrier_constant_service_client',
584
- 'CarrierConstantServiceClient'],
585
- ChangeStatus: ['change_status_service_client',
586
- 'ChangeStatusServiceClient'],
587
- ConversionAction: ['conversion_action_service_client',
588
- 'ConversionActionServiceClient'],
589
- CustomerClientLink: ['customer_client_link_service_client',
590
- 'CustomerClientLinkServiceClient'],
591
- CustomerClient: ['customer_client_service_client',
592
- 'CustomerClientServiceClient'],
593
- CustomerFeed: ['customer_feed_service_client',
594
- 'CustomerFeedServiceClient'],
595
- CustomerManagerLink: ['customer_manager_link_service_client',
596
- 'CustomerManagerLinkServiceClient'],
440
+ CampaignSharedSet: ['campaign_shared_set_service_client', 'CampaignSharedSetServiceClient'],
441
+ CarrierConstant: ['carrier_constant_service_client', 'CarrierConstantServiceClient'],
442
+ ChangeStatus: ['change_status_service_client', 'ChangeStatusServiceClient'],
443
+ ConversionAction: ['conversion_action_service_client', 'ConversionActionServiceClient'],
444
+ CustomerClientLink: ['customer_client_link_service_client', 'CustomerClientLinkServiceClient'],
445
+ CustomerClient: ['customer_client_service_client', 'CustomerClientServiceClient'],
446
+ CustomerFeed: ['customer_feed_service_client', 'CustomerFeedServiceClient'],
447
+ CustomerManagerLink: ['customer_manager_link_service_client', 'CustomerManagerLinkServiceClient'],
597
448
  Customer: ['customer_service_client', 'CustomerServiceClient'],
598
- DisplayKeywordView: ['display_keyword_view_service_client',
599
- 'DisplayKeywordViewServiceClient'],
449
+ DisplayKeywordView: ['display_keyword_view_service_client', 'DisplayKeywordViewServiceClient'],
600
450
  FeedItem: ['feed_item_service_client', 'FeedItemServiceClient'],
601
- FeedMapping: ['feed_mapping_service_client',
602
- 'FeedMappingServiceClient'],
451
+ FeedMapping: ['feed_mapping_service_client', 'FeedMappingServiceClient'],
603
452
  Feed: ['feed_service_client', 'FeedServiceClient'],
604
453
  GenderView: ['gender_view_service_client', 'GenderViewServiceClient'],
605
- GeoTargetConstant: ['geo_target_constant_service_client',
606
- 'GeoTargetConstantServiceClient'],
607
- GoogleAdsField: ['google_ads_field_service_client',
608
- 'GoogleAdsFieldServiceClient'],
454
+ GeoTargetConstant: ['geo_target_constant_service_client', 'GeoTargetConstantServiceClient'],
455
+ GoogleAdsField: ['google_ads_field_service_client', 'GoogleAdsFieldServiceClient'],
609
456
  GoogleAds: ['google_ads_service_client', 'GoogleAdsServiceClient'],
610
- HotelGroupView: ['hotel_group_view_service_client',
611
- 'HotelGroupViewServiceClient'],
612
- HotelPerformanceView: ['hotel_performance_view_service_client',
613
- 'HotelPerformanceViewServiceClient'],
614
- KeywordPlanAdGroup: ['keyword_plan_ad_group_service_client',
615
- 'KeywordPlanAdGroupServiceClient'],
616
- KeywordPlanCampaign: ['keyword_plan_campaign_service_client',
617
- 'KeywordPlanCampaignServiceClient'],
618
- KeywordPlanIdea: ['keyword_plan_idea_service_client',
619
- 'KeywordPlanIdeaServiceClient'],
620
- KeywordPlanKeyword: ['keyword_plan_keyword_service_client',
621
- 'KeywordPlanKeywordServiceClient'],
622
- KeywordPlanNegativeKeyword: [
623
- 'keyword_plan_negative_keyword_service_client',
624
- 'KeywordPlanNegativeKeywordServiceClient'],
625
- KeywordPlan: ['keyword_plan_service_client',
626
- 'KeywordPlanServiceClient'],
627
- KeywordView: ['keyword_view_service_client',
628
- 'KeywordViewServiceClient'],
629
- LanguageConstant: ['language_constant_service_client',
630
- 'LanguageConstantServiceClient'],
631
- ManagedPlacementView: ['managed_placement_view_service_client',
632
- 'ManagedPlacementViewServiceClient'],
457
+ HotelGroupView: ['hotel_group_view_service_client', 'HotelGroupViewServiceClient'],
458
+ HotelPerformanceView: ['hotel_performance_view_service_client', 'HotelPerformanceViewServiceClient'],
459
+ KeywordPlanAdGroup: ['keyword_plan_ad_group_service_client', 'KeywordPlanAdGroupServiceClient'],
460
+ KeywordPlanCampaign: ['keyword_plan_campaign_service_client', 'KeywordPlanCampaignServiceClient'],
461
+ KeywordPlanIdea: ['keyword_plan_idea_service_client', 'KeywordPlanIdeaServiceClient'],
462
+ KeywordPlanKeyword: ['keyword_plan_keyword_service_client', 'KeywordPlanKeywordServiceClient'],
463
+ KeywordPlanNegativeKeyword: ['keyword_plan_negative_keyword_service_client', 'KeywordPlanNegativeKeywordServiceClient'],
464
+ KeywordPlan: ['keyword_plan_service_client', 'KeywordPlanServiceClient'],
465
+ KeywordView: ['keyword_view_service_client', 'KeywordViewServiceClient'],
466
+ LanguageConstant: ['language_constant_service_client', 'LanguageConstantServiceClient'],
467
+ ManagedPlacementView: ['managed_placement_view_service_client', 'ManagedPlacementViewServiceClient'],
633
468
  MediaFile: ['media_file_service_client', 'MediaFileServiceClient'],
634
- PaymentsAccount: ['payments_account_service_client',
635
- 'PaymentsAccountServiceClient'],
636
- ParentalStatusView: ['parental_status_view_service_client',
637
- 'ParentalStatusViewServiceClient'],
638
- ProductGroupView: ['product_group_view_service_client',
639
- 'ProductGroupViewServiceClient'],
640
- Recommendation: ['recommendation_service_client',
641
- 'RecommendationServiceClient'],
642
- SearchTermView: ['search_term_view_service_client',
643
- 'SearchTermViewServiceClient'],
644
- SharedCriterion: ['shared_criterion_service_client',
645
- 'SharedCriterionServiceClient'],
469
+ MobileAppCategoryConstant: ['mobile_app_category_constant_service_client', 'MobileAppCategoryConstantServiceClient'],
470
+ MobileDeviceConstant: ['mobile_device_constant_service_client', 'MobileDeviceConstantServiceClient'],
471
+ OperatingSystemVersionConstant: ['operating_system_version_constant_service_client', 'OperatingSystemVersionConstantServiceClient'],
472
+ PaymentsAccount: ['payments_account_service_client', 'PaymentsAccountServiceClient'],
473
+ ParentalStatusView: ['parental_status_view_service_client', 'ParentalStatusViewServiceClient'],
474
+ ProductGroupView: ['product_group_view_service_client', 'ProductGroupViewServiceClient'],
475
+ Recommendation: ['recommendation_service_client', 'RecommendationServiceClient'],
476
+ RemarketingAction: ['remarketing_action_service_client', 'RemarketingActionServiceClient'],
477
+ SearchTermView: ['search_term_view_service_client', 'SearchTermViewServiceClient'],
478
+ SharedCriterion: ['shared_criterion_service_client', 'SharedCriterionServiceClient'],
646
479
  SharedSet: ['shared_set_service_client', 'SharedSetServiceClient'],
647
- TopicConstant: ['topic_constant_service_client',
648
- 'TopicConstantServiceClient'],
480
+ TopicConstant: ['topic_constant_service_client', 'TopicConstantServiceClient'],
649
481
  TopicView: ['topic_view_service_client', 'TopicViewServiceClient'],
650
- UserInterest: ['user_interest_service_client',
651
- 'UserInterestServiceClient'],
482
+ UserInterest: ['user_interest_service_client', 'UserInterestServiceClient'],
652
483
  UserList: ['user_list_service_client', 'UserListServiceClient'],
653
484
  Video: ['video_service_client', 'VideoServiceClient']
654
485
  }.freeze
655
486
 
656
487
  OPERATIONS = {
657
- AccountBudgetProposal: ['account_budget_proposal_service_pb',
658
- 'AccountBudgetProposalOperation'],
488
+ AccountBudgetProposal: ['account_budget_proposal_service_pb', 'AccountBudgetProposalOperation'],
659
489
  AdGroupAd: ['ad_group_ad_service_pb', 'AdGroupAdOperation'],
660
- AdGroupBidModifier: ['ad_group_bid_modifier_service_pb',
661
- 'AdGroupBidModifierOperation'],
662
- AdGroupCriterion: ['ad_group_criterion_service_pb',
663
- 'AdGroupCriterionOperation'],
490
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_pb', 'AdGroupBidModifierOperation'],
491
+ AdGroupCriterion: ['ad_group_criterion_service_pb', 'AdGroupCriterionOperation'],
664
492
  AdGroupFeed: ['ad_group_feed_service_pb', 'AdGroupFeedOperation'],
665
493
  AdGroup: ['ad_group_service_pb', 'AdGroupOperation'],
666
- ApplyRecommendation: ['recommendation_service_pb',
667
- 'ApplyRecommendationOperation'],
668
- BiddingStrategy: ['bidding_strategy_service_pb',
669
- 'BiddingStrategyOperation'],
494
+ AdParameter: ['ad_parameter_service_pb', 'AdParameterOperation'],
495
+ ApplyRecommendation: ['recommendation_service_pb', 'ApplyRecommendationOperation'],
496
+ BiddingStrategy: ['bidding_strategy_service_pb', 'BiddingStrategyOperation'],
670
497
  BillingSetup: ['billing_setup_service_pb', 'BillingSetupOperation'],
671
- CampaignBidModifier: ['campaign_bid_modifier_service_pb',
672
- 'CampaignBidModifierOperation'],
673
- CampaignBudget: ['campaign_budget_service_pb',
674
- 'CampaignBudgetOperation'],
675
- CampaignCriterion: ['campaign_criterion_service_pb',
676
- 'CampaignCriterionOperation'],
498
+ CampaignBidModifier: ['campaign_bid_modifier_service_pb', 'CampaignBidModifierOperation'],
499
+ CampaignBudget: ['campaign_budget_service_pb', 'CampaignBudgetOperation'],
500
+ CampaignCriterion: ['campaign_criterion_service_pb', 'CampaignCriterionOperation'],
677
501
  CampaignFeed: ['campaign_feed_service_pb', 'CampaignFeedOperation'],
678
- CampaignGroup: ['campaign_group_service_pb',
679
- 'CampaignGroupOperation'],
680
502
  Campaign: ['campaign_service_pb', 'CampaignOperation'],
681
- CampaignSharedSet: ['campaign_shared_set_service_pb',
682
- 'CampaignSharedSetOperation'],
503
+ CampaignSharedSet: ['campaign_shared_set_service_pb', 'CampaignSharedSetOperation'],
683
504
  CustomerFeed: ['customer_feed_service_pb', 'CustomerFeedOperation'],
684
505
  Customer: ['customer_service_pb', 'CustomerOperation'],
685
- ConversionAction: ['conversion_action_service_pb',
686
- 'ConversionActionOperation'],
506
+ ConversionAction: ['conversion_action_service_pb', 'ConversionActionOperation'],
507
+ DismissRecommendation: ['recommendation_service_pb', 'DismissRecommendationRequest::DismissRecommendationOperation'],
687
508
  FeedItem: ['feed_item_service_pb', 'FeedItemOperation'],
688
509
  FeedMapping: ['feed_mapping_service_pb', 'FeedMappingOperation'],
689
510
  Feed: ['feed_service_pb', 'FeedOperation'],
690
- KeywordPlanAdGroup: ['keyword_plan_ad_group_service_pb',
691
- 'KeywordPlanAdGroupOperation'],
692
- KeywordPlanCampaign: ['keyword_plan_campaign_service_pb',
693
- 'KeywordPlanCampaignOperation'],
694
- KeywordPlanKeyword: ['keyword_plan_keyword_service_pb',
695
- 'KeywordPlanKeywordOperation'],
696
- KeywordPlanNegativeKeyword: [
697
- 'keyword_plan_negative_keyword_service_pb',
698
- 'KeywordPlanNegativeKeywordOperation'],
511
+ KeywordPlanAdGroup: ['keyword_plan_ad_group_service_pb', 'KeywordPlanAdGroupOperation'],
512
+ KeywordPlanCampaign: ['keyword_plan_campaign_service_pb', 'KeywordPlanCampaignOperation'],
513
+ KeywordPlanKeyword: ['keyword_plan_keyword_service_pb','KeywordPlanKeywordOperation'],
514
+ KeywordPlanNegativeKeyword: ['keyword_plan_negative_keyword_service_pb', 'KeywordPlanNegativeKeywordOperation'],
699
515
  KeywordPlan: ['keyword_plan_service_pb', 'KeywordPlanOperation'],
700
516
  MediaFile: ['media_file_service_pb', 'MediaFileOperation'],
701
517
  Mutate: ['google_ads_service_pb', 'MutateOperation'],
702
- SharedCriterion: ['shared_criterion_service_pb',
703
- 'SharedCriterionOperation'],
518
+ RemarketingAction: ['remarketing_action_service_pb', 'RemarketingActionOperation'],
519
+ SharedCriterion: ['shared_criterion_service_pb', 'SharedCriterionOperation'],
704
520
  SharedSet: ['shared_set_service_pb', 'SharedSetOperation'],
705
521
  UserList: ['user_list_service_pb', 'UserListOperation']
706
522
  }.freeze