google-ads-googleads 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (759) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +5 -0
  3. data/lib/google/ads/google_ads/google_ads_client.rb +76 -17
  4. data/lib/google/ads/google_ads/logging_interceptor.rb +8 -2
  5. data/lib/google/ads/google_ads/utils/v0/path_lookup_util.rb +431 -0
  6. data/lib/google/ads/google_ads/utils/v0/proto_lookup_util.rb +617 -0
  7. data/lib/google/ads/google_ads/utils/v1/path_lookup_util.rb +638 -0
  8. data/lib/google/ads/google_ads/utils/v1/proto_lookup_util.rb +759 -0
  9. data/lib/google/ads/google_ads/v1/common/ad_asset_pb.rb +18 -0
  10. data/lib/google/ads/google_ads/v1/common/ad_type_infos_pb.rb +159 -0
  11. data/lib/google/ads/google_ads/v1/common/bidding_pb.rb +82 -0
  12. data/lib/google/ads/google_ads/v1/common/click_location_pb.rb +20 -0
  13. data/lib/google/ads/google_ads/v1/common/criteria_pb.rb +284 -0
  14. data/lib/google/ads/google_ads/v1/common/criterion_category_availability_pb.rb +34 -0
  15. data/lib/google/ads/google_ads/v1/common/custom_parameter_pb.rb +17 -0
  16. data/lib/google/ads/google_ads/v1/common/dates_pb.rb +17 -0
  17. data/lib/google/ads/google_ads/v1/common/explorer_auto_optimizer_setting_pb.rb +16 -0
  18. data/lib/google/ads/google_ads/v1/common/extensions_pb.rb +109 -0
  19. data/lib/google/ads/google_ads/v1/common/feed_common_pb.rb +17 -0
  20. data/lib/google/ads/google_ads/v1/common/frequency_cap_pb.rb +27 -0
  21. data/lib/google/ads/google_ads/v1/common/keyword_plan_common_pb.rb +18 -0
  22. data/lib/google/ads/google_ads/v1/common/matching_function_pb.rb +52 -0
  23. data/lib/google/ads/google_ads/v1/common/metrics_pb.rb +108 -0
  24. data/lib/google/ads/google_ads/v1/common/policy_pb.rb +78 -0
  25. data/lib/google/ads/google_ads/v1/common/real_time_bidding_setting_pb.rb +16 -0
  26. data/lib/google/ads/google_ads/v1/common/segments_pb.rb +102 -0
  27. data/lib/google/ads/google_ads/v1/common/tag_snippet_pb.rb +21 -0
  28. data/lib/google/ads/google_ads/v1/common/targeting_setting_pb.rb +22 -0
  29. data/lib/google/ads/google_ads/v1/common/text_label_pb.rb +17 -0
  30. data/lib/google/ads/google_ads/v1/common/url_collection_pb.rb +19 -0
  31. data/lib/google/ads/google_ads/v1/common/user_lists_pb.rb +114 -0
  32. data/lib/google/ads/google_ads/v1/common/value_pb.rb +21 -0
  33. data/lib/google/ads/google_ads/v1/enums/access_reason_pb.rb +24 -0
  34. data/lib/google/ads/google_ads/v1/enums/account_budget_proposal_status_pb.rb +24 -0
  35. data/lib/google/ads/google_ads/v1/enums/account_budget_proposal_type_pb.rb +23 -0
  36. data/lib/google/ads/google_ads/v1/enums/account_budget_status_pb.rb +22 -0
  37. data/lib/google/ads/google_ads/v1/enums/ad_customizer_placeholder_field_pb.rb +23 -0
  38. data/lib/google/ads/google_ads/v1/enums/ad_group_ad_rotation_mode_pb.rb +21 -0
  39. data/lib/google/ads/google_ads/v1/enums/ad_group_ad_status_pb.rb +22 -0
  40. data/lib/google/ads/google_ads/v1/enums/ad_group_criterion_status_pb.rb +22 -0
  41. data/lib/google/ads/google_ads/v1/enums/ad_group_status_pb.rb +22 -0
  42. data/lib/google/ads/google_ads/v1/enums/ad_group_type_pb.rb +29 -0
  43. data/lib/google/ads/google_ads/v1/enums/ad_network_type_pb.rb +25 -0
  44. data/lib/google/ads/google_ads/v1/enums/ad_serving_optimization_status_pb.rb +24 -0
  45. data/lib/google/ads/google_ads/v1/enums/ad_strength_pb.rb +25 -0
  46. data/lib/google/ads/google_ads/v1/enums/ad_type_pb.rb +31 -0
  47. data/lib/google/ads/google_ads/v1/enums/advertising_channel_sub_type_pb.rb +29 -0
  48. data/lib/google/ads/google_ads/v1/enums/advertising_channel_type_pb.rb +24 -0
  49. data/lib/google/ads/google_ads/v1/enums/affiliate_location_feed_relationship_type_pb.rb +20 -0
  50. data/lib/google/ads/google_ads/v1/enums/affiliate_location_placeholder_field_pb.rb +30 -0
  51. data/lib/google/ads/google_ads/v1/enums/age_range_type_pb.rb +26 -0
  52. data/lib/google/ads/google_ads/v1/enums/app_payment_model_type_pb.rb +20 -0
  53. data/lib/google/ads/google_ads/v1/enums/app_placeholder_field_pb.rb +27 -0
  54. data/lib/google/ads/google_ads/v1/enums/app_store_pb.rb +21 -0
  55. data/lib/google/ads/google_ads/v1/enums/attribution_model_pb.rb +26 -0
  56. data/lib/google/ads/google_ads/v1/enums/bid_modifier_source_pb.rb +21 -0
  57. data/lib/google/ads/google_ads/v1/enums/bidding_source_pb.rb +22 -0
  58. data/lib/google/ads/google_ads/v1/enums/bidding_strategy_status_pb.rb +21 -0
  59. data/lib/google/ads/google_ads/v1/enums/bidding_strategy_type_pb.rb +33 -0
  60. data/lib/google/ads/google_ads/v1/enums/billing_setup_status_pb.rb +23 -0
  61. data/lib/google/ads/google_ads/v1/enums/brand_safety_suitability_pb.rb +22 -0
  62. data/lib/google/ads/google_ads/v1/enums/budget_delivery_method_pb.rb +21 -0
  63. data/lib/google/ads/google_ads/v1/enums/budget_period_pb.rb +22 -0
  64. data/lib/google/ads/google_ads/v1/enums/budget_status_pb.rb +21 -0
  65. data/lib/google/ads/google_ads/v1/enums/call_conversion_reporting_state_pb.rb +22 -0
  66. data/lib/google/ads/google_ads/v1/enums/call_placeholder_field_pb.rb +24 -0
  67. data/lib/google/ads/google_ads/v1/enums/callout_placeholder_field_pb.rb +20 -0
  68. data/lib/google/ads/google_ads/v1/enums/campaign_serving_status_pb.rb +24 -0
  69. data/lib/google/ads/google_ads/v1/enums/campaign_shared_set_status_pb.rb +21 -0
  70. data/lib/google/ads/google_ads/v1/enums/campaign_status_pb.rb +22 -0
  71. data/lib/google/ads/google_ads/v1/enums/change_status_operation_pb.rb +22 -0
  72. data/lib/google/ads/google_ads/v1/enums/change_status_resource_type_pb.rb +29 -0
  73. data/lib/google/ads/google_ads/v1/enums/click_type_pb.rb +71 -0
  74. data/lib/google/ads/google_ads/v1/enums/content_label_type_pb.rb +34 -0
  75. data/lib/google/ads/google_ads/v1/enums/conversion_action_category_pb.rb +25 -0
  76. data/lib/google/ads/google_ads/v1/enums/conversion_action_counting_type_pb.rb +21 -0
  77. data/lib/google/ads/google_ads/v1/enums/conversion_action_status_pb.rb +22 -0
  78. data/lib/google/ads/google_ads/v1/enums/conversion_action_type_pb.rb +27 -0
  79. data/lib/google/ads/google_ads/v1/enums/conversion_attribution_event_type_pb.rb +21 -0
  80. data/lib/google/ads/google_ads/v1/enums/conversion_lag_bucket_pb.rb +38 -0
  81. data/lib/google/ads/google_ads/v1/enums/conversion_or_adjustment_lag_bucket_pb.rb +60 -0
  82. data/lib/google/ads/google_ads/v1/enums/criterion_category_channel_availability_mode_pb.rb +22 -0
  83. data/lib/google/ads/google_ads/v1/enums/criterion_category_locale_availability_mode_pb.rb +23 -0
  84. data/lib/google/ads/google_ads/v1/enums/criterion_system_serving_status_pb.rb +21 -0
  85. data/lib/google/ads/google_ads/v1/enums/criterion_type_pb.rb +48 -0
  86. data/lib/google/ads/google_ads/v1/enums/custom_interest_member_type_pb.rb +21 -0
  87. data/lib/google/ads/google_ads/v1/enums/custom_interest_status_pb.rb +21 -0
  88. data/lib/google/ads/google_ads/v1/enums/custom_interest_type_pb.rb +21 -0
  89. data/lib/google/ads/google_ads/v1/enums/custom_placeholder_field_pb.rb +39 -0
  90. data/lib/google/ads/google_ads/v1/enums/customer_match_upload_key_type_pb.rb +22 -0
  91. data/lib/google/ads/google_ads/v1/enums/data_driven_model_status_pb.rb +23 -0
  92. data/lib/google/ads/google_ads/v1/enums/day_of_week_pb.rb +26 -0
  93. data/lib/google/ads/google_ads/v1/enums/device_pb.rb +23 -0
  94. data/lib/google/ads/google_ads/v1/enums/display_ad_format_setting_pb.rb +22 -0
  95. data/lib/google/ads/google_ads/v1/enums/dsa_page_feed_criterion_field_pb.rb +21 -0
  96. data/lib/google/ads/google_ads/v1/enums/education_placeholder_field_pb.rb +36 -0
  97. data/lib/google/ads/google_ads/v1/enums/extension_setting_device_pb.rb +21 -0
  98. data/lib/google/ads/google_ads/v1/enums/extension_type_pb.rb +29 -0
  99. data/lib/google/ads/google_ads/v1/enums/external_conversion_source_pb.rb +40 -0
  100. data/lib/google/ads/google_ads/v1/enums/feed_attribute_type_pb.rb +32 -0
  101. data/lib/google/ads/google_ads/v1/enums/feed_item_quality_approval_status_pb.rb +21 -0
  102. data/lib/google/ads/google_ads/v1/enums/feed_item_quality_disapproval_reason_pb.rb +37 -0
  103. data/lib/google/ads/google_ads/v1/enums/feed_item_status_pb.rb +21 -0
  104. data/lib/google/ads/google_ads/v1/enums/feed_item_target_device_pb.rb +20 -0
  105. data/lib/google/ads/google_ads/v1/enums/feed_item_target_type_pb.rb +22 -0
  106. data/lib/google/ads/google_ads/v1/enums/feed_item_validation_status_pb.rb +22 -0
  107. data/lib/google/ads/google_ads/v1/enums/feed_link_status_pb.rb +21 -0
  108. data/lib/google/ads/google_ads/v1/enums/feed_mapping_criterion_type_pb.rb +21 -0
  109. data/lib/google/ads/google_ads/v1/enums/feed_mapping_status_pb.rb +21 -0
  110. data/lib/google/ads/google_ads/v1/enums/feed_origin_pb.rb +21 -0
  111. data/lib/google/ads/google_ads/v1/enums/feed_status_pb.rb +21 -0
  112. data/lib/google/ads/google_ads/v1/enums/flight_placeholder_field_pb.rb +36 -0
  113. data/lib/google/ads/google_ads/v1/enums/frequency_cap_event_type_pb.rb +21 -0
  114. data/lib/google/ads/google_ads/v1/enums/frequency_cap_level_pb.rb +22 -0
  115. data/lib/google/ads/google_ads/v1/enums/frequency_cap_time_unit_pb.rb +22 -0
  116. data/lib/google/ads/google_ads/v1/enums/gender_type_pb.rb +22 -0
  117. data/lib/google/ads/google_ads/v1/enums/geo_target_constant_status_pb.rb +21 -0
  118. data/lib/google/ads/google_ads/v1/enums/geo_targeting_restriction_pb.rb +20 -0
  119. data/lib/google/ads/google_ads/v1/enums/geo_targeting_type_pb.rb +21 -0
  120. data/lib/google/ads/google_ads/v1/enums/google_ads_field_category_pb.rb +23 -0
  121. data/lib/google/ads/google_ads/v1/enums/google_ads_field_data_type_pb.rb +29 -0
  122. data/lib/google/ads/google_ads/v1/enums/hotel_date_selection_type_pb.rb +21 -0
  123. data/lib/google/ads/google_ads/v1/enums/hotel_placeholder_field_pb.rb +39 -0
  124. data/lib/google/ads/google_ads/v1/enums/income_range_type_pb.rb +26 -0
  125. data/lib/google/ads/google_ads/v1/enums/interaction_event_type_pb.rb +23 -0
  126. data/lib/google/ads/google_ads/v1/enums/interaction_type_pb.rb +20 -0
  127. data/lib/google/ads/google_ads/v1/enums/job_placeholder_field_pb.rb +36 -0
  128. data/lib/google/ads/google_ads/v1/enums/keyword_match_type_pb.rb +22 -0
  129. data/lib/google/ads/google_ads/v1/enums/keyword_plan_competition_level_pb.rb +22 -0
  130. data/lib/google/ads/google_ads/v1/enums/keyword_plan_forecast_interval_pb.rb +22 -0
  131. data/lib/google/ads/google_ads/v1/enums/keyword_plan_network_pb.rb +21 -0
  132. data/lib/google/ads/google_ads/v1/enums/label_status_pb.rb +21 -0
  133. data/lib/google/ads/google_ads/v1/enums/listing_custom_attribute_index_pb.rb +24 -0
  134. data/lib/google/ads/google_ads/v1/enums/listing_group_type_pb.rb +21 -0
  135. data/lib/google/ads/google_ads/v1/enums/local_placeholder_field_pb.rb +38 -0
  136. data/lib/google/ads/google_ads/v1/enums/location_extension_targeting_criterion_field_pb.rb +25 -0
  137. data/lib/google/ads/google_ads/v1/enums/location_placeholder_field_pb.rb +27 -0
  138. data/lib/google/ads/google_ads/v1/enums/manager_link_status_pb.rb +24 -0
  139. data/lib/google/ads/google_ads/v1/enums/matching_function_context_type_pb.rb +21 -0
  140. data/lib/google/ads/google_ads/v1/enums/matching_function_operator_pb.rb +24 -0
  141. data/lib/google/ads/google_ads/v1/enums/media_type_pb.rb +25 -0
  142. data/lib/google/ads/google_ads/v1/enums/merchant_center_link_status_pb.rb +21 -0
  143. data/lib/google/ads/google_ads/v1/enums/message_placeholder_field_pb.rb +24 -0
  144. data/lib/google/ads/google_ads/v1/enums/mime_type_pb.rb +31 -0
  145. data/lib/google/ads/google_ads/v1/enums/minute_of_hour_pb.rb +23 -0
  146. data/lib/google/ads/google_ads/v1/enums/mobile_device_type_pb.rb +21 -0
  147. data/lib/google/ads/google_ads/v1/enums/month_of_year_pb.rb +31 -0
  148. data/lib/google/ads/google_ads/v1/enums/mutate_job_status_pb.rb +22 -0
  149. data/lib/google/ads/google_ads/v1/enums/negative_geo_target_type_pb.rb +21 -0
  150. data/lib/google/ads/google_ads/v1/enums/operating_system_version_operator_type_pb.rb +21 -0
  151. data/lib/google/ads/google_ads/v1/enums/page_one_promoted_strategy_goal_pb.rb +21 -0
  152. data/lib/google/ads/google_ads/v1/enums/parental_status_type_pb.rb +22 -0
  153. data/lib/google/ads/google_ads/v1/enums/placeholder_type_pb.rb +38 -0
  154. data/lib/google/ads/google_ads/v1/enums/placement_type_pb.rb +24 -0
  155. data/lib/google/ads/google_ads/v1/enums/policy_approval_status_pb.rb +23 -0
  156. data/lib/google/ads/google_ads/v1/enums/policy_review_status_pb.rb +22 -0
  157. data/lib/google/ads/google_ads/v1/enums/policy_topic_entry_type_pb.rb +24 -0
  158. data/lib/google/ads/google_ads/v1/enums/policy_topic_evidence_destination_mismatch_url_type_pb.rb +24 -0
  159. data/lib/google/ads/google_ads/v1/enums/positive_geo_target_type_pb.rb +22 -0
  160. data/lib/google/ads/google_ads/v1/enums/preferred_content_type_pb.rb +20 -0
  161. data/lib/google/ads/google_ads/v1/enums/price_extension_price_qualifier_pb.rb +22 -0
  162. data/lib/google/ads/google_ads/v1/enums/price_extension_price_unit_pb.rb +25 -0
  163. data/lib/google/ads/google_ads/v1/enums/price_extension_type_pb.rb +28 -0
  164. data/lib/google/ads/google_ads/v1/enums/price_placeholder_field_pb.rb +72 -0
  165. data/lib/google/ads/google_ads/v1/enums/product_bidding_category_level_pb.rb +24 -0
  166. data/lib/google/ads/google_ads/v1/enums/product_bidding_category_status_pb.rb +21 -0
  167. data/lib/google/ads/google_ads/v1/enums/product_channel_exclusivity_pb.rb +21 -0
  168. data/lib/google/ads/google_ads/v1/enums/product_channel_pb.rb +21 -0
  169. data/lib/google/ads/google_ads/v1/enums/product_condition_pb.rb +22 -0
  170. data/lib/google/ads/google_ads/v1/enums/product_type_level_pb.rb +24 -0
  171. data/lib/google/ads/google_ads/v1/enums/promotion_extension_discount_modifier_pb.rb +20 -0
  172. data/lib/google/ads/google_ads/v1/enums/promotion_extension_occasion_pb.rb +56 -0
  173. data/lib/google/ads/google_ads/v1/enums/promotion_placeholder_field_pb.rb +33 -0
  174. data/lib/google/ads/google_ads/v1/enums/proximity_radius_units_pb.rb +21 -0
  175. data/lib/google/ads/google_ads/v1/enums/quality_score_bucket_pb.rb +22 -0
  176. data/lib/google/ads/google_ads/v1/enums/real_estate_placeholder_field_pb.rb +37 -0
  177. data/lib/google/ads/google_ads/v1/enums/recommendation_type_pb.rb +28 -0
  178. data/lib/google/ads/google_ads/v1/enums/search_term_match_type_pb.rb +24 -0
  179. data/lib/google/ads/google_ads/v1/enums/search_term_targeting_status_pb.rb +23 -0
  180. data/lib/google/ads/google_ads/v1/enums/served_asset_field_type_pb.rb +24 -0
  181. data/lib/google/ads/google_ads/v1/enums/shared_set_status_pb.rb +21 -0
  182. data/lib/google/ads/google_ads/v1/enums/shared_set_type_pb.rb +21 -0
  183. data/lib/google/ads/google_ads/v1/enums/sitelink_placeholder_field_pb.rb +26 -0
  184. data/lib/google/ads/google_ads/v1/enums/slot_pb.rb +26 -0
  185. data/lib/google/ads/google_ads/v1/enums/spending_limit_type_pb.rb +20 -0
  186. data/lib/google/ads/google_ads/v1/enums/structured_snippet_placeholder_field_pb.rb +21 -0
  187. data/lib/google/ads/google_ads/v1/enums/system_managed_entity_source_pb.rb +20 -0
  188. data/lib/google/ads/google_ads/v1/enums/target_cpa_opt_in_recommendation_goal_pb.rb +23 -0
  189. data/lib/google/ads/google_ads/v1/enums/target_impression_share_location_pb.rb +22 -0
  190. data/lib/google/ads/google_ads/v1/enums/targeting_dimension_pb.rb +27 -0
  191. data/lib/google/ads/google_ads/v1/enums/time_type_pb.rb +21 -0
  192. data/lib/google/ads/google_ads/v1/enums/tracking_code_page_format_pb.rb +21 -0
  193. data/lib/google/ads/google_ads/v1/enums/tracking_code_type_pb.rb +22 -0
  194. data/lib/google/ads/google_ads/v1/enums/travel_placeholder_field_pb.rb +39 -0
  195. data/lib/google/ads/google_ads/v1/enums/user_interest_taxonomy_type_pb.rb +24 -0
  196. data/lib/google/ads/google_ads/v1/enums/user_list_access_status_pb.rb +21 -0
  197. data/lib/google/ads/google_ads/v1/enums/user_list_closing_reason_pb.rb +20 -0
  198. data/lib/google/ads/google_ads/v1/enums/user_list_combined_rule_operator_pb.rb +21 -0
  199. data/lib/google/ads/google_ads/v1/enums/user_list_crm_data_source_type_pb.rb +22 -0
  200. data/lib/google/ads/google_ads/v1/enums/user_list_date_rule_item_operator_pb.rb +23 -0
  201. data/lib/google/ads/google_ads/v1/enums/user_list_logical_rule_operator_pb.rb +22 -0
  202. data/lib/google/ads/google_ads/v1/enums/user_list_membership_status_pb.rb +21 -0
  203. data/lib/google/ads/google_ads/v1/enums/user_list_number_rule_item_operator_pb.rb +25 -0
  204. data/lib/google/ads/google_ads/v1/enums/user_list_prepopulation_status_pb.rb +22 -0
  205. data/lib/google/ads/google_ads/v1/enums/user_list_rule_type_pb.rb +21 -0
  206. data/lib/google/ads/google_ads/v1/enums/user_list_size_range_pb.rb +35 -0
  207. data/lib/google/ads/google_ads/v1/enums/user_list_string_rule_item_operator_pb.rb +27 -0
  208. data/lib/google/ads/google_ads/v1/enums/user_list_type_pb.rb +25 -0
  209. data/lib/google/ads/google_ads/v1/enums/vanity_pharma_display_url_mode_pb.rb +21 -0
  210. data/lib/google/ads/google_ads/v1/enums/vanity_pharma_text_pb.rb +31 -0
  211. data/lib/google/ads/google_ads/v1/enums/webpage_condition_operand_pb.rb +24 -0
  212. data/lib/google/ads/google_ads/v1/enums/webpage_condition_operator_pb.rb +21 -0
  213. data/lib/google/ads/google_ads/v1/errors/account_budget_proposal_error_pb.rb +41 -0
  214. data/lib/google/ads/google_ads/v1/errors/ad_customizer_error_pb.rb +24 -0
  215. data/lib/google/ads/google_ads/v1/errors/ad_error_pb.rb +145 -0
  216. data/lib/google/ads/google_ads/v1/errors/ad_group_ad_error_pb.rb +27 -0
  217. data/lib/google/ads/google_ads/v1/errors/ad_group_bid_modifier_error_pb.rb +21 -0
  218. data/lib/google/ads/google_ads/v1/errors/ad_group_criterion_error_pb.rb +56 -0
  219. data/lib/google/ads/google_ads/v1/errors/ad_group_error_pb.rb +31 -0
  220. data/lib/google/ads/google_ads/v1/errors/ad_group_feed_error_pb.rb +26 -0
  221. data/lib/google/ads/google_ads/v1/errors/ad_parameter_error_pb.rb +21 -0
  222. data/lib/google/ads/google_ads/v1/errors/ad_sharing_error_pb.rb +22 -0
  223. data/lib/google/ads/google_ads/v1/errors/adx_error_pb.rb +20 -0
  224. data/lib/google/ads/google_ads/v1/errors/authentication_error_pb.rb +37 -0
  225. data/lib/google/ads/google_ads/v1/errors/authorization_error_pb.rb +27 -0
  226. data/lib/google/ads/google_ads/v1/errors/bidding_error_pb.rb +40 -0
  227. data/lib/google/ads/google_ads/v1/errors/bidding_strategy_error_pb.rb +23 -0
  228. data/lib/google/ads/google_ads/v1/errors/billing_setup_error_pb.rb +34 -0
  229. data/lib/google/ads/google_ads/v1/errors/campaign_budget_error_pb.rb +34 -0
  230. data/lib/google/ads/google_ads/v1/errors/campaign_criterion_error_pb.rb +30 -0
  231. data/lib/google/ads/google_ads/v1/errors/campaign_error_pb.rb +55 -0
  232. data/lib/google/ads/google_ads/v1/errors/campaign_feed_error_pb.rb +25 -0
  233. data/lib/google/ads/google_ads/v1/errors/campaign_shared_set_error_pb.rb +20 -0
  234. data/lib/google/ads/google_ads/v1/errors/change_status_error_pb.rb +20 -0
  235. data/lib/google/ads/google_ads/v1/errors/collection_size_error_pb.rb +21 -0
  236. data/lib/google/ads/google_ads/v1/errors/context_error_pb.rb +21 -0
  237. data/lib/google/ads/google_ads/v1/errors/conversion_action_error_pb.rb +27 -0
  238. data/lib/google/ads/google_ads/v1/errors/conversion_upload_error_pb.rb +34 -0
  239. data/lib/google/ads/google_ads/v1/errors/country_code_error_pb.rb +20 -0
  240. data/lib/google/ads/google_ads/v1/errors/criterion_error_pb.rb +113 -0
  241. data/lib/google/ads/google_ads/v1/errors/custom_interest_error_pb.rb +26 -0
  242. data/lib/google/ads/google_ads/v1/errors/customer_client_link_error_pb.rb +26 -0
  243. data/lib/google/ads/google_ads/v1/errors/customer_error_pb.rb +21 -0
  244. data/lib/google/ads/google_ads/v1/errors/customer_feed_error_pb.rb +26 -0
  245. data/lib/google/ads/google_ads/v1/errors/customer_manager_link_error_pb.rb +27 -0
  246. data/lib/google/ads/google_ads/v1/errors/database_error_pb.rb +20 -0
  247. data/lib/google/ads/google_ads/v1/errors/date_error_pb.rb +29 -0
  248. data/lib/google/ads/google_ads/v1/errors/date_range_error_pb.rb +24 -0
  249. data/lib/google/ads/google_ads/v1/errors/distinct_error_pb.rb +21 -0
  250. data/lib/google/ads/google_ads/v1/errors/enum_error_pb.rb +20 -0
  251. data/lib/google/ads/google_ads/v1/errors/errors_pb.rb +243 -0
  252. data/lib/google/ads/google_ads/v1/errors/extension_feed_item_error_pb.rb +62 -0
  253. data/lib/google/ads/google_ads/v1/errors/extension_setting_error_pb.rb +83 -0
  254. data/lib/google/ads/google_ads/v1/errors/feed_attribute_reference_error_pb.rb +22 -0
  255. data/lib/google/ads/google_ads/v1/errors/feed_error_pb.rb +38 -0
  256. data/lib/google/ads/google_ads/v1/errors/feed_item_error_pb.rb +28 -0
  257. data/lib/google/ads/google_ads/v1/errors/feed_item_target_error_pb.rb +25 -0
  258. data/lib/google/ads/google_ads/v1/errors/feed_item_validation_error_pb.rb +108 -0
  259. data/lib/google/ads/google_ads/v1/errors/feed_mapping_error_pb.rb +35 -0
  260. data/lib/google/ads/google_ads/v1/errors/field_error_pb.rb +26 -0
  261. data/lib/google/ads/google_ads/v1/errors/field_mask_error_pb.rb +23 -0
  262. data/lib/google/ads/google_ads/v1/errors/function_error_pb.rb +35 -0
  263. data/lib/google/ads/google_ads/v1/errors/function_parsing_error_pb.rb +30 -0
  264. data/lib/google/ads/google_ads/v1/errors/geo_target_constant_suggestion_error_pb.rb +23 -0
  265. data/lib/google/ads/google_ads/v1/errors/header_error_pb.rb +20 -0
  266. data/lib/google/ads/google_ads/v1/errors/id_error_pb.rb +20 -0
  267. data/lib/google/ads/google_ads/v1/errors/image_error_pb.rb +56 -0
  268. data/lib/google/ads/google_ads/v1/errors/internal_error_pb.rb +22 -0
  269. data/lib/google/ads/google_ads/v1/errors/keyword_plan_ad_group_error_pb.rb +21 -0
  270. data/lib/google/ads/google_ads/v1/errors/keyword_plan_campaign_error_pb.rb +24 -0
  271. data/lib/google/ads/google_ads/v1/errors/keyword_plan_error_pb.rb +33 -0
  272. data/lib/google/ads/google_ads/v1/errors/keyword_plan_idea_error_pb.rb +21 -0
  273. data/lib/google/ads/google_ads/v1/errors/keyword_plan_keyword_error_pb.rb +25 -0
  274. data/lib/google/ads/google_ads/v1/errors/keyword_plan_negative_keyword_error_pb.rb +19 -0
  275. data/lib/google/ads/google_ads/v1/errors/label_error_pb.rb +28 -0
  276. data/lib/google/ads/google_ads/v1/errors/language_code_error_pb.rb +21 -0
  277. data/lib/google/ads/google_ads/v1/errors/list_operation_error_pb.rb +21 -0
  278. data/lib/google/ads/google_ads/v1/errors/media_bundle_error_pb.rb +41 -0
  279. data/lib/google/ads/google_ads/v1/errors/media_file_error_pb.rb +42 -0
  280. data/lib/google/ads/google_ads/v1/errors/multiplier_error_pb.rb +31 -0
  281. data/lib/google/ads/google_ads/v1/errors/mutate_error_pb.rb +24 -0
  282. data/lib/google/ads/google_ads/v1/errors/mutate_job_error_pb.rb +24 -0
  283. data/lib/google/ads/google_ads/v1/errors/new_resource_creation_error_pb.rb +22 -0
  284. data/lib/google/ads/google_ads/v1/errors/not_empty_error_pb.rb +20 -0
  285. data/lib/google/ads/google_ads/v1/errors/null_error_pb.rb +20 -0
  286. data/lib/google/ads/google_ads/v1/errors/operation_access_denied_error_pb.rb +29 -0
  287. data/lib/google/ads/google_ads/v1/errors/operator_error_pb.rb +20 -0
  288. data/lib/google/ads/google_ads/v1/errors/partial_failure_error_pb.rb +20 -0
  289. data/lib/google/ads/google_ads/v1/errors/policy_finding_error_pb.rb +21 -0
  290. data/lib/google/ads/google_ads/v1/errors/policy_validation_parameter_error_pb.rb +20 -0
  291. data/lib/google/ads/google_ads/v1/errors/policy_violation_error_pb.rb +20 -0
  292. data/lib/google/ads/google_ads/v1/errors/query_error_pb.rb +69 -0
  293. data/lib/google/ads/google_ads/v1/errors/quota_error_pb.rb +22 -0
  294. data/lib/google/ads/google_ads/v1/errors/range_error_pb.rb +21 -0
  295. data/lib/google/ads/google_ads/v1/errors/recommendation_error_pb.rb +32 -0
  296. data/lib/google/ads/google_ads/v1/errors/region_code_error_pb.rb +20 -0
  297. data/lib/google/ads/google_ads/v1/errors/request_error_pb.rb +36 -0
  298. data/lib/google/ads/google_ads/v1/errors/resource_access_denied_error_pb.rb +20 -0
  299. data/lib/google/ads/google_ads/v1/errors/resource_count_limit_exceeded_error_pb.rb +27 -0
  300. data/lib/google/ads/google_ads/v1/errors/setting_error_pb.rb +36 -0
  301. data/lib/google/ads/google_ads/v1/errors/shared_criterion_error_pb.rb +20 -0
  302. data/lib/google/ads/google_ads/v1/errors/shared_set_error_pb.rb +23 -0
  303. data/lib/google/ads/google_ads/v1/errors/string_format_error_pb.rb +21 -0
  304. data/lib/google/ads/google_ads/v1/errors/string_length_error_pb.rb +21 -0
  305. data/lib/google/ads/google_ads/v1/errors/url_field_error_pb.rb +70 -0
  306. data/lib/google/ads/google_ads/v1/errors/user_list_error_pb.rb +45 -0
  307. data/lib/google/ads/google_ads/v1/resources/account_budget_pb.rb +69 -0
  308. data/lib/google/ads/google_ads/v1/resources/account_budget_proposal_pb.rb +51 -0
  309. data/lib/google/ads/google_ads/v1/resources/ad_group_ad_label_pb.rb +18 -0
  310. data/lib/google/ads/google_ads/v1/resources/ad_group_ad_pb.rb +33 -0
  311. data/lib/google/ads/google_ads/v1/resources/ad_group_audience_view_pb.rb +15 -0
  312. data/lib/google/ads/google_ads/v1/resources/ad_group_bid_modifier_pb.rb +31 -0
  313. data/lib/google/ads/google_ads/v1/resources/ad_group_criterion_label_pb.rb +18 -0
  314. data/lib/google/ads/google_ads/v1/resources/ad_group_criterion_pb.rb +83 -0
  315. data/lib/google/ads/google_ads/v1/resources/ad_group_extension_setting_pb.rb +22 -0
  316. data/lib/google/ads/google_ads/v1/resources/ad_group_feed_pb.rb +24 -0
  317. data/lib/google/ads/google_ads/v1/resources/ad_group_label_pb.rb +18 -0
  318. data/lib/google/ads/google_ads/v1/resources/ad_group_pb.rb +47 -0
  319. data/lib/google/ads/google_ads/v1/resources/ad_parameter_pb.rb +19 -0
  320. data/lib/google/ads/google_ads/v1/resources/ad_pb.rb +47 -0
  321. data/lib/google/ads/google_ads/v1/resources/ad_schedule_view_pb.rb +15 -0
  322. data/lib/google/ads/google_ads/v1/resources/age_range_view_pb.rb +15 -0
  323. data/lib/google/ads/google_ads/v1/resources/bidding_strategy_pb.rb +34 -0
  324. data/lib/google/ads/google_ads/v1/resources/billing_setup_pb.rb +38 -0
  325. data/lib/google/ads/google_ads/v1/resources/campaign_audience_view_pb.rb +15 -0
  326. data/lib/google/ads/google_ads/v1/resources/campaign_bid_modifier_pb.rb +23 -0
  327. data/lib/google/ads/google_ads/v1/resources/campaign_budget_pb.rb +34 -0
  328. data/lib/google/ads/google_ads/v1/resources/campaign_criterion_pb.rb +49 -0
  329. data/lib/google/ads/google_ads/v1/resources/campaign_extension_setting_pb.rb +22 -0
  330. data/lib/google/ads/google_ads/v1/resources/campaign_feed_pb.rb +24 -0
  331. data/lib/google/ads/google_ads/v1/resources/campaign_label_pb.rb +18 -0
  332. data/lib/google/ads/google_ads/v1/resources/campaign_pb.rb +115 -0
  333. data/lib/google/ads/google_ads/v1/resources/campaign_shared_set_pb.rb +20 -0
  334. data/lib/google/ads/google_ads/v1/resources/carrier_constant_pb.rb +19 -0
  335. data/lib/google/ads/google_ads/v1/resources/change_status_pb.rb +31 -0
  336. data/lib/google/ads/google_ads/v1/resources/click_view_pb.rb +21 -0
  337. data/lib/google/ads/google_ads/v1/resources/conversion_action_pb.rb +49 -0
  338. data/lib/google/ads/google_ads/v1/resources/custom_interest_pb.rb +30 -0
  339. data/lib/google/ads/google_ads/v1/resources/customer_client_link_pb.rb +21 -0
  340. data/lib/google/ads/google_ads/v1/resources/customer_client_pb.rb +19 -0
  341. data/lib/google/ads/google_ads/v1/resources/customer_extension_setting_pb.rb +21 -0
  342. data/lib/google/ads/google_ads/v1/resources/customer_feed_pb.rb +23 -0
  343. data/lib/google/ads/google_ads/v1/resources/customer_label_pb.rb +18 -0
  344. data/lib/google/ads/google_ads/v1/resources/customer_manager_link_pb.rb +20 -0
  345. data/lib/google/ads/google_ads/v1/resources/customer_negative_criterion_pb.rb +28 -0
  346. data/lib/google/ads/google_ads/v1/resources/customer_pb.rb +44 -0
  347. data/lib/google/ads/google_ads/v1/resources/detail_placement_view_pb.rb +22 -0
  348. data/lib/google/ads/google_ads/v1/resources/display_keyword_view_pb.rb +15 -0
  349. data/lib/google/ads/google_ads/v1/resources/domain_category_pb.rb +24 -0
  350. data/lib/google/ads/google_ads/v1/resources/dynamic_search_ads_search_term_view_pb.rb +20 -0
  351. data/lib/google/ads/google_ads/v1/resources/extension_feed_item_pb.rb +31 -0
  352. data/lib/google/ads/google_ads/v1/resources/feed_item_pb.rb +68 -0
  353. data/lib/google/ads/google_ads/v1/resources/feed_item_target_pb.rb +30 -0
  354. data/lib/google/ads/google_ads/v1/resources/feed_mapping_pb.rb +75 -0
  355. data/lib/google/ads/google_ads/v1/resources/feed_pb.rb +68 -0
  356. data/lib/google/ads/google_ads/v1/resources/feed_placeholder_view_pb.rb +17 -0
  357. data/lib/google/ads/google_ads/v1/resources/gender_view_pb.rb +15 -0
  358. data/lib/google/ads/google_ads/v1/resources/geo_target_constant_pb.rb +23 -0
  359. data/lib/google/ads/google_ads/v1/resources/geographic_view_pb.rb +19 -0
  360. data/lib/google/ads/google_ads/v1/resources/google_ads_field_pb.rb +31 -0
  361. data/lib/google/ads/google_ads/v1/resources/group_placement_view_pb.rb +21 -0
  362. data/lib/google/ads/google_ads/v1/resources/hotel_group_view_pb.rb +15 -0
  363. data/lib/google/ads/google_ads/v1/resources/hotel_performance_view_pb.rb +15 -0
  364. data/lib/google/ads/google_ads/v1/resources/keyword_plan_ad_group_pb.rb +20 -0
  365. data/lib/google/ads/google_ads/v1/resources/keyword_plan_campaign_pb.rb +28 -0
  366. data/lib/google/ads/google_ads/v1/resources/keyword_plan_keyword_pb.rb +22 -0
  367. data/lib/google/ads/google_ads/v1/resources/keyword_plan_negative_keyword_pb.rb +21 -0
  368. data/lib/google/ads/google_ads/v1/resources/keyword_plan_pb.rb +28 -0
  369. data/lib/google/ads/google_ads/v1/resources/keyword_view_pb.rb +15 -0
  370. data/lib/google/ads/google_ads/v1/resources/label_pb.rb +22 -0
  371. data/lib/google/ads/google_ads/v1/resources/language_constant_pb.rb +20 -0
  372. data/lib/google/ads/google_ads/v1/resources/location_view_pb.rb +15 -0
  373. data/lib/google/ads/google_ads/v1/resources/managed_placement_view_pb.rb +15 -0
  374. data/lib/google/ads/google_ads/v1/resources/media_file_pb.rb +49 -0
  375. data/lib/google/ads/google_ads/v1/resources/merchant_center_link_pb.rb +20 -0
  376. data/lib/google/ads/google_ads/v1/resources/mobile_app_category_constant_pb.rb +18 -0
  377. data/lib/google/ads/google_ads/v1/resources/mobile_device_constant_pb.rb +22 -0
  378. data/lib/google/ads/google_ads/v1/resources/mutate_job_pb.rb +27 -0
  379. data/lib/google/ads/google_ads/v1/resources/operating_system_version_constant_pb.rb +22 -0
  380. data/lib/google/ads/google_ads/v1/resources/parental_status_view_pb.rb +15 -0
  381. data/lib/google/ads/google_ads/v1/resources/payments_account_pb.rb +21 -0
  382. data/lib/google/ads/google_ads/v1/resources/product_bidding_category_constant_pb.rb +25 -0
  383. data/lib/google/ads/google_ads/v1/resources/product_group_view_pb.rb +15 -0
  384. data/lib/google/ads/google_ads/v1/resources/recommendation_pb.rb +101 -0
  385. data/lib/google/ads/google_ads/v1/resources/remarketing_action_pb.rb +20 -0
  386. data/lib/google/ads/google_ads/v1/resources/search_term_view_pb.rb +20 -0
  387. data/lib/google/ads/google_ads/v1/resources/shared_criterion_pb.rb +28 -0
  388. data/lib/google/ads/google_ads/v1/resources/shared_set_pb.rb +24 -0
  389. data/lib/google/ads/google_ads/v1/resources/shopping_performance_view_pb.rb +15 -0
  390. data/lib/google/ads/google_ads/v1/resources/topic_constant_pb.rb +19 -0
  391. data/lib/google/ads/google_ads/v1/resources/topic_view_pb.rb +15 -0
  392. data/lib/google/ads/google_ads/v1/resources/user_interest_pb.rb +24 -0
  393. data/lib/google/ads/google_ads/v1/resources/user_list_pb.rb +47 -0
  394. data/lib/google/ads/google_ads/v1/resources/video_pb.rb +20 -0
  395. data/lib/google/ads/google_ads/v1/services/account_budget_proposal_service_client.rb +285 -0
  396. data/lib/google/ads/google_ads/v1/services/account_budget_proposal_service_client_config.json +36 -0
  397. data/lib/google/ads/google_ads/v1/services/account_budget_proposal_service_pb.rb +39 -0
  398. data/lib/google/ads/google_ads/v1/services/account_budget_proposal_service_services_pb.rb +55 -0
  399. data/lib/google/ads/google_ads/v1/services/account_budget_service_client.rb +223 -0
  400. data/lib/google/ads/google_ads/v1/services/account_budget_service_client_config.json +31 -0
  401. data/lib/google/ads/google_ads/v1/services/account_budget_service_pb.rb +16 -0
  402. data/lib/google/ads/google_ads/v1/services/account_budget_service_services_pb.rb +42 -0
  403. data/lib/google/ads/google_ads/v1/services/ad_group_ad_label_service_client.rb +280 -0
  404. data/lib/google/ads/google_ads/v1/services/ad_group_ad_label_service_client_config.json +36 -0
  405. data/lib/google/ads/google_ads/v1/services/ad_group_ad_label_service_pb.rb +41 -0
  406. data/lib/google/ads/google_ads/v1/services/ad_group_ad_label_service_services_pb.rb +43 -0
  407. data/lib/google/ads/google_ads/v1/services/ad_group_ad_service_client.rb +279 -0
  408. data/lib/google/ads/google_ads/v1/services/ad_group_ad_service_client_config.json +36 -0
  409. data/lib/google/ads/google_ads/v1/services/ad_group_ad_service_pb.rb +46 -0
  410. data/lib/google/ads/google_ads/v1/services/ad_group_ad_service_services_pb.rb +42 -0
  411. data/lib/google/ads/google_ads/v1/services/ad_group_audience_view_service_client.rb +221 -0
  412. data/lib/google/ads/google_ads/v1/services/ad_group_audience_view_service_client_config.json +31 -0
  413. data/lib/google/ads/google_ads/v1/services/ad_group_audience_view_service_pb.rb +16 -0
  414. data/lib/google/ads/google_ads/v1/services/ad_group_audience_view_service_services_pb.rb +40 -0
  415. data/lib/google/ads/google_ads/v1/services/ad_group_bid_modifier_service_client.rb +280 -0
  416. data/lib/google/ads/google_ads/v1/services/ad_group_bid_modifier_service_client_config.json +36 -0
  417. data/lib/google/ads/google_ads/v1/services/ad_group_bid_modifier_service_pb.rb +44 -0
  418. data/lib/google/ads/google_ads/v1/services/ad_group_bid_modifier_service_services_pb.rb +43 -0
  419. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_label_service_client.rb +280 -0
  420. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_label_service_client_config.json +36 -0
  421. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_label_service_pb.rb +41 -0
  422. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_label_service_services_pb.rb +43 -0
  423. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_service_client.rb +279 -0
  424. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_service_client_config.json +36 -0
  425. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_service_pb.rb +44 -0
  426. data/lib/google/ads/google_ads/v1/services/ad_group_criterion_service_services_pb.rb +42 -0
  427. data/lib/google/ads/google_ads/v1/services/ad_group_extension_setting_service_client.rb +282 -0
  428. data/lib/google/ads/google_ads/v1/services/ad_group_extension_setting_service_client_config.json +36 -0
  429. data/lib/google/ads/google_ads/v1/services/ad_group_extension_setting_service_pb.rb +44 -0
  430. data/lib/google/ads/google_ads/v1/services/ad_group_extension_setting_service_services_pb.rb +43 -0
  431. data/lib/google/ads/google_ads/v1/services/ad_group_feed_service_client.rb +280 -0
  432. data/lib/google/ads/google_ads/v1/services/ad_group_feed_service_client_config.json +36 -0
  433. data/lib/google/ads/google_ads/v1/services/ad_group_feed_service_pb.rb +44 -0
  434. data/lib/google/ads/google_ads/v1/services/ad_group_feed_service_services_pb.rb +43 -0
  435. data/lib/google/ads/google_ads/v1/services/ad_group_label_service_client.rb +280 -0
  436. data/lib/google/ads/google_ads/v1/services/ad_group_label_service_client_config.json +36 -0
  437. data/lib/google/ads/google_ads/v1/services/ad_group_label_service_pb.rb +41 -0
  438. data/lib/google/ads/google_ads/v1/services/ad_group_label_service_services_pb.rb +43 -0
  439. data/lib/google/ads/google_ads/v1/services/ad_group_service_client.rb +279 -0
  440. data/lib/google/ads/google_ads/v1/services/ad_group_service_client_config.json +36 -0
  441. data/lib/google/ads/google_ads/v1/services/ad_group_service_pb.rb +44 -0
  442. data/lib/google/ads/google_ads/v1/services/ad_group_service_services_pb.rb +42 -0
  443. data/lib/google/ads/google_ads/v1/services/ad_parameter_service_client.rb +280 -0
  444. data/lib/google/ads/google_ads/v1/services/ad_parameter_service_client_config.json +36 -0
  445. data/lib/google/ads/google_ads/v1/services/ad_parameter_service_pb.rb +44 -0
  446. data/lib/google/ads/google_ads/v1/services/ad_parameter_service_services_pb.rb +43 -0
  447. data/lib/google/ads/google_ads/v1/services/ad_schedule_view_service_client.rb +221 -0
  448. data/lib/google/ads/google_ads/v1/services/ad_schedule_view_service_client_config.json +31 -0
  449. data/lib/google/ads/google_ads/v1/services/ad_schedule_view_service_pb.rb +16 -0
  450. data/lib/google/ads/google_ads/v1/services/ad_schedule_view_service_services_pb.rb +40 -0
  451. data/lib/google/ads/google_ads/v1/services/age_range_view_service_client.rb +221 -0
  452. data/lib/google/ads/google_ads/v1/services/age_range_view_service_client_config.json +31 -0
  453. data/lib/google/ads/google_ads/v1/services/age_range_view_service_pb.rb +16 -0
  454. data/lib/google/ads/google_ads/v1/services/age_range_view_service_services_pb.rb +40 -0
  455. data/lib/google/ads/google_ads/v1/services/bidding_strategy_service_client.rb +280 -0
  456. data/lib/google/ads/google_ads/v1/services/bidding_strategy_service_client_config.json +36 -0
  457. data/lib/google/ads/google_ads/v1/services/bidding_strategy_service_pb.rb +44 -0
  458. data/lib/google/ads/google_ads/v1/services/bidding_strategy_service_services_pb.rb +43 -0
  459. data/lib/google/ads/google_ads/v1/services/billing_setup_service_client.rb +275 -0
  460. data/lib/google/ads/google_ads/v1/services/billing_setup_service_client_config.json +36 -0
  461. data/lib/google/ads/google_ads/v1/services/billing_setup_service_pb.rb +36 -0
  462. data/lib/google/ads/google_ads/v1/services/billing_setup_service_services_pb.rb +50 -0
  463. data/lib/google/ads/google_ads/v1/services/campaign_audience_view_service_client.rb +221 -0
  464. data/lib/google/ads/google_ads/v1/services/campaign_audience_view_service_client_config.json +31 -0
  465. data/lib/google/ads/google_ads/v1/services/campaign_audience_view_service_pb.rb +16 -0
  466. data/lib/google/ads/google_ads/v1/services/campaign_audience_view_service_services_pb.rb +40 -0
  467. data/lib/google/ads/google_ads/v1/services/campaign_bid_modifier_service_client.rb +280 -0
  468. data/lib/google/ads/google_ads/v1/services/campaign_bid_modifier_service_client_config.json +36 -0
  469. data/lib/google/ads/google_ads/v1/services/campaign_bid_modifier_service_pb.rb +44 -0
  470. data/lib/google/ads/google_ads/v1/services/campaign_bid_modifier_service_services_pb.rb +43 -0
  471. data/lib/google/ads/google_ads/v1/services/campaign_budget_service_client.rb +280 -0
  472. data/lib/google/ads/google_ads/v1/services/campaign_budget_service_client_config.json +36 -0
  473. data/lib/google/ads/google_ads/v1/services/campaign_budget_service_pb.rb +44 -0
  474. data/lib/google/ads/google_ads/v1/services/campaign_budget_service_services_pb.rb +43 -0
  475. data/lib/google/ads/google_ads/v1/services/campaign_criterion_service_client.rb +279 -0
  476. data/lib/google/ads/google_ads/v1/services/campaign_criterion_service_client_config.json +36 -0
  477. data/lib/google/ads/google_ads/v1/services/campaign_criterion_service_pb.rb +44 -0
  478. data/lib/google/ads/google_ads/v1/services/campaign_criterion_service_services_pb.rb +42 -0
  479. data/lib/google/ads/google_ads/v1/services/campaign_extension_setting_service_client.rb +282 -0
  480. data/lib/google/ads/google_ads/v1/services/campaign_extension_setting_service_client_config.json +36 -0
  481. data/lib/google/ads/google_ads/v1/services/campaign_extension_setting_service_pb.rb +44 -0
  482. data/lib/google/ads/google_ads/v1/services/campaign_extension_setting_service_services_pb.rb +43 -0
  483. data/lib/google/ads/google_ads/v1/services/campaign_feed_service_client.rb +280 -0
  484. data/lib/google/ads/google_ads/v1/services/campaign_feed_service_client_config.json +36 -0
  485. data/lib/google/ads/google_ads/v1/services/campaign_feed_service_pb.rb +44 -0
  486. data/lib/google/ads/google_ads/v1/services/campaign_feed_service_services_pb.rb +43 -0
  487. data/lib/google/ads/google_ads/v1/services/campaign_label_service_client.rb +280 -0
  488. data/lib/google/ads/google_ads/v1/services/campaign_label_service_client_config.json +36 -0
  489. data/lib/google/ads/google_ads/v1/services/campaign_label_service_pb.rb +41 -0
  490. data/lib/google/ads/google_ads/v1/services/campaign_label_service_services_pb.rb +43 -0
  491. data/lib/google/ads/google_ads/v1/services/campaign_service_client.rb +279 -0
  492. data/lib/google/ads/google_ads/v1/services/campaign_service_client_config.json +36 -0
  493. data/lib/google/ads/google_ads/v1/services/campaign_service_pb.rb +44 -0
  494. data/lib/google/ads/google_ads/v1/services/campaign_service_services_pb.rb +42 -0
  495. data/lib/google/ads/google_ads/v1/services/campaign_shared_set_service_client.rb +279 -0
  496. data/lib/google/ads/google_ads/v1/services/campaign_shared_set_service_client_config.json +36 -0
  497. data/lib/google/ads/google_ads/v1/services/campaign_shared_set_service_pb.rb +41 -0
  498. data/lib/google/ads/google_ads/v1/services/campaign_shared_set_service_services_pb.rb +42 -0
  499. data/lib/google/ads/google_ads/v1/services/carrier_constant_service_client.rb +219 -0
  500. data/lib/google/ads/google_ads/v1/services/carrier_constant_service_client_config.json +31 -0
  501. data/lib/google/ads/google_ads/v1/services/carrier_constant_service_pb.rb +16 -0
  502. data/lib/google/ads/google_ads/v1/services/carrier_constant_service_services_pb.rb +40 -0
  503. data/lib/google/ads/google_ads/v1/services/change_status_service_client.rb +221 -0
  504. data/lib/google/ads/google_ads/v1/services/change_status_service_client_config.json +31 -0
  505. data/lib/google/ads/google_ads/v1/services/change_status_service_pb.rb +16 -0
  506. data/lib/google/ads/google_ads/v1/services/change_status_service_services_pb.rb +40 -0
  507. data/lib/google/ads/google_ads/v1/services/click_view_service_client.rb +221 -0
  508. data/lib/google/ads/google_ads/v1/services/click_view_service_client_config.json +31 -0
  509. data/lib/google/ads/google_ads/v1/services/click_view_service_pb.rb +16 -0
  510. data/lib/google/ads/google_ads/v1/services/click_view_service_services_pb.rb +40 -0
  511. data/lib/google/ads/google_ads/v1/services/conversion_action_service_client.rb +280 -0
  512. data/lib/google/ads/google_ads/v1/services/conversion_action_service_client_config.json +36 -0
  513. data/lib/google/ads/google_ads/v1/services/conversion_action_service_pb.rb +44 -0
  514. data/lib/google/ads/google_ads/v1/services/conversion_action_service_services_pb.rb +43 -0
  515. data/lib/google/ads/google_ads/v1/services/conversion_upload_service_client.rb +222 -0
  516. data/lib/google/ads/google_ads/v1/services/conversion_upload_service_client_config.json +31 -0
  517. data/lib/google/ads/google_ads/v1/services/conversion_upload_service_pb.rb +45 -0
  518. data/lib/google/ads/google_ads/v1/services/conversion_upload_service_services_pb.rb +40 -0
  519. data/lib/google/ads/google_ads/v1/services/credentials.rb +41 -0
  520. data/lib/google/ads/google_ads/v1/services/custom_interest_service_client.rb +272 -0
  521. data/lib/google/ads/google_ads/v1/services/custom_interest_service_client_config.json +36 -0
  522. data/lib/google/ads/google_ads/v1/services/custom_interest_service_pb.rb +40 -0
  523. data/lib/google/ads/google_ads/v1/services/custom_interest_service_services_pb.rb +42 -0
  524. data/lib/google/ads/google_ads/v1/services/customer_client_link_service_client.rb +267 -0
  525. data/lib/google/ads/google_ads/v1/services/customer_client_link_service_client_config.json +36 -0
  526. data/lib/google/ads/google_ads/v1/services/customer_client_link_service_pb.rb +39 -0
  527. data/lib/google/ads/google_ads/v1/services/customer_client_link_service_services_pb.rb +42 -0
  528. data/lib/google/ads/google_ads/v1/services/customer_client_service_client.rb +221 -0
  529. data/lib/google/ads/google_ads/v1/services/customer_client_service_client_config.json +31 -0
  530. data/lib/google/ads/google_ads/v1/services/customer_client_service_pb.rb +16 -0
  531. data/lib/google/ads/google_ads/v1/services/customer_client_service_services_pb.rb +40 -0
  532. data/lib/google/ads/google_ads/v1/services/customer_extension_setting_service_client.rb +282 -0
  533. data/lib/google/ads/google_ads/v1/services/customer_extension_setting_service_client_config.json +36 -0
  534. data/lib/google/ads/google_ads/v1/services/customer_extension_setting_service_pb.rb +44 -0
  535. data/lib/google/ads/google_ads/v1/services/customer_extension_setting_service_services_pb.rb +43 -0
  536. data/lib/google/ads/google_ads/v1/services/customer_feed_service_client.rb +280 -0
  537. data/lib/google/ads/google_ads/v1/services/customer_feed_service_client_config.json +36 -0
  538. data/lib/google/ads/google_ads/v1/services/customer_feed_service_pb.rb +44 -0
  539. data/lib/google/ads/google_ads/v1/services/customer_feed_service_services_pb.rb +43 -0
  540. data/lib/google/ads/google_ads/v1/services/customer_label_service_client.rb +280 -0
  541. data/lib/google/ads/google_ads/v1/services/customer_label_service_client_config.json +36 -0
  542. data/lib/google/ads/google_ads/v1/services/customer_label_service_pb.rb +41 -0
  543. data/lib/google/ads/google_ads/v1/services/customer_label_service_services_pb.rb +43 -0
  544. data/lib/google/ads/google_ads/v1/services/customer_manager_link_service_client.rb +267 -0
  545. data/lib/google/ads/google_ads/v1/services/customer_manager_link_service_client_config.json +36 -0
  546. data/lib/google/ads/google_ads/v1/services/customer_manager_link_service_pb.rb +37 -0
  547. data/lib/google/ads/google_ads/v1/services/customer_manager_link_service_services_pb.rb +42 -0
  548. data/lib/google/ads/google_ads/v1/services/customer_negative_criterion_service_client.rb +279 -0
  549. data/lib/google/ads/google_ads/v1/services/customer_negative_criterion_service_client_config.json +36 -0
  550. data/lib/google/ads/google_ads/v1/services/customer_negative_criterion_service_pb.rb +41 -0
  551. data/lib/google/ads/google_ads/v1/services/customer_negative_criterion_service_services_pb.rb +42 -0
  552. data/lib/google/ads/google_ads/v1/services/customer_service_client.rb +344 -0
  553. data/lib/google/ads/google_ads/v1/services/customer_service_client_config.json +46 -0
  554. data/lib/google/ads/google_ads/v1/services/customer_service_pb.rb +53 -0
  555. data/lib/google/ads/google_ads/v1/services/customer_service_services_pb.rb +47 -0
  556. data/lib/google/ads/google_ads/v1/services/detail_placement_view_service_client.rb +221 -0
  557. data/lib/google/ads/google_ads/v1/services/detail_placement_view_service_client_config.json +31 -0
  558. data/lib/google/ads/google_ads/v1/services/detail_placement_view_service_pb.rb +16 -0
  559. data/lib/google/ads/google_ads/v1/services/detail_placement_view_service_services_pb.rb +40 -0
  560. data/lib/google/ads/google_ads/v1/services/display_keyword_view_service_client.rb +221 -0
  561. data/lib/google/ads/google_ads/v1/services/display_keyword_view_service_client_config.json +31 -0
  562. data/lib/google/ads/google_ads/v1/services/display_keyword_view_service_pb.rb +16 -0
  563. data/lib/google/ads/google_ads/v1/services/display_keyword_view_service_services_pb.rb +40 -0
  564. data/lib/google/ads/google_ads/v1/services/domain_category_service_client.rb +221 -0
  565. data/lib/google/ads/google_ads/v1/services/domain_category_service_client_config.json +31 -0
  566. data/lib/google/ads/google_ads/v1/services/domain_category_service_pb.rb +16 -0
  567. data/lib/google/ads/google_ads/v1/services/domain_category_service_services_pb.rb +40 -0
  568. data/lib/google/ads/google_ads/v1/services/dynamic_search_ads_search_term_view_service_client.rb +221 -0
  569. data/lib/google/ads/google_ads/v1/services/dynamic_search_ads_search_term_view_service_client_config.json +31 -0
  570. data/lib/google/ads/google_ads/v1/services/dynamic_search_ads_search_term_view_service_pb.rb +16 -0
  571. data/lib/google/ads/google_ads/v1/services/dynamic_search_ads_search_term_view_service_services_pb.rb +40 -0
  572. data/lib/google/ads/google_ads/v1/services/extension_feed_item_service_client.rb +274 -0
  573. data/lib/google/ads/google_ads/v1/services/extension_feed_item_service_client_config.json +36 -0
  574. data/lib/google/ads/google_ads/v1/services/extension_feed_item_service_pb.rb +41 -0
  575. data/lib/google/ads/google_ads/v1/services/extension_feed_item_service_services_pb.rb +43 -0
  576. data/lib/google/ads/google_ads/v1/services/feed_item_service_client.rb +280 -0
  577. data/lib/google/ads/google_ads/v1/services/feed_item_service_client_config.json +36 -0
  578. data/lib/google/ads/google_ads/v1/services/feed_item_service_pb.rb +44 -0
  579. data/lib/google/ads/google_ads/v1/services/feed_item_service_services_pb.rb +43 -0
  580. data/lib/google/ads/google_ads/v1/services/feed_item_target_service_client.rb +267 -0
  581. data/lib/google/ads/google_ads/v1/services/feed_item_target_service_client_config.json +36 -0
  582. data/lib/google/ads/google_ads/v1/services/feed_item_target_service_pb.rb +36 -0
  583. data/lib/google/ads/google_ads/v1/services/feed_item_target_service_services_pb.rb +42 -0
  584. data/lib/google/ads/google_ads/v1/services/feed_mapping_service_client.rb +280 -0
  585. data/lib/google/ads/google_ads/v1/services/feed_mapping_service_client_config.json +36 -0
  586. data/lib/google/ads/google_ads/v1/services/feed_mapping_service_pb.rb +41 -0
  587. data/lib/google/ads/google_ads/v1/services/feed_mapping_service_services_pb.rb +43 -0
  588. data/lib/google/ads/google_ads/v1/services/feed_placeholder_view_service_client.rb +221 -0
  589. data/lib/google/ads/google_ads/v1/services/feed_placeholder_view_service_client_config.json +31 -0
  590. data/lib/google/ads/google_ads/v1/services/feed_placeholder_view_service_pb.rb +16 -0
  591. data/lib/google/ads/google_ads/v1/services/feed_placeholder_view_service_services_pb.rb +40 -0
  592. data/lib/google/ads/google_ads/v1/services/feed_service_client.rb +280 -0
  593. data/lib/google/ads/google_ads/v1/services/feed_service_client_config.json +36 -0
  594. data/lib/google/ads/google_ads/v1/services/feed_service_pb.rb +44 -0
  595. data/lib/google/ads/google_ads/v1/services/feed_service_services_pb.rb +43 -0
  596. data/lib/google/ads/google_ads/v1/services/gender_view_service_client.rb +221 -0
  597. data/lib/google/ads/google_ads/v1/services/gender_view_service_client_config.json +31 -0
  598. data/lib/google/ads/google_ads/v1/services/gender_view_service_pb.rb +16 -0
  599. data/lib/google/ads/google_ads/v1/services/gender_view_service_services_pb.rb +40 -0
  600. data/lib/google/ads/google_ads/v1/services/geo_target_constant_service_client.rb +281 -0
  601. data/lib/google/ads/google_ads/v1/services/geo_target_constant_service_client_config.json +36 -0
  602. data/lib/google/ads/google_ads/v1/services/geo_target_constant_service_pb.rb +46 -0
  603. data/lib/google/ads/google_ads/v1/services/geo_target_constant_service_services_pb.rb +42 -0
  604. data/lib/google/ads/google_ads/v1/services/geographic_view_service_client.rb +221 -0
  605. data/lib/google/ads/google_ads/v1/services/geographic_view_service_client_config.json +31 -0
  606. data/lib/google/ads/google_ads/v1/services/geographic_view_service_pb.rb +16 -0
  607. data/lib/google/ads/google_ads/v1/services/geographic_view_service_services_pb.rb +40 -0
  608. data/lib/google/ads/google_ads/v1/services/google_ads_field_service_client.rb +290 -0
  609. data/lib/google/ads/google_ads/v1/services/google_ads_field_service_client_config.json +36 -0
  610. data/lib/google/ads/google_ads/v1/services/google_ads_field_service_pb.rb +28 -0
  611. data/lib/google/ads/google_ads/v1/services/google_ads_field_service_services_pb.rb +42 -0
  612. data/lib/google/ads/google_ads/v1/services/google_ads_service_client.rb +309 -0
  613. data/lib/google/ads/google_ads/v1/services/google_ads_service_client_config.json +36 -0
  614. data/lib/google/ads/google_ads/v1/services/google_ads_service_pb.rb +329 -0
  615. data/lib/google/ads/google_ads/v1/services/google_ads_service_services_pb.rb +42 -0
  616. data/lib/google/ads/google_ads/v1/services/group_placement_view_service_client.rb +221 -0
  617. data/lib/google/ads/google_ads/v1/services/group_placement_view_service_client_config.json +31 -0
  618. data/lib/google/ads/google_ads/v1/services/group_placement_view_service_pb.rb +16 -0
  619. data/lib/google/ads/google_ads/v1/services/group_placement_view_service_services_pb.rb +40 -0
  620. data/lib/google/ads/google_ads/v1/services/hotel_group_view_service_client.rb +221 -0
  621. data/lib/google/ads/google_ads/v1/services/hotel_group_view_service_client_config.json +31 -0
  622. data/lib/google/ads/google_ads/v1/services/hotel_group_view_service_pb.rb +16 -0
  623. data/lib/google/ads/google_ads/v1/services/hotel_group_view_service_services_pb.rb +40 -0
  624. data/lib/google/ads/google_ads/v1/services/hotel_performance_view_service_client.rb +234 -0
  625. data/lib/google/ads/google_ads/v1/services/hotel_performance_view_service_client_config.json +31 -0
  626. data/lib/google/ads/google_ads/v1/services/hotel_performance_view_service_pb.rb +16 -0
  627. data/lib/google/ads/google_ads/v1/services/hotel_performance_view_service_services_pb.rb +40 -0
  628. data/lib/google/ads/google_ads/v1/services/keyword_plan_ad_group_service_client.rb +280 -0
  629. data/lib/google/ads/google_ads/v1/services/keyword_plan_ad_group_service_client_config.json +36 -0
  630. data/lib/google/ads/google_ads/v1/services/keyword_plan_ad_group_service_pb.rb +44 -0
  631. data/lib/google/ads/google_ads/v1/services/keyword_plan_ad_group_service_services_pb.rb +43 -0
  632. data/lib/google/ads/google_ads/v1/services/keyword_plan_campaign_service_client.rb +280 -0
  633. data/lib/google/ads/google_ads/v1/services/keyword_plan_campaign_service_client_config.json +36 -0
  634. data/lib/google/ads/google_ads/v1/services/keyword_plan_campaign_service_pb.rb +44 -0
  635. data/lib/google/ads/google_ads/v1/services/keyword_plan_campaign_service_services_pb.rb +43 -0
  636. data/lib/google/ads/google_ads/v1/services/keyword_plan_idea_service_client.rb +252 -0
  637. data/lib/google/ads/google_ads/v1/services/keyword_plan_idea_service_client_config.json +31 -0
  638. data/lib/google/ads/google_ads/v1/services/keyword_plan_idea_service_pb.rb +48 -0
  639. data/lib/google/ads/google_ads/v1/services/keyword_plan_idea_service_services_pb.rb +40 -0
  640. data/lib/google/ads/google_ads/v1/services/keyword_plan_keyword_service_client.rb +280 -0
  641. data/lib/google/ads/google_ads/v1/services/keyword_plan_keyword_service_client_config.json +36 -0
  642. data/lib/google/ads/google_ads/v1/services/keyword_plan_keyword_service_pb.rb +44 -0
  643. data/lib/google/ads/google_ads/v1/services/keyword_plan_keyword_service_services_pb.rb +43 -0
  644. data/lib/google/ads/google_ads/v1/services/keyword_plan_negative_keyword_service_client.rb +281 -0
  645. data/lib/google/ads/google_ads/v1/services/keyword_plan_negative_keyword_service_client_config.json +36 -0
  646. data/lib/google/ads/google_ads/v1/services/keyword_plan_negative_keyword_service_pb.rb +44 -0
  647. data/lib/google/ads/google_ads/v1/services/keyword_plan_negative_keyword_service_services_pb.rb +43 -0
  648. data/lib/google/ads/google_ads/v1/services/keyword_plan_service_client.rb +351 -0
  649. data/lib/google/ads/google_ads/v1/services/keyword_plan_service_client_config.json +46 -0
  650. data/lib/google/ads/google_ads/v1/services/keyword_plan_service_pb.rb +91 -0
  651. data/lib/google/ads/google_ads/v1/services/keyword_plan_service_services_pb.rb +47 -0
  652. data/lib/google/ads/google_ads/v1/services/keyword_view_service_client.rb +221 -0
  653. data/lib/google/ads/google_ads/v1/services/keyword_view_service_client_config.json +31 -0
  654. data/lib/google/ads/google_ads/v1/services/keyword_view_service_pb.rb +16 -0
  655. data/lib/google/ads/google_ads/v1/services/keyword_view_service_services_pb.rb +40 -0
  656. data/lib/google/ads/google_ads/v1/services/label_service_client.rb +279 -0
  657. data/lib/google/ads/google_ads/v1/services/label_service_client_config.json +36 -0
  658. data/lib/google/ads/google_ads/v1/services/label_service_pb.rb +44 -0
  659. data/lib/google/ads/google_ads/v1/services/label_service_services_pb.rb +42 -0
  660. data/lib/google/ads/google_ads/v1/services/language_constant_service_client.rb +219 -0
  661. data/lib/google/ads/google_ads/v1/services/language_constant_service_client_config.json +31 -0
  662. data/lib/google/ads/google_ads/v1/services/language_constant_service_pb.rb +16 -0
  663. data/lib/google/ads/google_ads/v1/services/language_constant_service_services_pb.rb +40 -0
  664. data/lib/google/ads/google_ads/v1/services/location_view_service_client.rb +221 -0
  665. data/lib/google/ads/google_ads/v1/services/location_view_service_client_config.json +31 -0
  666. data/lib/google/ads/google_ads/v1/services/location_view_service_pb.rb +16 -0
  667. data/lib/google/ads/google_ads/v1/services/location_view_service_services_pb.rb +40 -0
  668. data/lib/google/ads/google_ads/v1/services/managed_placement_view_service_client.rb +221 -0
  669. data/lib/google/ads/google_ads/v1/services/managed_placement_view_service_client_config.json +31 -0
  670. data/lib/google/ads/google_ads/v1/services/managed_placement_view_service_pb.rb +16 -0
  671. data/lib/google/ads/google_ads/v1/services/managed_placement_view_service_services_pb.rb +40 -0
  672. data/lib/google/ads/google_ads/v1/services/media_file_service_client.rb +279 -0
  673. data/lib/google/ads/google_ads/v1/services/media_file_service_client_config.json +36 -0
  674. data/lib/google/ads/google_ads/v1/services/media_file_service_pb.rb +40 -0
  675. data/lib/google/ads/google_ads/v1/services/media_file_service_services_pb.rb +42 -0
  676. data/lib/google/ads/google_ads/v1/services/merchant_center_link_service_client.rb +306 -0
  677. data/lib/google/ads/google_ads/v1/services/merchant_center_link_service_client_config.json +41 -0
  678. data/lib/google/ads/google_ads/v1/services/merchant_center_link_service_pb.rb +46 -0
  679. data/lib/google/ads/google_ads/v1/services/merchant_center_link_service_services_pb.rb +45 -0
  680. data/lib/google/ads/google_ads/v1/services/mobile_app_category_constant_service_client.rb +219 -0
  681. data/lib/google/ads/google_ads/v1/services/mobile_app_category_constant_service_client_config.json +31 -0
  682. data/lib/google/ads/google_ads/v1/services/mobile_app_category_constant_service_pb.rb +16 -0
  683. data/lib/google/ads/google_ads/v1/services/mobile_app_category_constant_service_services_pb.rb +40 -0
  684. data/lib/google/ads/google_ads/v1/services/mobile_device_constant_service_client.rb +219 -0
  685. data/lib/google/ads/google_ads/v1/services/mobile_device_constant_service_client_config.json +31 -0
  686. data/lib/google/ads/google_ads/v1/services/mobile_device_constant_service_pb.rb +16 -0
  687. data/lib/google/ads/google_ads/v1/services/mobile_device_constant_service_services_pb.rb +40 -0
  688. data/lib/google/ads/google_ads/v1/services/mutate_job_service_client.rb +476 -0
  689. data/lib/google/ads/google_ads/v1/services/mutate_job_service_client_config.json +51 -0
  690. data/lib/google/ads/google_ads/v1/services/mutate_job_service_pb.rb +59 -0
  691. data/lib/google/ads/google_ads/v1/services/mutate_job_service_services_pb.rb +53 -0
  692. data/lib/google/ads/google_ads/v1/services/operating_system_version_constant_service_client.rb +219 -0
  693. data/lib/google/ads/google_ads/v1/services/operating_system_version_constant_service_client_config.json +31 -0
  694. data/lib/google/ads/google_ads/v1/services/operating_system_version_constant_service_pb.rb +16 -0
  695. data/lib/google/ads/google_ads/v1/services/operating_system_version_constant_service_services_pb.rb +40 -0
  696. data/lib/google/ads/google_ads/v1/services/parental_status_view_service_client.rb +221 -0
  697. data/lib/google/ads/google_ads/v1/services/parental_status_view_service_client_config.json +31 -0
  698. data/lib/google/ads/google_ads/v1/services/parental_status_view_service_pb.rb +16 -0
  699. data/lib/google/ads/google_ads/v1/services/parental_status_view_service_services_pb.rb +40 -0
  700. data/lib/google/ads/google_ads/v1/services/payments_account_service_client.rb +209 -0
  701. data/lib/google/ads/google_ads/v1/services/payments_account_service_client_config.json +31 -0
  702. data/lib/google/ads/google_ads/v1/services/payments_account_service_pb.rb +20 -0
  703. data/lib/google/ads/google_ads/v1/services/payments_account_service_services_pb.rb +43 -0
  704. data/lib/google/ads/google_ads/v1/services/product_bidding_category_constant_service_client.rb +219 -0
  705. data/lib/google/ads/google_ads/v1/services/product_bidding_category_constant_service_client_config.json +31 -0
  706. data/lib/google/ads/google_ads/v1/services/product_bidding_category_constant_service_pb.rb +16 -0
  707. data/lib/google/ads/google_ads/v1/services/product_bidding_category_constant_service_services_pb.rb +40 -0
  708. data/lib/google/ads/google_ads/v1/services/product_group_view_service_client.rb +221 -0
  709. data/lib/google/ads/google_ads/v1/services/product_group_view_service_client_config.json +31 -0
  710. data/lib/google/ads/google_ads/v1/services/product_group_view_service_pb.rb +16 -0
  711. data/lib/google/ads/google_ads/v1/services/product_group_view_service_services_pb.rb +40 -0
  712. data/lib/google/ads/google_ads/v1/services/recommendation_service_client.rb +331 -0
  713. data/lib/google/ads/google_ads/v1/services/recommendation_service_client_config.json +41 -0
  714. data/lib/google/ads/google_ads/v1/services/recommendation_service_pb.rb +83 -0
  715. data/lib/google/ads/google_ads/v1/services/recommendation_service_services_pb.rb +44 -0
  716. data/lib/google/ads/google_ads/v1/services/remarketing_action_service_client.rb +279 -0
  717. data/lib/google/ads/google_ads/v1/services/remarketing_action_service_client_config.json +36 -0
  718. data/lib/google/ads/google_ads/v1/services/remarketing_action_service_pb.rb +43 -0
  719. data/lib/google/ads/google_ads/v1/services/remarketing_action_service_services_pb.rb +42 -0
  720. data/lib/google/ads/google_ads/v1/services/search_term_view_service_client.rb +221 -0
  721. data/lib/google/ads/google_ads/v1/services/search_term_view_service_client_config.json +31 -0
  722. data/lib/google/ads/google_ads/v1/services/search_term_view_service_pb.rb +16 -0
  723. data/lib/google/ads/google_ads/v1/services/search_term_view_service_services_pb.rb +40 -0
  724. data/lib/google/ads/google_ads/v1/services/shared_criterion_service_client.rb +279 -0
  725. data/lib/google/ads/google_ads/v1/services/shared_criterion_service_client_config.json +36 -0
  726. data/lib/google/ads/google_ads/v1/services/shared_criterion_service_pb.rb +41 -0
  727. data/lib/google/ads/google_ads/v1/services/shared_criterion_service_services_pb.rb +42 -0
  728. data/lib/google/ads/google_ads/v1/services/shared_set_service_client.rb +279 -0
  729. data/lib/google/ads/google_ads/v1/services/shared_set_service_client_config.json +36 -0
  730. data/lib/google/ads/google_ads/v1/services/shared_set_service_pb.rb +44 -0
  731. data/lib/google/ads/google_ads/v1/services/shared_set_service_services_pb.rb +42 -0
  732. data/lib/google/ads/google_ads/v1/services/shopping_performance_view_service_client.rb +221 -0
  733. data/lib/google/ads/google_ads/v1/services/shopping_performance_view_service_client_config.json +31 -0
  734. data/lib/google/ads/google_ads/v1/services/shopping_performance_view_service_pb.rb +16 -0
  735. data/lib/google/ads/google_ads/v1/services/shopping_performance_view_service_services_pb.rb +40 -0
  736. data/lib/google/ads/google_ads/v1/services/topic_constant_service_client.rb +219 -0
  737. data/lib/google/ads/google_ads/v1/services/topic_constant_service_client_config.json +31 -0
  738. data/lib/google/ads/google_ads/v1/services/topic_constant_service_pb.rb +16 -0
  739. data/lib/google/ads/google_ads/v1/services/topic_constant_service_services_pb.rb +40 -0
  740. data/lib/google/ads/google_ads/v1/services/topic_view_service_client.rb +221 -0
  741. data/lib/google/ads/google_ads/v1/services/topic_view_service_client_config.json +31 -0
  742. data/lib/google/ads/google_ads/v1/services/topic_view_service_pb.rb +16 -0
  743. data/lib/google/ads/google_ads/v1/services/topic_view_service_services_pb.rb +40 -0
  744. data/lib/google/ads/google_ads/v1/services/user_interest_service_client.rb +221 -0
  745. data/lib/google/ads/google_ads/v1/services/user_interest_service_client_config.json +31 -0
  746. data/lib/google/ads/google_ads/v1/services/user_interest_service_pb.rb +16 -0
  747. data/lib/google/ads/google_ads/v1/services/user_interest_service_services_pb.rb +40 -0
  748. data/lib/google/ads/google_ads/v1/services/user_list_service_client.rb +279 -0
  749. data/lib/google/ads/google_ads/v1/services/user_list_service_client_config.json +36 -0
  750. data/lib/google/ads/google_ads/v1/services/user_list_service_pb.rb +44 -0
  751. data/lib/google/ads/google_ads/v1/services/user_list_service_services_pb.rb +42 -0
  752. data/lib/google/ads/google_ads/v1/services/video_service_client.rb +221 -0
  753. data/lib/google/ads/google_ads/v1/services/video_service_client_config.json +31 -0
  754. data/lib/google/ads/google_ads/v1/services/video_service_pb.rb +16 -0
  755. data/lib/google/ads/google_ads/v1/services/video_service_services_pb.rb +40 -0
  756. data/lib/google/ads/google_ads/version.rb +1 -1
  757. metadata +761 -6
  758. data/lib/google/ads/google_ads/path_lookup_util.rb +0 -406
  759. data/lib/google/ads/google_ads/proto_lookup_util.rb +0 -613
@@ -0,0 +1,759 @@
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
+ # Utility that looks up references to generated classes for proto objects.
18
+
19
+ module Google
20
+ module Ads
21
+ module GoogleAds
22
+ module Utils
23
+ module V1
24
+ class ProtoLookupUtil
25
+ # Variables: Version, folder (resources/common), filename
26
+ RESOURCE_PATH = 'google/ads/google_ads/%s/%s/%s'.freeze
27
+ # Variables: Version, class name
28
+ RESOURCE_CLASS_PATH = 'Google::Ads::GoogleAds::%s::Resources::%s'.freeze
29
+ # Variables: Version, class name
30
+ COMMON_CLASS_PATH = 'Google::Ads::GoogleAds::%s::Common::%s'.freeze
31
+
32
+ # Variables: Version, filename
33
+ ENUM_PATH = 'google/ads/google_ads/%s/enums/%s'.freeze
34
+ # Variables: Version, enum name, enum name (again)
35
+ ENUM_CLASS_PATH = 'Google::Ads::GoogleAds::%s::Enums::%sEnum::%s'.freeze
36
+
37
+ # Variables: Version, filename
38
+ SERVICE_PATH = 'google/ads/google_ads/%s/services/%s'.freeze
39
+ # Variables: Version, entity name
40
+ SERVICE_CLASS_PATH =
41
+ 'Google::Ads::GoogleAds::%s::Services::%s'.freeze
42
+
43
+ RESOURCES = {
44
+ AccountBudget: ['resources', 'account_budget_pb', 'AccountBudget'],
45
+ PendingAccountBudgetProposal: ['resources', 'account_budget_pb', 'AccountBudget::PendingAccountBudgetProposal'],
46
+ AccountBudgetProposal: ['resources', 'account_budget_proposal_pb', 'AccountBudgetProposal'],
47
+ AdGroupAdLabel: ['resources', 'ad_group_ad_label_pb', 'AdGroupAdLabel'],
48
+ AdGroupAd: ['resources', 'ad_group_ad_pb', 'AdGroupAd'],
49
+ AdGroupAdPolicySummary: ['resources', 'ad_group_ad_pb', 'AdGroupAdPolicySummary'],
50
+ AdGroupAudienceView: ['resources', 'ad_group_audience_view_pb', 'AdGroupAudienceView'],
51
+ AdGroupBidModifier: ['resources', 'ad_group_bid_modifier_pb', 'AdGroupBidModifier'],
52
+ AdGroupCriterionLabel: ['resources', 'ad_group_criterion_label_pb', 'AdGroupCriterionLabel'],
53
+ AdGroupCriterion: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion'],
54
+ QualityInfo: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::QualityInfo'],
55
+ PositionEstimates: ['resources', 'ad_group_criterion_pb', 'AdGroupCriterion::PositionEstimates'],
56
+ AdGroupExtensionSetting: ['resources', 'ad_group_extension_setting_pb', 'AdGroupExtensionSetting'],
57
+ AdGroupFeed: ['resources', 'ad_group_feed_pb', 'AdGroupFeed'],
58
+ AdGroupLabel: ['resources', 'ad_group_label_pb', 'AdGroupLabel'],
59
+ AdGroup: ['resources', 'ad_group_pb', 'AdGroup'],
60
+ AdParameter: ['resources', 'ad_parameter_pb', 'AdParameter'],
61
+ Ad: ['resources', 'ad_pb', 'Ad'],
62
+ AdScheduleView: ['resources', 'ad_schedule_view_pb', 'AdScheduleView'],
63
+ AgeRangeView: ['resources', 'age_range_view_pb', 'AgeRangeView'],
64
+ BiddingStrategy: ['resources', 'bidding_strategy_pb', 'BiddingStrategy'],
65
+ BillingSetup: ['resources', 'billing_setup_pb', 'BillingSetup'],
66
+ PaymentsAccountInfo: ['resources', 'billing_setup_pb', 'BillingSetup::PaymentsAccountInfo'],
67
+ CampaignAudienceView: ['resources', 'campaign_audience_view_pb', 'CampaignAudienceView'],
68
+ CampaignBidModifier: ['resources', 'campaign_bid_modifier_pb', 'CampaignBidModifier'],
69
+ CampaignBudget: ['resources', 'campaign_budget_pb', 'CampaignBudget'],
70
+ CampaignCriterion: ['resources', 'campaign_criterion_pb', 'CampaignCriterion'],
71
+ CampaignExtensionSetting: ['resources', 'campaign_extension_setting_pb', 'CampaignExtensionSetting'],
72
+ CampaignFeed: ['resources', 'campaign_feed_pb', 'CampaignFeed'],
73
+ CampaignLabel: ['resources', 'campaign_label_pb', 'CampaignLabel'],
74
+ Campaign: ['resources', 'campaign_pb', 'Campaign'],
75
+ NetworkSettings: ['resources', 'campaign_pb', 'Campaign::NetworkSettings'],
76
+ HotelSettingInfo: ['resources', 'campaign_pb', 'Campaign::HotelSettingInfo'],
77
+ TrackingSetting: ['resources', 'campaign_pb', 'Campaign::TrackingSetting'],
78
+ DynamicSearchAdsSetting: ['resources', 'campaign_pb', 'Campaign::DynamicSearchAdsSetting'],
79
+ ShoppingSetting: ['resources', 'campaign_pb', 'Campaign::ShoppingSetting'],
80
+ VanityPharma: ['resources', 'campaign_pb', 'Campaign::VanityPharma'],
81
+ SelectiveOptimization: ['resources', 'campaign_pb', 'Campaign::SelectiveOptimization'],
82
+ GeoTargetTypeSetting: ['resources', 'campaign_pb', 'Campaign::GeoTargetTypeSetting'],
83
+ CampaignSharedSet: ['resources', 'campaign_shared_set_pb', 'CampaignSharedSet'],
84
+ CarrierConstant: ['resources', 'carrier_constant_pb', 'CarrierConstant'],
85
+ ChangeStatus: ['resources', 'change_status_pb', 'ChangeStatus'],
86
+ ClickView: ['resources', 'click_view_pb', 'ClickView'],
87
+ ConversionAction: ['resources', 'conversion_action_pb', 'ConversionAction'],
88
+ AttributionModelSettings: ['resources', 'conversion_action_pb', 'ConversionAction::AttributionModelSettings'],
89
+ ValueSettings: ['resources', 'conversion_action_pb', 'ConversionAction::ValueSettings'],
90
+ CustomInterest: ['resources', 'custom_interest_pb', 'CustomInterest'],
91
+ CustomInterestMember: ['resources', 'custom_interest_pb', 'CustomInterestMember'],
92
+ CustomerClientLink: ['resources', 'customer_client_link_pb', 'CustomerClientLink'],
93
+ CustomerClient: ['resources', 'customer_client_pb', 'CustomerClient'],
94
+ CustomerExtensionSetting: ['resources', 'customer_extension_setting_pb', 'CustomerExtensionSetting'],
95
+ CustomerFeed: ['resources', 'customer_feed_pb', 'CustomerFeed'],
96
+ CustomerLabel: ['resources', 'customer_label_pb', 'CustomerLabel'],
97
+ CustomerManagerLink: ['resources', 'customer_manager_link_pb', 'CustomerManagerLink'],
98
+ CustomerNegativeCriterion: ['resources', 'customer_negative_criterion_pb', 'CustomerNegativeCriterion'],
99
+ Customer: ['resources', 'customer_pb', 'Customer'],
100
+ CallReportingSetting: ['resources', 'customer_pb', 'CallReportingSetting'],
101
+ ConversionTrackingSetting: ['resources', 'customer_pb', 'ConversionTrackingSetting'],
102
+ RemarketingSetting: ['resources', 'customer_pb', 'RemarketingSetting'],
103
+ DetailPlacementView: ['resources', 'detail_placement_view_pb', 'DetailPlacementView'],
104
+ DisplayKeywordView: ['resources', 'display_keyword_view_pb', 'DisplayKeywordView'],
105
+ DomainCategory: ['resources', 'domain_category_pb', 'DomainCategory'],
106
+ DynamicSearchAdsSearchTermView: ['resources', 'dynamic_search_ads_search_term_view_pb', 'DynamicSearchAdsSearchTermView'],
107
+ ExtensionFeedItem: ['resources', 'extension_feed_item_pb', 'ExtensionFeedItem'],
108
+ FeedItem: ['resources', 'feed_item_pb', 'FeedItem'],
109
+ FeedItemAttributeValue: ['resources', 'feed_item_pb', 'FeedItemAttributeValue'],
110
+ FeedItemPlaceholderPolicyInfo: ['resources', 'feed_item_pb', 'FeedItemPlaceholderPolicyInfo'],
111
+ FeedItemValidationError: ['resources', 'feed_item_pb', 'FeedItemValidationError'],
112
+ FeedItemTarget: ['resources', 'feed_item_target_pb', 'FeedItemTarget'],
113
+ FeedMapping: ['resources', 'feed_mapping_pb', 'FeedMapping'],
114
+ AttributeFieldMapping: ['resources', 'feed_mapping_pb', 'AttributeFieldMapping'],
115
+ Feed: ['resources', 'feed_pb', 'Feed'],
116
+ PlacesLocationFeedData: ['resources', 'feed_pb', 'Feed::PlacesLocationFeedData'],
117
+ OAuthInfo: ['resources', 'feed_pb', 'Feed::PlacesLocationFeedData::OAuthInfo'],
118
+ AffiliateLocationFeedData: ['resources', 'feed_pb', 'Feed::AffiliateLocationFeedData'],
119
+ FeedAttribute: ['resources', 'feed_pb', 'FeedAttribute'],
120
+ FeedAttributeOperation: ['resources', 'feed_pb', 'FeedAttributeOperation'],
121
+ Operator: ['resources', 'feed_pb', 'FeedAttributeOperation::Operator'],
122
+ FeedPlaceholderView: ['resources', 'feed_placeholder_view_pb', 'FeedPlaceholderView'],
123
+ GenderView: ['resources', 'gender_view_pb', 'GenderView'],
124
+ GeoTargetConstant: ['resources', 'geo_target_constant_pb', 'GeoTargetConstant'],
125
+ GeographicView: ['resources', 'geographic_view_pb', 'GeographicView'],
126
+ GoogleAdsField: ['resources', 'google_ads_field_pb', 'GoogleAdsField'],
127
+ GroupPlacementView: ['resources', 'group_placement_view_pb', 'GroupPlacementView'],
128
+ HotelGroupView: ['resources', 'hotel_group_view_pb', 'HotelGroupView'],
129
+ HotelPerformanceView: ['resources', 'hotel_performance_view_pb', 'HotelPerformanceView'],
130
+ KeywordPlanAdGroup: ['resources', 'keyword_plan_ad_group_pb', 'KeywordPlanAdGroup'],
131
+ KeywordPlanCampaign: ['resources', 'keyword_plan_campaign_pb', 'KeywordPlanCampaign'],
132
+ KeywordPlanGeoTarget: ['resources', 'keyword_plan_campaign_pb', 'KeywordPlanGeoTarget'],
133
+ KeywordPlanKeyword: ['resources', 'keyword_plan_keyword_pb', 'KeywordPlanKeyword'],
134
+ KeywordPlanNegativeKeyword: ['resources', 'keyword_plan_negative_keyword_pb', 'KeywordPlanNegativeKeyword'],
135
+ KeywordPlan: ['resources', 'keyword_plan_pb', 'KeywordPlan'],
136
+ KeywordPlanForecastPeriod: ['resources', 'keyword_plan_pb', 'KeywordPlanForecastPeriod'],
137
+ KeywordView: ['resources', 'keyword_view_pb', 'KeywordView'],
138
+ Label: ['resources', 'label_pb', 'Label'],
139
+ LanguageConstant: ['resources', 'language_constant_pb', 'LanguageConstant'],
140
+ LocationView: ['resources', 'location_view_pb', 'LocationView'],
141
+ ManagedPlacementView: ['resources', 'managed_placement_view_pb', 'ManagedPlacementView'],
142
+ MediaFile: ['resources', 'media_file_pb', 'MediaFile'],
143
+ MediaImage: ['resources', 'media_file_pb', 'MediaImage'],
144
+ MediaBundle: ['resources', 'media_file_pb', 'MediaBundle'],
145
+ MediaAudio: ['resources', 'media_file_pb', 'MediaAudio'],
146
+ MediaVideo: ['resources', 'media_file_pb', 'MediaVideo'],
147
+ MerchantCenterLink: ['resources', 'merchant_center_link_pb', 'MerchantCenterLink'],
148
+ MobileAppCategoryConstant: ['resources', 'mobile_app_category_constant_pb', 'MobileAppCategoryConstant'],
149
+ MobileDeviceConstant: ['resources', 'mobile_device_constant_pb', 'MobileDeviceConstant'],
150
+ MutateJob: ['resources', 'mutate_job_pb', 'MutateJob'],
151
+ MutateJobMetadata: ['resources', 'mutate_job_pb', 'MutateJob::MutateJobMetadata'],
152
+ OperatingSystemVersionConstant: ['resources', 'operating_system_version_constant_pb', 'OperatingSystemVersionConstant'],
153
+ ParentalStatusView: ['resources', 'parental_status_view_pb', 'ParentalStatusView'],
154
+ PaymentsAccount: ['resources', 'payments_account_pb', 'PaymentsAccount'],
155
+ ProductBiddingCategoryConstant: ['resources', 'product_bidding_category_constant_pb', 'ProductBiddingCategoryConstant'],
156
+ ProductGroupView: ['resources', 'product_group_view_pb', 'ProductGroupView'],
157
+ Recommendation: ['resources', 'recommendation_pb', 'Recommendation'],
158
+ RecommendationImpact: ['resources', 'recommendation_pb', 'Recommendation::RecommendationImpact'],
159
+ RecommendationMetrics: ['resources', 'recommendation_pb', 'Recommendation::RecommendationMetrics'],
160
+ CampaignBudgetRecommendation: ['resources', 'recommendation_pb', 'Recommendation::CampaignBudgetRecommendation'],
161
+ CampaignBudgetRecommendationOption: ['resources', 'recommendation_pb', 'Recommendation::CampaignBudgetRecommendation::CampaignBudgetRecommendationOption'],
162
+ KeywordRecommendation: ['resources', 'recommendation_pb', 'Recommendation::KeywordRecommendation'],
163
+ TextAdRecommendation: ['resources', 'recommendation_pb', 'Recommendation::TextAdRecommendation'],
164
+ MaximizeConversionsOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::MaximizeConversionsOptInRecommendation'],
165
+ SearchPartnersOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::SearchPartnersOptInRecommendation'],
166
+ TargetCpaOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::TargetCpaOptInRecommendation'],
167
+ TargetCpaOptInRecommendationOption: ['resources', 'recommendation_pb', 'Recommendation::TargetCpaOptInRecommendation::TargetCpaOptInRecommendationOption'],
168
+ EnhancedCpcOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::EnhancedCpcOptInRecommendation'],
169
+ MaximizeClicksOptInRecommendation: ['resources', 'recommendation_pb', 'Recommendation::MaximizeClicksOptInRecommendation'],
170
+ OptimizeAdRotationRecommendation: ['resources', 'recommendation_pb', 'Recommendation::OptimizeAdRotationRecommendation'],
171
+ RemarketingAction: ['resources', 'remarketing_action_pb', 'RemarketingAction'],
172
+ SearchTermView: ['resources', 'search_term_view_pb', 'SearchTermView'],
173
+ SharedCriterion: ['resources', 'shared_criterion_pb', 'SharedCriterion'],
174
+ SharedSet: ['resources', 'shared_set_pb', 'SharedSet'],
175
+ ShoppingPerformanceView: ['resources', 'shopping_performance_view_pb', 'ShoppingPerformanceView'],
176
+ TopicConstant: ['resources', 'topic_constant_pb', 'TopicConstant'],
177
+ TopicView: ['resources', 'topic_view_pb', 'TopicView'],
178
+ UserInterest: ['resources', 'user_interest_pb', 'UserInterest'],
179
+ UserList: ['resources', 'user_list_pb', 'UserList'],
180
+ Video: ['resources', 'video_pb', 'Video'],
181
+ AdTextAsset: ['common', 'ad_asset_pb', 'AdTextAsset'],
182
+ TextAdInfo: ['common', 'ad_type_infos_pb', 'TextAdInfo'],
183
+ ExpandedTextAdInfo: ['common', 'ad_type_infos_pb', 'ExpandedTextAdInfo'],
184
+ CallOnlyAdInfo: ['common', 'ad_type_infos_pb', 'CallOnlyAdInfo'],
185
+ ExpandedDynamicSearchAdInfo: ['common', 'ad_type_infos_pb', 'ExpandedDynamicSearchAdInfo'],
186
+ HotelAdInfo: ['common', 'ad_type_infos_pb', 'HotelAdInfo'],
187
+ ShoppingSmartAdInfo: ['common', 'ad_type_infos_pb', 'ShoppingSmartAdInfo'],
188
+ ShoppingProductAdInfo: ['common', 'ad_type_infos_pb', 'ShoppingProductAdInfo'],
189
+ GmailAdInfo: ['common', 'ad_type_infos_pb', 'GmailAdInfo'],
190
+ GmailTeaser: ['common', 'ad_type_infos_pb', 'GmailTeaser'],
191
+ DisplayCallToAction: ['common', 'ad_type_infos_pb', 'DisplayCallToAction'],
192
+ ProductImage: ['common', 'ad_type_infos_pb', 'ProductImage'],
193
+ ProductVideo: ['common', 'ad_type_infos_pb', 'ProductVideo'],
194
+ ImageAdInfo: ['common', 'ad_type_infos_pb', 'ImageAdInfo'],
195
+ VideoBumperInStreamAdInfo: ['common', 'ad_type_infos_pb', 'VideoBumperInStreamAdInfo'],
196
+ VideoNonSkippableInStreamAdInfo: ['common', 'ad_type_infos_pb', 'VideoNonSkippableInStreamAdInfo'],
197
+ VideoTrueViewInStreamAdInfo: ['common', 'ad_type_infos_pb', 'VideoTrueViewInStreamAdInfo'],
198
+ VideoOutstreamAdInfo: ['common', 'ad_type_infos_pb', 'VideoOutstreamAdInfo'],
199
+ VideoAdInfo: ['common', 'ad_type_infos_pb', 'VideoAdInfo'],
200
+ ResponsiveSearchAdInfo: ['common', 'ad_type_infos_pb', 'ResponsiveSearchAdInfo'],
201
+ LegacyResponsiveDisplayAdInfo: ['common', 'ad_type_infos_pb', 'LegacyResponsiveDisplayAdInfo'],
202
+ EnhancedCpc: ['common', 'bidding_pb', 'EnhancedCpc'],
203
+ ManualCpc: ['common', 'bidding_pb', 'ManualCpc'],
204
+ ManualCpm: ['common', 'bidding_pb', 'ManualCpm'],
205
+ ManualCpv: ['common', 'bidding_pb', 'ManualCpv'],
206
+ MaximizeConversions: ['common', 'bidding_pb', 'MaximizeConversions'],
207
+ MaximizeConversionValue: ['common', 'bidding_pb', 'MaximizeConversionValue'],
208
+ PageOnePromoted: ['common', 'bidding_pb', 'PageOnePromoted'],
209
+ TargetCpa: ['common', 'bidding_pb', 'TargetCpa'],
210
+ TargetCpm: ['common', 'bidding_pb', 'TargetCpm'],
211
+ TargetImpressionShare: ['common', 'bidding_pb', 'TargetImpressionShare'],
212
+ TargetOutrankShare: ['common', 'bidding_pb', 'TargetOutrankShare'],
213
+ TargetRoas: ['common', 'bidding_pb', 'TargetRoas'],
214
+ TargetSpend: ['common', 'bidding_pb', 'TargetSpend'],
215
+ PercentCpc: ['common', 'bidding_pb', 'PercentCpc'],
216
+ ClickLocation: ['common', 'click_location_pb', 'ClickLocation'],
217
+ KeywordInfo: ['common', 'criteria_pb', 'KeywordInfo'],
218
+ PlacementInfo: ['common', 'criteria_pb', 'PlacementInfo'],
219
+ MobileAppCategoryInfo: ['common', 'criteria_pb', 'MobileAppCategoryInfo'],
220
+ MobileApplicationInfo: ['common', 'criteria_pb', 'MobileApplicationInfo'],
221
+ LocationInfo: ['common', 'criteria_pb', 'LocationInfo'],
222
+ DeviceInfo: ['common', 'criteria_pb', 'DeviceInfo'],
223
+ PreferredContentInfo: ['common', 'criteria_pb', 'PreferredContentInfo'],
224
+ ListingGroupInfo: ['common', 'criteria_pb', 'ListingGroupInfo'],
225
+ ListingScopeInfo: ['common', 'criteria_pb', 'ListingScopeInfo'],
226
+ ListingDimensionInfo: ['common', 'criteria_pb', 'ListingDimensionInfo'],
227
+ ListingBrandInfo: ['common', 'criteria_pb', 'ListingBrandInfo'],
228
+ HotelIdInfo: ['common', 'criteria_pb', 'HotelIdInfo'],
229
+ HotelClassInfo: ['common', 'criteria_pb', 'HotelClassInfo'],
230
+ HotelCountryRegionInfo: ['common', 'criteria_pb', 'HotelCountryRegionInfo'],
231
+ HotelStateInfo: ['common', 'criteria_pb', 'HotelStateInfo'],
232
+ HotelCityInfo: ['common', 'criteria_pb', 'HotelCityInfo'],
233
+ ListingCustomAttributeInfo: ['common', 'criteria_pb', 'ListingCustomAttributeInfo'],
234
+ ProductBiddingCategoryInfo: ['common', 'criteria_pb', 'ProductBiddingCategoryInfo'],
235
+ ProductChannelInfo: ['common', 'criteria_pb', 'ProductChannelInfo'],
236
+ ProductChannelExclusivityInfo: ['common', 'criteria_pb', 'ProductChannelExclusivityInfo'],
237
+ ProductConditionInfo: ['common', 'criteria_pb', 'ProductConditionInfo'],
238
+ ProductItemIdInfo: ['common', 'criteria_pb', 'ProductItemIdInfo'],
239
+ ProductTypeInfo: ['common', 'criteria_pb', 'ProductTypeInfo'],
240
+ HotelDateSelectionTypeInfo: ['common', 'criteria_pb', 'HotelDateSelectionTypeInfo'],
241
+ HotelAdvanceBookingWindowInfo: ['common', 'criteria_pb', 'HotelAdvanceBookingWindowInfo'],
242
+ HotelLengthOfStayInfo: ['common', 'criteria_pb', 'HotelLengthOfStayInfo'],
243
+ HotelCheckInDayInfo: ['common', 'criteria_pb', 'HotelCheckInDayInfo'],
244
+ InteractionTypeInfo: ['common', 'criteria_pb', 'InteractionTypeInfo'],
245
+ AdScheduleInfo: ['common', 'criteria_pb', 'AdScheduleInfo'],
246
+ AgeRangeInfo: ['common', 'criteria_pb', 'AgeRangeInfo'],
247
+ GenderInfo: ['common', 'criteria_pb', 'GenderInfo'],
248
+ IncomeRangeInfo: ['common', 'criteria_pb', 'IncomeRangeInfo'],
249
+ ParentalStatusInfo: ['common', 'criteria_pb', 'ParentalStatusInfo'],
250
+ YouTubeVideoInfo: ['common', 'criteria_pb', 'YouTubeVideoInfo'],
251
+ YouTubeChannelInfo: ['common', 'criteria_pb', 'YouTubeChannelInfo'],
252
+ UserListInfo: ['common', 'criteria_pb', 'UserListInfo'],
253
+ ProximityInfo: ['common', 'criteria_pb', 'ProximityInfo'],
254
+ GeoPointInfo: ['common', 'criteria_pb', 'GeoPointInfo'],
255
+ AddressInfo: ['common', 'criteria_pb', 'AddressInfo'],
256
+ TopicInfo: ['common', 'criteria_pb', 'TopicInfo'],
257
+ LanguageInfo: ['common', 'criteria_pb', 'LanguageInfo'],
258
+ IpBlockInfo: ['common', 'criteria_pb', 'IpBlockInfo'],
259
+ ContentLabelInfo: ['common', 'criteria_pb', 'ContentLabelInfo'],
260
+ CarrierInfo: ['common', 'criteria_pb', 'CarrierInfo'],
261
+ UserInterestInfo: ['common', 'criteria_pb', 'UserInterestInfo'],
262
+ WebpageInfo: ['common', 'criteria_pb', 'WebpageInfo'],
263
+ WebpageConditionInfo: ['common', 'criteria_pb', 'WebpageConditionInfo'],
264
+ OperatingSystemVersionInfo: ['common', 'criteria_pb', 'OperatingSystemVersionInfo'],
265
+ AppPaymentModelInfo: ['common', 'criteria_pb', 'AppPaymentModelInfo'],
266
+ MobileDeviceInfo: ['common', 'criteria_pb', 'MobileDeviceInfo'],
267
+ CustomAffinityInfo: ['common', 'criteria_pb', 'CustomAffinityInfo'],
268
+ CustomIntentInfo: ['common', 'criteria_pb', 'CustomIntentInfo'],
269
+ CriterionCategoryAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryAvailability'],
270
+ CriterionCategoryChannelAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryChannelAvailability'],
271
+ CriterionCategoryLocaleAvailability: ['common', 'criterion_category_availability_pb', 'CriterionCategoryLocaleAvailability'],
272
+ CustomParameter: ['common', 'custom_parameter_pb', 'CustomParameter'],
273
+ DateRange: ['common', 'dates_pb', 'DateRange'],
274
+ ExplorerAutoOptimizerSetting: ['common', 'explorer_auto_optimizer_setting_pb', 'ExplorerAutoOptimizerSetting'],
275
+ AppFeedItem: ['common', 'extensions_pb', 'AppFeedItem'],
276
+ CallFeedItem: ['common', 'extensions_pb', 'CallFeedItem'],
277
+ CalloutFeedItem: ['common', 'extensions_pb', 'CalloutFeedItem'],
278
+ TextMessageFeedItem: ['common', 'extensions_pb', 'TextMessageFeedItem'],
279
+ PriceFeedItem: ['common', 'extensions_pb', 'PriceFeedItem'],
280
+ PriceOffer: ['common', 'extensions_pb', 'PriceOffer'],
281
+ PromotionFeedItem: ['common', 'extensions_pb', 'PromotionFeedItem'],
282
+ StructuredSnippetFeedItem: ['common', 'extensions_pb', 'StructuredSnippetFeedItem'],
283
+ SitelinkFeedItem: ['common', 'extensions_pb', 'SitelinkFeedItem'],
284
+ Money: ['common', 'feed_common_pb', 'Money'],
285
+ FrequencyCapEntry: ['common', 'frequency_cap_pb', 'FrequencyCapEntry'],
286
+ FrequencyCapKey: ['common', 'frequency_cap_pb', 'FrequencyCapKey'],
287
+ KeywordPlanHistoricalMetrics: ['common', 'keyword_plan_common_pb', 'KeywordPlanHistoricalMetrics'],
288
+ MatchingFunction: ['common', 'matching_function_pb', 'MatchingFunction'],
289
+ Operand: ['common', 'matching_function_pb', 'Operand'],
290
+ ConstantOperand: ['common', 'matching_function_pb', 'Operand::ConstantOperand'],
291
+ FeedAttributeOperand: ['common', 'matching_function_pb', 'Operand::FeedAttributeOperand'],
292
+ FunctionOperand: ['common', 'matching_function_pb', 'Operand::FunctionOperand'],
293
+ RequestContextOperand: ['common', 'matching_function_pb', 'Operand::RequestContextOperand'],
294
+ Metrics: ['common', 'metrics_pb', 'Metrics'],
295
+ PolicyViolationKey: ['common', 'policy_pb', 'PolicyViolationKey'],
296
+ PolicyValidationParameter: ['common', 'policy_pb', 'PolicyValidationParameter'],
297
+ PolicyTopicEntry: ['common', 'policy_pb', 'PolicyTopicEntry'],
298
+ PolicyTopicEvidence: ['common', 'policy_pb', 'PolicyTopicEvidence'],
299
+ TextList: ['common', 'policy_pb', 'PolicyTopicEvidence::TextList'],
300
+ WebsiteList: ['common', 'policy_pb', 'PolicyTopicEvidence::WebsiteList'],
301
+ DestinationTextList: ['common', 'policy_pb', 'PolicyTopicEvidence::DestinationTextList'],
302
+ DestinationMismatch: ['common', 'policy_pb', 'PolicyTopicEvidence::DestinationMismatch'],
303
+ PolicyTopicConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint'],
304
+ CountryConstraintList: ['common', 'policy_pb', 'PolicyTopicConstraint::CountryConstraintList'],
305
+ ResellerConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint::ResellerConstraint'],
306
+ CountryConstraint: ['common', 'policy_pb', 'PolicyTopicConstraint::CountryConstraint'],
307
+ RealTimeBiddingSetting: ['common', 'real_time_bidding_setting_pb', 'RealTimeBiddingSetting'],
308
+ Segments: ['common', 'segments_pb', 'Segments'],
309
+ Keyword: ['common', 'segments_pb', 'Keyword'],
310
+ TagSnippet: ['common', 'tag_snippet_pb', 'TagSnippet'],
311
+ TargetingSetting: ['common', 'targeting_setting_pb', 'TargetingSetting'],
312
+ TargetRestriction: ['common', 'targeting_setting_pb', 'TargetRestriction'],
313
+ TextLabel: ['common', 'text_label_pb', 'TextLabel'],
314
+ UrlCollection: ['common', 'url_collection_pb', 'UrlCollection'],
315
+ SimilarUserListInfo: ['common', 'user_lists_pb', 'SimilarUserListInfo'],
316
+ CrmBasedUserListInfo: ['common', 'user_lists_pb', 'CrmBasedUserListInfo'],
317
+ UserListRuleInfo: ['common', 'user_lists_pb', 'UserListRuleInfo'],
318
+ UserListRuleItemGroupInfo: ['common', 'user_lists_pb', 'UserListRuleItemGroupInfo'],
319
+ UserListRuleItemInfo: ['common', 'user_lists_pb', 'UserListRuleItemInfo'],
320
+ UserListDateRuleItemInfo: ['common', 'user_lists_pb', 'UserListDateRuleItemInfo'],
321
+ UserListNumberRuleItemInfo: ['common', 'user_lists_pb', 'UserListNumberRuleItemInfo'],
322
+ UserListStringRuleItemInfo: ['common', 'user_lists_pb', 'UserListStringRuleItemInfo'],
323
+ CombinedRuleUserListInfo: ['common', 'user_lists_pb', 'CombinedRuleUserListInfo'],
324
+ DateSpecificRuleUserListInfo: ['common', 'user_lists_pb', 'DateSpecificRuleUserListInfo'],
325
+ ExpressionRuleUserListInfo: ['common', 'user_lists_pb', 'ExpressionRuleUserListInfo'],
326
+ RuleBasedUserListInfo: ['common', 'user_lists_pb', 'RuleBasedUserListInfo'],
327
+ LogicalUserListInfo: ['common', 'user_lists_pb', 'LogicalUserListInfo'],
328
+ UserListLogicalRuleInfo: ['common', 'user_lists_pb', 'UserListLogicalRuleInfo'],
329
+ LogicalUserListOperandInfo: ['common', 'user_lists_pb', 'LogicalUserListOperandInfo'],
330
+ BasicUserListInfo: ['common', 'user_lists_pb', 'BasicUserListInfo'],
331
+ UserListActionInfo: ['common', 'user_lists_pb', 'UserListActionInfo'],
332
+ Value: ['common', 'value_pb', 'Value'],
333
+ CampaignBudgetParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::CampaignBudgetParameters'],
334
+ TextAdParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::TextAdParameters'],
335
+ KeywordParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::KeywordParameters'],
336
+ TargetCpaOptInParameters: ['services', 'recommendation_service_pb', 'ApplyRecommendationOperation::TargetCpaOptInParameters'],
337
+ LocationNames: ['services', 'geo_target_constant_service_pb', 'SuggestGeoTargetConstantsRequest::LocationNames'],
338
+ GeoTargets: ['services', 'geo_target_constant_service_pb', 'SuggestGeoTargetConstantsRequest::GeoTargets']
339
+ }.freeze
340
+
341
+ ENUMS = {
342
+ AccessReason: ['access_reason_pb', 'AccessReason'],
343
+ AccountBudgetProposalStatus: ['account_budget_proposal_status_pb', 'AccountBudgetProposalStatus'],
344
+ AccountBudgetProposalType: ['account_budget_proposal_type_pb', 'AccountBudgetProposalType'],
345
+ AccountBudgetStatus: ['account_budget_status_pb', 'AccountBudgetStatus'],
346
+ AdCustomizerPlaceholderField: ['ad_customizer_placeholder_field_pb', 'AdCustomizerPlaceholderField'],
347
+ AdGroupAdRotationMode: ['ad_group_ad_rotation_mode_pb', 'AdGroupAdRotationMode'],
348
+ AdGroupAdStatus: ['ad_group_ad_status_pb', 'AdGroupAdStatus'],
349
+ AdGroupCriterionStatus: ['ad_group_criterion_status_pb', 'AdGroupCriterionStatus'],
350
+ AdGroupStatus: ['ad_group_status_pb', 'AdGroupStatus'],
351
+ AdGroupType: ['ad_group_type_pb', 'AdGroupType'],
352
+ AdNetworkType: ['ad_network_type_pb', 'AdNetworkType'],
353
+ AdServingOptimizationStatus: ['ad_serving_optimization_status_pb', 'AdServingOptimizationStatus'],
354
+ AdStrength: ['ad_strength_pb', 'AdStrength'],
355
+ AdType: ['ad_type_pb', 'AdType'],
356
+ AdvertisingChannelSubType: ['advertising_channel_sub_type_pb', 'AdvertisingChannelSubType'],
357
+ AdvertisingChannelType: ['advertising_channel_type_pb', 'AdvertisingChannelType'],
358
+ AffiliateLocationFeedRelationshipType: ['affiliate_location_feed_relationship_type_pb', 'AffiliateLocationFeedRelationshipType'],
359
+ AffiliateLocationPlaceholderField: ['affiliate_location_placeholder_field_pb', 'AffiliateLocationPlaceholderField'],
360
+ AgeRangeType: ['age_range_type_pb', 'AgeRangeType'],
361
+ AppPaymentModelType: ['app_payment_model_type_pb', 'AppPaymentModelType'],
362
+ AppPlaceholderField: ['app_placeholder_field_pb', 'AppPlaceholderField'],
363
+ AppStore: ['app_store_pb', 'AppStore'],
364
+ AttributionModel: ['attribution_model_pb', 'AttributionModel'],
365
+ BidModifierSource: ['bid_modifier_source_pb', 'BidModifierSource'],
366
+ BiddingSource: ['bidding_source_pb', 'BiddingSource'],
367
+ BiddingStrategyStatus: ['bidding_strategy_status_pb', 'BiddingStrategyStatus'],
368
+ BiddingStrategyType: ['bidding_strategy_type_pb', 'BiddingStrategyType'],
369
+ BillingSetupStatus: ['billing_setup_status_pb', 'BillingSetupStatus'],
370
+ BrandSafetySuitability: ['brand_safety_suitability_pb', 'BrandSafetySuitability'],
371
+ BudgetDeliveryMethod: ['budget_delivery_method_pb', 'BudgetDeliveryMethod'],
372
+ BudgetPeriod: ['budget_period_pb', 'BudgetPeriod'],
373
+ BudgetStatus: ['budget_status_pb', 'BudgetStatus'],
374
+ CallConversionReportingState: ['call_conversion_reporting_state_pb', 'CallConversionReportingState'],
375
+ CallPlaceholderField: ['call_placeholder_field_pb', 'CallPlaceholderField'],
376
+ CalloutPlaceholderField: ['callout_placeholder_field_pb', 'CalloutPlaceholderField'],
377
+ CampaignServingStatus: ['campaign_serving_status_pb', 'CampaignServingStatus'],
378
+ CampaignSharedSetStatus: ['campaign_shared_set_status_pb', 'CampaignSharedSetStatus'],
379
+ CampaignStatus: ['campaign_status_pb', 'CampaignStatus'],
380
+ ChangeStatusOperation: ['change_status_operation_pb', 'ChangeStatusOperation'],
381
+ ChangeStatusResourceType: ['change_status_resource_type_pb', 'ChangeStatusResourceType'],
382
+ ClickType: ['click_type_pb', 'ClickType'],
383
+ ContentLabelType: ['content_label_type_pb', 'ContentLabelType'],
384
+ ConversionActionCategory: ['conversion_action_category_pb', 'ConversionActionCategory'],
385
+ ConversionActionCountingType: ['conversion_action_counting_type_pb', 'ConversionActionCountingType'],
386
+ ConversionActionStatus: ['conversion_action_status_pb', 'ConversionActionStatus'],
387
+ ConversionActionType: ['conversion_action_type_pb', 'ConversionActionType'],
388
+ ConversionAttributionEventType: ['conversion_attribution_event_type_pb', 'ConversionAttributionEventType'],
389
+ ConversionLagBucket: ['conversion_lag_bucket_pb', 'ConversionLagBucket'],
390
+ ConversionOrAdjustmentLagBucket: ['conversion_or_adjustment_lag_bucket_pb', 'ConversionOrAdjustmentLagBucket'],
391
+ CriterionCategoryChannelAvailabilityMode: ['criterion_category_channel_availability_mode_pb', 'CriterionCategoryChannelAvailabilityMode'],
392
+ CriterionCategoryLocaleAvailabilityMode: ['criterion_category_locale_availability_mode_pb', 'CriterionCategoryLocaleAvailabilityMode'],
393
+ CriterionSystemServingStatus: ['criterion_system_serving_status_pb', 'CriterionSystemServingStatus'],
394
+ CriterionType: ['criterion_type_pb', 'CriterionType'],
395
+ CustomInterestMemberType: ['custom_interest_member_type_pb', 'CustomInterestMemberType'],
396
+ CustomInterestStatus: ['custom_interest_status_pb', 'CustomInterestStatus'],
397
+ CustomInterestType: ['custom_interest_type_pb', 'CustomInterestType'],
398
+ CustomPlaceholderField: ['custom_placeholder_field_pb', 'CustomPlaceholderField'],
399
+ CustomerMatchUploadKeyType: ['customer_match_upload_key_type_pb', 'CustomerMatchUploadKeyType'],
400
+ DataDrivenModelStatus: ['data_driven_model_status_pb', 'DataDrivenModelStatus'],
401
+ DayOfWeek: ['day_of_week_pb', 'DayOfWeek'],
402
+ Device: ['device_pb', 'Device'],
403
+ DisplayAdFormatSetting: ['display_ad_format_setting_pb', 'DisplayAdFormatSetting'],
404
+ DsaPageFeedCriterionField: ['dsa_page_feed_criterion_field_pb', 'DsaPageFeedCriterionField'],
405
+ EducationPlaceholderField: ['education_placeholder_field_pb', 'EducationPlaceholderField'],
406
+ ExtensionSettingDevice: ['extension_setting_device_pb', 'ExtensionSettingDevice'],
407
+ ExtensionType: ['extension_type_pb', 'ExtensionType'],
408
+ ExternalConversionSource: ['external_conversion_source_pb', 'ExternalConversionSource'],
409
+ FeedAttributeType: ['feed_attribute_type_pb', 'FeedAttributeType'],
410
+ FeedItemQualityApprovalStatus: ['feed_item_quality_approval_status_pb', 'FeedItemQualityApprovalStatus'],
411
+ FeedItemQualityDisapprovalReason: ['feed_item_quality_disapproval_reason_pb', 'FeedItemQualityDisapprovalReason'],
412
+ FeedItemStatus: ['feed_item_status_pb', 'FeedItemStatus'],
413
+ FeedItemTargetDevice: ['feed_item_target_device_pb', 'FeedItemTargetDevice'],
414
+ FeedItemTargetType: ['feed_item_target_type_pb', 'FeedItemTargetType'],
415
+ FeedItemValidationStatus: ['feed_item_validation_status_pb', 'FeedItemValidationStatus'],
416
+ FeedLinkStatus: ['feed_link_status_pb', 'FeedLinkStatus'],
417
+ FeedMappingCriterionType: ['feed_mapping_criterion_type_pb', 'FeedMappingCriterionType'],
418
+ FeedMappingStatus: ['feed_mapping_status_pb', 'FeedMappingStatus'],
419
+ FeedOrigin: ['feed_origin_pb', 'FeedOrigin'],
420
+ FeedStatus: ['feed_status_pb', 'FeedStatus'],
421
+ FlightPlaceholderField: ['flight_placeholder_field_pb', 'FlightPlaceholderField'],
422
+ FrequencyCapEventType: ['frequency_cap_event_type_pb', 'FrequencyCapEventType'],
423
+ FrequencyCapLevel: ['frequency_cap_level_pb', 'FrequencyCapLevel'],
424
+ FrequencyCapTimeUnit: ['frequency_cap_time_unit_pb', 'FrequencyCapTimeUnit'],
425
+ GenderType: ['gender_type_pb', 'GenderType'],
426
+ GeoTargetConstantStatus: ['geo_target_constant_status_pb', 'GeoTargetConstantStatus'],
427
+ GeoTargetingRestriction: ['geo_targeting_restriction_pb', 'GeoTargetingRestriction'],
428
+ GeoTargetingType: ['geo_targeting_type_pb', 'GeoTargetingType'],
429
+ GoogleAdsFieldCategory: ['google_ads_field_category_pb', 'GoogleAdsFieldCategory'],
430
+ GoogleAdsFieldDataType: ['google_ads_field_data_type_pb', 'GoogleAdsFieldDataType'],
431
+ HotelDateSelectionType: ['hotel_date_selection_type_pb', 'HotelDateSelectionType'],
432
+ HotelPlaceholderField: ['hotel_placeholder_field_pb', 'HotelPlaceholderField'],
433
+ IncomeRangeType: ['income_range_type_pb', 'IncomeRangeType'],
434
+ InteractionEventType: ['interaction_event_type_pb', 'InteractionEventType'],
435
+ InteractionType: ['interaction_type_pb', 'InteractionType'],
436
+ JobPlaceholderField: ['job_placeholder_field_pb', 'JobPlaceholderField'],
437
+ KeywordMatchType: ['keyword_match_type_pb', 'KeywordMatchType'],
438
+ KeywordPlanCompetitionLevel: ['keyword_plan_competition_level_pb', 'KeywordPlanCompetitionLevel'],
439
+ KeywordPlanForecastInterval: ['keyword_plan_forecast_interval_pb', 'KeywordPlanForecastInterval'],
440
+ KeywordPlanNetwork: ['keyword_plan_network_pb', 'KeywordPlanNetwork'],
441
+ LabelStatus: ['label_status_pb', 'LabelStatus'],
442
+ ListingCustomAttributeIndex: ['listing_custom_attribute_index_pb', 'ListingCustomAttributeIndex'],
443
+ ListingGroupType: ['listing_group_type_pb', 'ListingGroupType'],
444
+ LocalPlaceholderField: ['local_placeholder_field_pb', 'LocalPlaceholderField'],
445
+ LocationExtensionTargetingCriterionField: ['location_extension_targeting_criterion_field_pb', 'LocationExtensionTargetingCriterionField'],
446
+ LocationPlaceholderField: ['location_placeholder_field_pb', 'LocationPlaceholderField'],
447
+ ManagerLinkStatus: ['manager_link_status_pb', 'ManagerLinkStatus'],
448
+ MatchingFunctionContextType: ['matching_function_context_type_pb', 'MatchingFunctionContextType'],
449
+ MatchingFunctionOperator: ['matching_function_operator_pb', 'MatchingFunctionOperator'],
450
+ MediaType: ['media_type_pb', 'MediaType'],
451
+ MerchantCenterLinkStatus: ['merchant_center_link_status_pb', 'MerchantCenterLinkStatus'],
452
+ MessagePlaceholderField: ['message_placeholder_field_pb', 'MessagePlaceholderField'],
453
+ MimeType: ['mime_type_pb', 'MimeType'],
454
+ MinuteOfHour: ['minute_of_hour_pb', 'MinuteOfHour'],
455
+ MobileDeviceType: ['mobile_device_type_pb', 'MobileDeviceType'],
456
+ MonthOfYear: ['month_of_year_pb', 'MonthOfYear'],
457
+ MutateJobStatus: ['mutate_job_status_pb', 'MutateJobStatus'],
458
+ NegativeGeoTargetType: ['negative_geo_target_type_pb', 'NegativeGeoTargetType'],
459
+ OperatingSystemVersionOperatorType: ['operating_system_version_operator_type_pb', 'OperatingSystemVersionOperatorType'],
460
+ PageOnePromotedStrategyGoal: ['page_one_promoted_strategy_goal_pb', 'PageOnePromotedStrategyGoal'],
461
+ ParentalStatusType: ['parental_status_type_pb', 'ParentalStatusType'],
462
+ PlaceholderType: ['placeholder_type_pb', 'PlaceholderType'],
463
+ PlacementType: ['placement_type_pb', 'PlacementType'],
464
+ PolicyApprovalStatus: ['policy_approval_status_pb', 'PolicyApprovalStatus'],
465
+ PolicyReviewStatus: ['policy_review_status_pb', 'PolicyReviewStatus'],
466
+ PolicyTopicEntryType: ['policy_topic_entry_type_pb', 'PolicyTopicEntryType'],
467
+ PolicyTopicEvidenceDestinationMismatchUrlType: ['policy_topic_evidence_destination_mismatch_url_type_pb', 'PolicyTopicEvidenceDestinationMismatchUrlType'],
468
+ PositiveGeoTargetType: ['positive_geo_target_type_pb', 'PositiveGeoTargetType'],
469
+ PreferredContentType: ['preferred_content_type_pb', 'PreferredContentType'],
470
+ PriceExtensionPriceQualifier: ['price_extension_price_qualifier_pb', 'PriceExtensionPriceQualifier'],
471
+ PriceExtensionPriceUnit: ['price_extension_price_unit_pb', 'PriceExtensionPriceUnit'],
472
+ PriceExtensionType: ['price_extension_type_pb', 'PriceExtensionType'],
473
+ PricePlaceholderField: ['price_placeholder_field_pb', 'PricePlaceholderField'],
474
+ ProductBiddingCategoryLevel: ['product_bidding_category_level_pb', 'ProductBiddingCategoryLevel'],
475
+ ProductBiddingCategoryStatus: ['product_bidding_category_status_pb', 'ProductBiddingCategoryStatus'],
476
+ ProductChannelExclusivity: ['product_channel_exclusivity_pb', 'ProductChannelExclusivity'],
477
+ ProductChannel: ['product_channel_pb', 'ProductChannel'],
478
+ ProductCondition: ['product_condition_pb', 'ProductCondition'],
479
+ ProductTypeLevel: ['product_type_level_pb', 'ProductTypeLevel'],
480
+ PromotionExtensionDiscountModifier: ['promotion_extension_discount_modifier_pb', 'PromotionExtensionDiscountModifier'],
481
+ PromotionExtensionOccasion: ['promotion_extension_occasion_pb', 'PromotionExtensionOccasion'],
482
+ PromotionPlaceholderField: ['promotion_placeholder_field_pb', 'PromotionPlaceholderField'],
483
+ ProximityRadiusUnits: ['proximity_radius_units_pb', 'ProximityRadiusUnits'],
484
+ QualityScoreBucket: ['quality_score_bucket_pb', 'QualityScoreBucket'],
485
+ RealEstatePlaceholderField: ['real_estate_placeholder_field_pb', 'RealEstatePlaceholderField'],
486
+ RecommendationType: ['recommendation_type_pb', 'RecommendationType'],
487
+ SearchTermMatchType: ['search_term_match_type_pb', 'SearchTermMatchType'],
488
+ SearchTermTargetingStatus: ['search_term_targeting_status_pb', 'SearchTermTargetingStatus'],
489
+ ServedAssetFieldType: ['served_asset_field_type_pb', 'ServedAssetFieldType'],
490
+ SharedSetStatus: ['shared_set_status_pb', 'SharedSetStatus'],
491
+ SharedSetType: ['shared_set_type_pb', 'SharedSetType'],
492
+ SitelinkPlaceholderField: ['sitelink_placeholder_field_pb', 'SitelinkPlaceholderField'],
493
+ Slot: ['slot_pb', 'Slot'],
494
+ SpendingLimitType: ['spending_limit_type_pb', 'SpendingLimitType'],
495
+ StructuredSnippetPlaceholderField: ['structured_snippet_placeholder_field_pb', 'StructuredSnippetPlaceholderField'],
496
+ SystemManagedEntitySource: ['system_managed_entity_source_pb', 'SystemManagedEntitySource'],
497
+ TargetCpaOptInRecommendationGoal: ['target_cpa_opt_in_recommendation_goal_pb', 'TargetCpaOptInRecommendationGoal'],
498
+ TargetImpressionShareLocation: ['target_impression_share_location_pb', 'TargetImpressionShareLocation'],
499
+ TargetingDimension: ['targeting_dimension_pb', 'TargetingDimension'],
500
+ TimeType: ['time_type_pb', 'TimeType'],
501
+ TrackingCodePageFormat: ['tracking_code_page_format_pb', 'TrackingCodePageFormat'],
502
+ TrackingCodeType: ['tracking_code_type_pb', 'TrackingCodeType'],
503
+ TravelPlaceholderField: ['travel_placeholder_field_pb', 'TravelPlaceholderField'],
504
+ UserInterestTaxonomyType: ['user_interest_taxonomy_type_pb', 'UserInterestTaxonomyType'],
505
+ UserListAccessStatus: ['user_list_access_status_pb', 'UserListAccessStatus'],
506
+ UserListClosingReason: ['user_list_closing_reason_pb', 'UserListClosingReason'],
507
+ UserListCombinedRuleOperator: ['user_list_combined_rule_operator_pb', 'UserListCombinedRuleOperator'],
508
+ UserListCrmDataSourceType: ['user_list_crm_data_source_type_pb', 'UserListCrmDataSourceType'],
509
+ UserListDateRuleItemOperator: ['user_list_date_rule_item_operator_pb', 'UserListDateRuleItemOperator'],
510
+ UserListLogicalRuleOperator: ['user_list_logical_rule_operator_pb', 'UserListLogicalRuleOperator'],
511
+ UserListMembershipStatus: ['user_list_membership_status_pb', 'UserListMembershipStatus'],
512
+ UserListNumberRuleItemOperator: ['user_list_number_rule_item_operator_pb', 'UserListNumberRuleItemOperator'],
513
+ UserListPrepopulationStatus: ['user_list_prepopulation_status_pb', 'UserListPrepopulationStatus'],
514
+ UserListRuleType: ['user_list_rule_type_pb', 'UserListRuleType'],
515
+ UserListSizeRange: ['user_list_size_range_pb', 'UserListSizeRange'],
516
+ UserListStringRuleItemOperator: ['user_list_string_rule_item_operator_pb', 'UserListStringRuleItemOperator'],
517
+ UserListType: ['user_list_type_pb', 'UserListType'],
518
+ VanityPharmaDisplayUrlMode: ['vanity_pharma_display_url_mode_pb', 'VanityPharmaDisplayUrlMode'],
519
+ VanityPharmaText: ['vanity_pharma_text_pb', 'VanityPharmaText'],
520
+ WebpageConditionOperand: ['webpage_condition_operand_pb', 'WebpageConditionOperand'],
521
+ WebpageConditionOperator: ['webpage_condition_operator_pb', 'WebpageConditionOperator'],
522
+ }.freeze
523
+
524
+ SERVICES = {
525
+ AccountBudgetProposal: ['account_budget_proposal_service_client', 'AccountBudgetProposalServiceClient'],
526
+ AccountBudget: ['account_budget_service_client', 'AccountBudgetServiceClient'],
527
+ AdGroupAdLabel: ['ad_group_ad_label_service_client', 'AdGroupAdLabelServiceClient'],
528
+ AdGroupAd: ['ad_group_ad_service_client', 'AdGroupAdServiceClient'],
529
+ AdGroupAudienceView: ['ad_group_audience_view_service_client', 'AdGroupAudienceViewServiceClient'],
530
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_client', 'AdGroupBidModifierServiceClient'],
531
+ AdGroupCriterionLabel: ['ad_group_criterion_label_service_client', 'AdGroupCriterionLabelServiceClient'],
532
+ AdGroupCriterion: ['ad_group_criterion_service_client', 'AdGroupCriterionServiceClient'],
533
+ AdGroupExtensionSetting: ['ad_group_extension_setting_service_client', 'AdGroupExtensionSettingServiceClient'],
534
+ AdGroupFeed: ['ad_group_feed_service_client', 'AdGroupFeedServiceClient'],
535
+ AdGroupLabel: ['ad_group_label_service_client', 'AdGroupLabelServiceClient'],
536
+ AdGroup: ['ad_group_service_client', 'AdGroupServiceClient'],
537
+ AdParameter: ['ad_parameter_service_client', 'AdParameterServiceClient'],
538
+ AdScheduleView: ['ad_schedule_view_service_client', 'AdScheduleViewServiceClient'],
539
+ AgeRangeView: ['age_range_view_service_client', 'AgeRangeViewServiceClient'],
540
+ BiddingStrategy: ['bidding_strategy_service_client', 'BiddingStrategyServiceClient'],
541
+ BillingSetup: ['billing_setup_service_client', 'BillingSetupServiceClient'],
542
+ CampaignAudienceView: ['campaign_audience_view_service_client', 'CampaignAudienceViewServiceClient'],
543
+ CampaignBidModifier: ['campaign_bid_modifier_service_client', 'CampaignBidModifierServiceClient'],
544
+ CampaignBudget: ['campaign_budget_service_client', 'CampaignBudgetServiceClient'],
545
+ CampaignCriterion: ['campaign_criterion_service_client', 'CampaignCriterionServiceClient'],
546
+ CampaignExtensionSetting: ['campaign_extension_setting_service_client', 'CampaignExtensionSettingServiceClient'],
547
+ CampaignFeed: ['campaign_feed_service_client', 'CampaignFeedServiceClient'],
548
+ CampaignLabel: ['campaign_label_service_client', 'CampaignLabelServiceClient'],
549
+ Campaign: ['campaign_service_client', 'CampaignServiceClient'],
550
+ CampaignSharedSet: ['campaign_shared_set_service_client', 'CampaignSharedSetServiceClient'],
551
+ CarrierConstant: ['carrier_constant_service_client', 'CarrierConstantServiceClient'],
552
+ ChangeStatus: ['change_status_service_client', 'ChangeStatusServiceClient'],
553
+ ClickView: ['click_view_service_client', 'ClickViewServiceClient'],
554
+ ConversionAction: ['conversion_action_service_client', 'ConversionActionServiceClient'],
555
+ ConversionUpload: ['conversion_upload_service_client', 'ConversionUploadServiceClient'],
556
+ CustomInterest: ['custom_interest_service_client', 'CustomInterestServiceClient'],
557
+ CustomerClientLink: ['customer_client_link_service_client', 'CustomerClientLinkServiceClient'],
558
+ CustomerClient: ['customer_client_service_client', 'CustomerClientServiceClient'],
559
+ CustomerExtensionSetting: ['customer_extension_setting_service_client', 'CustomerExtensionSettingServiceClient'],
560
+ CustomerFeed: ['customer_feed_service_client', 'CustomerFeedServiceClient'],
561
+ CustomerLabel: ['customer_label_service_client', 'CustomerLabelServiceClient'],
562
+ CustomerManagerLink: ['customer_manager_link_service_client', 'CustomerManagerLinkServiceClient'],
563
+ CustomerNegativeCriterion: ['customer_negative_criterion_service_client', 'CustomerNegativeCriterionServiceClient'],
564
+ Customer: ['customer_service_client', 'CustomerServiceClient'],
565
+ DetailPlacementView: ['detail_placement_view_service_client', 'DetailPlacementViewServiceClient'],
566
+ DisplayKeywordView: ['display_keyword_view_service_client', 'DisplayKeywordViewServiceClient'],
567
+ DomainCategory: ['domain_category_service_client', 'DomainCategoryServiceClient'],
568
+ DynamicSearchAdsSearchTermView: ['dynamic_search_ads_search_term_view_service_client', 'DynamicSearchAdsSearchTermViewServiceClient'],
569
+ ExtensionFeedItem: ['extension_feed_item_service_client', 'ExtensionFeedItemServiceClient'],
570
+ FeedItem: ['feed_item_service_client', 'FeedItemServiceClient'],
571
+ FeedItemTarget: ['feed_item_target_service_client', 'FeedItemTargetServiceClient'],
572
+ FeedMapping: ['feed_mapping_service_client', 'FeedMappingServiceClient'],
573
+ FeedPlaceholderView: ['feed_placeholder_view_service_client', 'FeedPlaceholderViewServiceClient'],
574
+ Feed: ['feed_service_client', 'FeedServiceClient'],
575
+ GenderView: ['gender_view_service_client', 'GenderViewServiceClient'],
576
+ GeoTargetConstant: ['geo_target_constant_service_client', 'GeoTargetConstantServiceClient'],
577
+ GeographicView: ['geographic_view_service_client', 'GeographicViewServiceClient'],
578
+ GoogleAdsField: ['google_ads_field_service_client', 'GoogleAdsFieldServiceClient'],
579
+ GoogleAds: ['google_ads_service_client', 'GoogleAdsServiceClient'],
580
+ GroupPlacementView: ['group_placement_view_service_client', 'GroupPlacementViewServiceClient'],
581
+ HotelGroupView: ['hotel_group_view_service_client', 'HotelGroupViewServiceClient'],
582
+ HotelPerformanceView: ['hotel_performance_view_service_client', 'HotelPerformanceViewServiceClient'],
583
+ KeywordPlanAdGroup: ['keyword_plan_ad_group_service_client', 'KeywordPlanAdGroupServiceClient'],
584
+ KeywordPlanCampaign: ['keyword_plan_campaign_service_client', 'KeywordPlanCampaignServiceClient'],
585
+ KeywordPlanIdea: ['keyword_plan_idea_service_client', 'KeywordPlanIdeaServiceClient'],
586
+ KeywordPlanKeyword: ['keyword_plan_keyword_service_client', 'KeywordPlanKeywordServiceClient'],
587
+ KeywordPlanNegativeKeyword: ['keyword_plan_negative_keyword_service_client', 'KeywordPlanNegativeKeywordServiceClient'],
588
+ KeywordPlan: ['keyword_plan_service_client', 'KeywordPlanServiceClient'],
589
+ KeywordView: ['keyword_view_service_client', 'KeywordViewServiceClient'],
590
+ Label: ['label_service_client', 'LabelServiceClient'],
591
+ LanguageConstant: ['language_constant_service_client', 'LanguageConstantServiceClient'],
592
+ LocationView: ['location_view_service_client', 'LocationViewServiceClient'],
593
+ ManagedPlacementView: ['managed_placement_view_service_client', 'ManagedPlacementViewServiceClient'],
594
+ MediaFile: ['media_file_service_client', 'MediaFileServiceClient'],
595
+ MerchantCenterLink: ['merchant_center_link_service_client', 'MerchantCenterLinkServiceClient'],
596
+ MobileAppCategoryConstant: ['mobile_app_category_constant_service_client', 'MobileAppCategoryConstantServiceClient'],
597
+ MobileDeviceConstant: ['mobile_device_constant_service_client', 'MobileDeviceConstantServiceClient'],
598
+ MutateJob: ['mutate_job_service_client', 'MutateJobServiceClient'],
599
+ OperatingSystemVersionConstant: ['operating_system_version_constant_service_client', 'OperatingSystemVersionConstantServiceClient'],
600
+ ParentalStatusView: ['parental_status_view_service_client', 'ParentalStatusViewServiceClient'],
601
+ PaymentsAccount: ['payments_account_service_client', 'PaymentsAccountServiceClient'],
602
+ ProductBiddingCategoryConstant: ['product_bidding_category_constant_service_client', 'ProductBiddingCategoryConstantServiceClient'],
603
+ ProductGroupView: ['product_group_view_service_client', 'ProductGroupViewServiceClient'],
604
+ Recommendation: ['recommendation_service_client', 'RecommendationServiceClient'],
605
+ RemarketingAction: ['remarketing_action_service_client', 'RemarketingActionServiceClient'],
606
+ SearchTermView: ['search_term_view_service_client', 'SearchTermViewServiceClient'],
607
+ SharedCriterion: ['shared_criterion_service_client', 'SharedCriterionServiceClient'],
608
+ SharedSet: ['shared_set_service_client', 'SharedSetServiceClient'],
609
+ ShoppingPerformanceView: ['shopping_performance_view_service_client', 'ShoppingPerformanceViewServiceClient'],
610
+ TopicConstant: ['topic_constant_service_client', 'TopicConstantServiceClient'],
611
+ TopicView: ['topic_view_service_client', 'TopicViewServiceClient'],
612
+ UserInterest: ['user_interest_service_client', 'UserInterestServiceClient'],
613
+ UserList: ['user_list_service_client', 'UserListServiceClient'],
614
+ Video: ['video_service_client', 'VideoServiceClient']
615
+ }.freeze
616
+
617
+ OPERATIONS = {
618
+ AccountBudgetProposal: ['account_budget_proposal_service_pb', 'AccountBudgetProposalOperation'],
619
+ AdGroupAdLabel: ['ad_group_ad_label_service_pb', 'AdGroupAdLabelOperation'],
620
+ AdGroupAd: ['ad_group_ad_service_pb', 'AdGroupAdOperation'],
621
+ AdGroupBidModifier: ['ad_group_bid_modifier_service_pb', 'AdGroupBidModifierOperation'],
622
+ AdGroupCriterionLabel: ['ad_group_criterion_label_service_pb', 'AdGroupCriterionLabelOperation'],
623
+ AdGroupCriterion: ['ad_group_criterion_service_pb', 'AdGroupCriterionOperation'],
624
+ AdGroupExtensionSetting: ['ad_group_extension_setting_service_pb', 'AdGroupExtensionSettingOperation'],
625
+ AdGroupFeed: ['ad_group_feed_service_pb', 'AdGroupFeedOperation'],
626
+ AdGroupLabel: ['ad_group_label_service_pb', 'AdGroupLabelOperation'],
627
+ AdGroup: ['ad_group_service_pb', 'AdGroupOperation'],
628
+ AdParameter: ['ad_parameter_service_pb', 'AdParameterOperation'],
629
+ ApplyRecommendation: ['recommendation_service_pb', 'ApplyRecommendationOperation'],
630
+ BiddingStrategy: ['bidding_strategy_service_pb', 'BiddingStrategyOperation'],
631
+ BillingSetup: ['billing_setup_service_pb', 'BillingSetupOperation'],
632
+ CampaignBidModifier: ['campaign_bid_modifier_service_pb', 'CampaignBidModifierOperation'],
633
+ CampaignBudget: ['campaign_budget_service_pb', 'CampaignBudgetOperation'],
634
+ CampaignCriterion: ['campaign_criterion_service_pb', 'CampaignCriterionOperation'],
635
+ CampaignExtensionSetting: ['campaign_extension_setting_service_pb', 'CampaignExtensionSettingOperation'],
636
+ CampaignFeed: ['campaign_feed_service_pb', 'CampaignFeedOperation'],
637
+ CampaignLabel: ['campaign_label_service_pb', 'CampaignLabelOperation'],
638
+ Campaign: ['campaign_service_pb', 'CampaignOperation'],
639
+ CampaignSharedSet: ['campaign_shared_set_service_pb', 'CampaignSharedSetOperation'],
640
+ CustomInterest: ['custom_interest_service_pb', 'CustomInterestOperation'],
641
+ CustomerExtensionSetting: ['customer_extension_setting_service_pb', 'CustomerExtensionSettingOperation'],
642
+ CustomerFeed: ['customer_feed_service_pb', 'CustomerFeedOperation'],
643
+ CustomerLabel: ['customer_label_service_pb', 'CustomerLabelOperation'],
644
+ CustomerNegativeCriterion: ['customer_negative_criterion_service_pb', 'CustomerNegativeCriterionOperation'],
645
+ Customer: ['customer_service_pb', 'CustomerOperation'],
646
+ ConversionAction: ['conversion_action_service_pb', 'ConversionActionOperation'],
647
+ DismissRecommendation: ['recommendation_service_pb', 'DismissRecommendationRequest::DismissRecommendationOperation'],
648
+ ExtensionFeedItemOperation: ['extension_feed_item_service_pb', 'ExtensionFeedItemOperation'],
649
+ FeedItem: ['feed_item_service_pb', 'FeedItemOperation'],
650
+ FeedItemTarget: ['feed_item_target_service_pb', 'FeedItemTargetOperation'],
651
+ FeedMapping: ['feed_mapping_service_pb', 'FeedMappingOperation'],
652
+ Feed: ['feed_service_pb', 'FeedOperation'],
653
+ KeywordPlanAdGroup: ['keyword_plan_ad_group_service_pb', 'KeywordPlanAdGroupOperation'],
654
+ KeywordPlanCampaign: ['keyword_plan_campaign_service_pb', 'KeywordPlanCampaignOperation'],
655
+ KeywordPlanKeyword: ['keyword_plan_keyword_service_pb','KeywordPlanKeywordOperation'],
656
+ KeywordPlanNegativeKeyword: ['keyword_plan_negative_keyword_service_pb', 'KeywordPlanNegativeKeywordOperation'],
657
+ KeywordPlan: ['keyword_plan_service_pb', 'KeywordPlanOperation'],
658
+ Label: ['label_service_pb', 'LabelOperation'],
659
+ MediaFile: ['media_file_service_pb', 'MediaFileOperation'],
660
+ MerchantCenterLink: ['merchant_center_link_service_pb', 'MerchantCenterLinkOperation'],
661
+ Mutate: ['google_ads_service_pb', 'MutateOperation'],
662
+ RemarketingAction: ['remarketing_action_service_pb', 'RemarketingActionOperation'],
663
+ SharedCriterion: ['shared_criterion_service_pb', 'SharedCriterionOperation'],
664
+ SharedSet: ['shared_set_service_pb', 'SharedSetOperation'],
665
+ UserList: ['user_list_service_pb', 'UserListOperation']
666
+ }.freeze
667
+
668
+ def initialize()
669
+ @version = :V1
670
+ @path_version = @version.downcase
671
+ end
672
+
673
+ # Look up the class for a resource by name.
674
+ def resource(name)
675
+ name = name.to_sym
676
+
677
+ resource_info = RESOURCES[name]
678
+ if resource_info.nil?
679
+ raise ArgumentError, sprintf('No resource found with name %s', name)
680
+ end
681
+
682
+ require_path = sprintf(RESOURCE_PATH, @path_version, resource_info[0],
683
+ resource_info[1])
684
+ require require_path
685
+
686
+ class_path = RESOURCE_CLASS_PATH
687
+ class_path = COMMON_CLASS_PATH if resource_info.first == 'common'
688
+ class_path = SERVICE_CLASS_PATH if resource_info.first == 'services'
689
+ class_path = sprintf(class_path, @version, resource_info[2])
690
+ return class_for_path(class_path)
691
+ end
692
+
693
+ # Look up the class for an enum by name.
694
+ def enum(name)
695
+ name = name.to_sym
696
+
697
+ enum_info = ENUMS[name]
698
+ if enum_info.nil?
699
+ raise ArgumentError, sprintf('No enum found with name %s', name)
700
+ end
701
+
702
+ require_path = sprintf(ENUM_PATH, @path_version, enum_info.first)
703
+ require require_path
704
+
705
+ class_path = sprintf(ENUM_CLASS_PATH, @version, enum_info.last,
706
+ enum_info.last)
707
+ return class_for_path(class_path)
708
+ end
709
+
710
+ # Look up the class for a service by name.
711
+ def service(name)
712
+ name = name.to_sym
713
+
714
+ service_info = SERVICES[name]
715
+ if service_info.nil?
716
+ raise ArgumentError, sprintf('No service found with name %s', name)
717
+ end
718
+
719
+ require_path = sprintf(SERVICE_PATH, @path_version,
720
+ service_info.first)
721
+ require require_path
722
+
723
+ class_path = sprintf(SERVICE_CLASS_PATH, @version, service_info.last)
724
+ return class_for_path(class_path)
725
+ end
726
+
727
+ # Look up the class for an operation by name.
728
+ def operation(name)
729
+ name = name.to_sym
730
+
731
+ operation_info = OPERATIONS[name]
732
+ if operation_info.nil?
733
+ raise ArgumentError,
734
+ sprintf('No operation found with name %s', name)
735
+ end
736
+
737
+ require_path = sprintf(SERVICE_PATH, @path_version,
738
+ operation_info.first)
739
+ require require_path
740
+
741
+ class_path = sprintf(SERVICE_CLASS_PATH, @version,
742
+ operation_info.last)
743
+ return class_for_path(class_path)
744
+ end
745
+
746
+ private
747
+
748
+ # Converts complete class path into class object.
749
+ def class_for_path(path)
750
+ path.split('::').inject(Kernel) do |scope, const_name|
751
+ scope.const_get(const_name)
752
+ end
753
+ end
754
+ end
755
+ end
756
+ end
757
+ end
758
+ end
759
+ end