google-ads-googleads 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +4 -0
  3. data/google_ads_config.rb +9 -0
  4. data/lib/google/ads/google_ads/config.rb +2 -0
  5. data/lib/google/ads/google_ads/google_ads_client.rb +13 -1
  6. data/lib/google/ads/google_ads/path_lookup_util.rb +115 -0
  7. data/lib/google/ads/google_ads/proto_lookup_util.rb +237 -3
  8. data/lib/google/ads/google_ads/v0/common/ad_type_infos_pb.rb +37 -0
  9. data/lib/google/ads/google_ads/v0/common/criteria_pb.rb +34 -0
  10. data/lib/google/ads/google_ads/v0/common/criterion_category_availability_pb.rb +41 -0
  11. data/lib/google/ads/google_ads/v0/common/dates_pb.rb +24 -0
  12. data/lib/google/ads/google_ads/v0/common/explorer_auto_optimizer_setting_pb.rb +23 -0
  13. data/lib/google/ads/google_ads/v0/common/feed_common_pb.rb +24 -0
  14. data/lib/google/ads/google_ads/v0/common/frequency_cap_pb.rb +34 -0
  15. data/lib/google/ads/google_ads/v0/common/keyword_plan_common_pb.rb +25 -0
  16. data/lib/google/ads/google_ads/v0/common/matching_function_pb.rb +23 -0
  17. data/lib/google/ads/google_ads/v0/common/metrics_pb.rb +3 -0
  18. data/lib/google/ads/google_ads/v0/common/real_time_bidding_setting_pb.rb +23 -0
  19. data/lib/google/ads/google_ads/v0/common/user_lists_pb.rb +31 -0
  20. data/lib/google/ads/google_ads/v0/enums/access_reason_pb.rb +31 -0
  21. data/lib/google/ads/google_ads/v0/enums/ad_customizer_placeholder_field_pb.rb +30 -0
  22. data/lib/google/ads/google_ads/v0/enums/ad_type_pb.rb +3 -1
  23. data/lib/google/ads/google_ads/v0/enums/affiliate_location_feed_relationship_type_pb.rb +27 -0
  24. data/lib/google/ads/google_ads/v0/enums/app_placeholder_field_pb.rb +34 -0
  25. data/lib/google/ads/google_ads/v0/enums/call_placeholder_field_pb.rb +31 -0
  26. data/lib/google/ads/google_ads/v0/enums/callout_placeholder_field_pb.rb +27 -0
  27. data/lib/google/ads/google_ads/v0/enums/content_label_type_pb.rb +41 -0
  28. data/lib/google/ads/google_ads/v0/enums/criterion_category_channel_availability_mode_pb.rb +29 -0
  29. data/lib/google/ads/google_ads/v0/enums/criterion_category_locale_availability_mode_pb.rb +30 -0
  30. data/lib/google/ads/google_ads/v0/enums/criterion_type_pb.rb +7 -0
  31. data/lib/google/ads/google_ads/v0/enums/custom_placeholder_field_pb.rb +46 -0
  32. data/lib/google/ads/google_ads/v0/enums/customer_match_upload_key_type_pb.rb +29 -0
  33. data/lib/google/ads/google_ads/v0/enums/education_placeholder_field_pb.rb +43 -0
  34. data/lib/google/ads/google_ads/v0/enums/feed_attribute_type_pb.rb +39 -0
  35. data/lib/google/ads/google_ads/v0/enums/feed_item_status_pb.rb +28 -0
  36. data/lib/google/ads/google_ads/v0/enums/feed_link_status_pb.rb +28 -0
  37. data/lib/google/ads/google_ads/v0/enums/feed_mapping_criterion_type_pb.rb +28 -0
  38. data/lib/google/ads/google_ads/v0/enums/feed_mapping_status_pb.rb +28 -0
  39. data/lib/google/ads/google_ads/v0/enums/feed_origin_pb.rb +28 -0
  40. data/lib/google/ads/google_ads/v0/enums/feed_status_pb.rb +28 -0
  41. data/lib/google/ads/google_ads/v0/enums/flight_placeholder_field_pb.rb +43 -0
  42. data/lib/google/ads/google_ads/v0/enums/frequency_cap_event_type_pb.rb +28 -0
  43. data/lib/google/ads/google_ads/v0/enums/frequency_cap_level_pb.rb +29 -0
  44. data/lib/google/ads/google_ads/v0/enums/frequency_cap_time_unit_pb.rb +29 -0
  45. data/lib/google/ads/google_ads/v0/enums/geo_targeting_restriction_pb.rb +27 -0
  46. data/lib/google/ads/google_ads/v0/enums/hotel_placeholder_field_pb.rb +46 -0
  47. data/lib/google/ads/google_ads/v0/enums/job_placeholder_field_pb.rb +43 -0
  48. data/lib/google/ads/google_ads/v0/enums/keyword_plan_competition_level_pb.rb +29 -0
  49. data/lib/google/ads/google_ads/v0/enums/keyword_plan_forecast_interval_pb.rb +29 -0
  50. data/lib/google/ads/google_ads/v0/enums/keyword_plan_network_pb.rb +28 -0
  51. data/lib/google/ads/google_ads/v0/enums/local_placeholder_field_pb.rb +45 -0
  52. data/lib/google/ads/google_ads/v0/enums/message_placeholder_field_pb.rb +31 -0
  53. data/lib/google/ads/google_ads/v0/enums/placeholder_type_pb.rb +45 -0
  54. data/lib/google/ads/google_ads/v0/enums/preferred_content_type_pb.rb +27 -0
  55. data/lib/google/ads/google_ads/v0/enums/price_placeholder_field_pb.rb +79 -0
  56. data/lib/google/ads/google_ads/v0/enums/product_condition_pb.rb +0 -1
  57. data/lib/google/ads/google_ads/v0/enums/promotion_placeholder_field_pb.rb +40 -0
  58. data/lib/google/ads/google_ads/v0/enums/real_estate_placeholder_field_pb.rb +44 -0
  59. data/lib/google/ads/google_ads/v0/enums/search_term_match_type_pb.rb +31 -0
  60. data/lib/google/ads/google_ads/v0/enums/search_term_targeting_status_pb.rb +30 -0
  61. data/lib/google/ads/google_ads/v0/enums/sitelink_placeholder_field_pb.rb +33 -0
  62. data/lib/google/ads/google_ads/v0/enums/structured_snippet_placeholder_field_pb.rb +28 -0
  63. data/lib/google/ads/google_ads/v0/enums/targeting_dimension_pb.rb +34 -0
  64. data/lib/google/ads/google_ads/v0/enums/tracking_code_page_format_pb.rb +1 -0
  65. data/lib/google/ads/google_ads/v0/enums/travel_placeholder_field_pb.rb +46 -0
  66. data/lib/google/ads/google_ads/v0/enums/user_interest_taxonomy_type_pb.rb +31 -0
  67. data/lib/google/ads/google_ads/v0/enums/user_list_access_status_pb.rb +28 -0
  68. data/lib/google/ads/google_ads/v0/enums/user_list_closing_reason_pb.rb +27 -0
  69. data/lib/google/ads/google_ads/v0/enums/user_list_crm_data_source_type_pb.rb +29 -0
  70. data/lib/google/ads/google_ads/v0/enums/user_list_membership_status_pb.rb +28 -0
  71. data/lib/google/ads/google_ads/v0/enums/user_list_size_range_pb.rb +42 -0
  72. data/lib/google/ads/google_ads/v0/enums/user_list_type_pb.rb +32 -0
  73. data/lib/google/ads/google_ads/v0/errors/ad_group_feed_error_pb.rb +33 -0
  74. data/lib/google/ads/google_ads/v0/errors/authentication_error_pb.rb +1 -2
  75. data/lib/google/ads/google_ads/v0/errors/campaign_feed_error_pb.rb +32 -0
  76. data/lib/google/ads/google_ads/v0/errors/customer_error_pb.rb +1 -0
  77. data/lib/google/ads/google_ads/v0/errors/customer_feed_error_pb.rb +33 -0
  78. data/lib/google/ads/google_ads/v0/errors/date_error_pb.rb +2 -1
  79. data/lib/google/ads/google_ads/v0/errors/errors_pb.rb +26 -0
  80. data/lib/google/ads/google_ads/v0/errors/feed_error_pb.rb +45 -0
  81. data/lib/google/ads/google_ads/v0/errors/feed_item_error_pb.rb +35 -0
  82. data/lib/google/ads/google_ads/v0/errors/feed_mapping_error_pb.rb +42 -0
  83. data/lib/google/ads/google_ads/v0/errors/header_error_pb.rb +1 -0
  84. data/lib/google/ads/google_ads/v0/errors/keyword_plan_ad_group_error_pb.rb +28 -0
  85. data/lib/google/ads/google_ads/v0/errors/keyword_plan_campaign_error_pb.rb +31 -0
  86. data/lib/google/ads/google_ads/v0/errors/keyword_plan_error_pb.rb +40 -0
  87. data/lib/google/ads/google_ads/v0/errors/keyword_plan_idea_error_pb.rb +28 -0
  88. data/lib/google/ads/google_ads/v0/errors/keyword_plan_keyword_error_pb.rb +32 -0
  89. data/lib/google/ads/google_ads/v0/errors/keyword_plan_negative_keyword_error_pb.rb +26 -0
  90. data/lib/google/ads/google_ads/v0/errors/new_resource_creation_error_pb.rb +1 -1
  91. data/lib/google/ads/google_ads/v0/errors/operation_access_denied_error_pb.rb +1 -0
  92. data/lib/google/ads/google_ads/v0/errors/recommendation_error_pb.rb +5 -0
  93. data/lib/google/ads/google_ads/v0/errors/url_field_error_pb.rb +5 -0
  94. data/lib/google/ads/google_ads/v0/errors/user_list_error_pb.rb +49 -0
  95. data/lib/google/ads/google_ads/v0/resources/ad_group_bid_modifier_pb.rb +1 -0
  96. data/lib/google/ads/google_ads/v0/resources/ad_group_criterion_pb.rb +2 -0
  97. data/lib/google/ads/google_ads/v0/resources/ad_group_feed_pb.rb +31 -0
  98. data/lib/google/ads/google_ads/v0/resources/ad_group_pb.rb +5 -0
  99. data/lib/google/ads/google_ads/v0/resources/ad_pb.rb +3 -0
  100. data/lib/google/ads/google_ads/v0/resources/billing_setup_pb.rb +4 -0
  101. data/lib/google/ads/google_ads/v0/resources/campaign_audience_view_pb.rb +22 -0
  102. data/lib/google/ads/google_ads/v0/resources/campaign_budget_pb.rb +1 -0
  103. data/lib/google/ads/google_ads/v0/resources/campaign_criterion_pb.rb +7 -0
  104. data/lib/google/ads/google_ads/v0/resources/campaign_feed_pb.rb +31 -0
  105. data/lib/google/ads/google_ads/v0/resources/campaign_pb.rb +4 -0
  106. data/lib/google/ads/google_ads/v0/resources/carrier_constant_pb.rb +26 -0
  107. data/lib/google/ads/google_ads/v0/resources/customer_client_pb.rb +26 -0
  108. data/lib/google/ads/google_ads/v0/resources/customer_feed_pb.rb +30 -0
  109. data/lib/google/ads/google_ads/v0/resources/customer_pb.rb +1 -0
  110. data/lib/google/ads/google_ads/v0/resources/feed_item_pb.rb +48 -0
  111. data/lib/google/ads/google_ads/v0/resources/feed_mapping_pb.rb +74 -0
  112. data/lib/google/ads/google_ads/v0/resources/feed_pb.rb +75 -0
  113. data/lib/google/ads/google_ads/v0/resources/hotel_performance_view_pb.rb +22 -0
  114. data/lib/google/ads/google_ads/v0/resources/keyword_plan_ad_group_pb.rb +27 -0
  115. data/lib/google/ads/google_ads/v0/resources/keyword_plan_campaign_pb.rb +35 -0
  116. data/lib/google/ads/google_ads/v0/resources/keyword_plan_keyword_pb.rb +29 -0
  117. data/lib/google/ads/google_ads/v0/resources/keyword_plan_negative_keyword_pb.rb +28 -0
  118. data/lib/google/ads/google_ads/v0/resources/keyword_plan_pb.rb +35 -0
  119. data/lib/google/ads/google_ads/v0/resources/language_constant_pb.rb +26 -0
  120. data/lib/google/ads/google_ads/v0/resources/payments_account_pb.rb +28 -0
  121. data/lib/google/ads/google_ads/v0/resources/search_term_view_pb.rb +27 -0
  122. data/lib/google/ads/google_ads/v0/resources/user_interest_pb.rb +31 -0
  123. data/lib/google/ads/google_ads/v0/resources/user_list_pb.rb +51 -0
  124. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_client.rb +268 -0
  125. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_client_config.json +36 -0
  126. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_pb.rb +47 -0
  127. data/lib/google/ads/google_ads/v0/services/ad_group_feed_service_services_pb.rb +51 -0
  128. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_client.rb +221 -0
  129. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_client_config.json +31 -0
  130. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_pb.rb +24 -0
  131. data/lib/google/ads/google_ads/v0/services/campaign_audience_view_service_services_pb.rb +48 -0
  132. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_client.rb +268 -0
  133. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_client_config.json +36 -0
  134. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_pb.rb +47 -0
  135. data/lib/google/ads/google_ads/v0/services/campaign_feed_service_services_pb.rb +51 -0
  136. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_client.rb +219 -0
  137. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_client_config.json +31 -0
  138. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_pb.rb +24 -0
  139. data/lib/google/ads/google_ads/v0/services/carrier_constant_service_services_pb.rb +48 -0
  140. data/lib/google/ads/google_ads/v0/services/customer_client_service_client.rb +221 -0
  141. data/lib/google/ads/google_ads/v0/services/customer_client_service_client_config.json +31 -0
  142. data/lib/google/ads/google_ads/v0/services/customer_client_service_pb.rb +24 -0
  143. data/lib/google/ads/google_ads/v0/services/customer_client_service_services_pb.rb +48 -0
  144. data/lib/google/ads/google_ads/v0/services/customer_feed_service_client.rb +268 -0
  145. data/lib/google/ads/google_ads/v0/services/customer_feed_service_client_config.json +36 -0
  146. data/lib/google/ads/google_ads/v0/services/customer_feed_service_pb.rb +47 -0
  147. data/lib/google/ads/google_ads/v0/services/customer_feed_service_services_pb.rb +51 -0
  148. data/lib/google/ads/google_ads/v0/services/customer_service_client.rb +93 -0
  149. data/lib/google/ads/google_ads/v0/services/customer_service_client_config.json +10 -0
  150. data/lib/google/ads/google_ads/v0/services/customer_service_pb.rb +28 -0
  151. data/lib/google/ads/google_ads/v0/services/customer_service_services_pb.rb +4 -0
  152. data/lib/google/ads/google_ads/v0/services/feed_item_service_client.rb +268 -0
  153. data/lib/google/ads/google_ads/v0/services/feed_item_service_client_config.json +36 -0
  154. data/lib/google/ads/google_ads/v0/services/feed_item_service_pb.rb +47 -0
  155. data/lib/google/ads/google_ads/v0/services/feed_item_service_services_pb.rb +51 -0
  156. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_client.rb +268 -0
  157. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_client_config.json +36 -0
  158. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_pb.rb +44 -0
  159. data/lib/google/ads/google_ads/v0/services/feed_mapping_service_services_pb.rb +51 -0
  160. data/lib/google/ads/google_ads/v0/services/feed_service_client.rb +268 -0
  161. data/lib/google/ads/google_ads/v0/services/feed_service_client_config.json +36 -0
  162. data/lib/google/ads/google_ads/v0/services/feed_service_pb.rb +47 -0
  163. data/lib/google/ads/google_ads/v0/services/feed_service_services_pb.rb +51 -0
  164. data/lib/google/ads/google_ads/v0/services/geo_target_constant_service_client.rb +10 -1
  165. data/lib/google/ads/google_ads/v0/services/geo_target_constant_service_pb.rb +1 -0
  166. data/lib/google/ads/google_ads/v0/services/google_ads_service_client.rb +46 -0
  167. data/lib/google/ads/google_ads/v0/services/google_ads_service_client_config.json +5 -0
  168. data/lib/google/ads/google_ads/v0/services/google_ads_service_pb.rb +118 -0
  169. data/lib/google/ads/google_ads/v0/services/google_ads_service_services_pb.rb +2 -0
  170. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_client.rb +219 -0
  171. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_client_config.json +31 -0
  172. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_pb.rb +24 -0
  173. data/lib/google/ads/google_ads/v0/services/hotel_performance_view_service_services_pb.rb +48 -0
  174. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_client.rb +268 -0
  175. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_client_config.json +36 -0
  176. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_pb.rb +47 -0
  177. data/lib/google/ads/google_ads/v0/services/keyword_plan_ad_group_service_services_pb.rb +51 -0
  178. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_client.rb +268 -0
  179. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_client_config.json +36 -0
  180. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_pb.rb +47 -0
  181. data/lib/google/ads/google_ads/v0/services/keyword_plan_campaign_service_services_pb.rb +51 -0
  182. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_client.rb +252 -0
  183. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_client_config.json +31 -0
  184. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_pb.rb +56 -0
  185. data/lib/google/ads/google_ads/v0/services/keyword_plan_idea_service_services_pb.rb +48 -0
  186. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_client.rb +268 -0
  187. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_client_config.json +36 -0
  188. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_pb.rb +47 -0
  189. data/lib/google/ads/google_ads/v0/services/keyword_plan_keyword_service_services_pb.rb +51 -0
  190. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_client.rb +269 -0
  191. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_client_config.json +36 -0
  192. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_pb.rb +47 -0
  193. data/lib/google/ads/google_ads/v0/services/keyword_plan_negative_keyword_service_services_pb.rb +51 -0
  194. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_client.rb +339 -0
  195. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_client_config.json +46 -0
  196. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_pb.rb +95 -0
  197. data/lib/google/ads/google_ads/v0/services/keyword_plan_service_services_pb.rb +55 -0
  198. data/lib/google/ads/google_ads/v0/services/language_constant_service_client.rb +219 -0
  199. data/lib/google/ads/google_ads/v0/services/language_constant_service_client_config.json +31 -0
  200. data/lib/google/ads/google_ads/v0/services/language_constant_service_pb.rb +24 -0
  201. data/lib/google/ads/google_ads/v0/services/language_constant_service_services_pb.rb +48 -0
  202. data/lib/google/ads/google_ads/v0/services/payments_account_service_client.rb +209 -0
  203. data/lib/google/ads/google_ads/v0/services/payments_account_service_client_config.json +31 -0
  204. data/lib/google/ads/google_ads/v0/services/payments_account_service_pb.rb +28 -0
  205. data/lib/google/ads/google_ads/v0/services/payments_account_service_services_pb.rb +51 -0
  206. data/lib/google/ads/google_ads/v0/services/recommendation_service_client.rb +71 -1
  207. data/lib/google/ads/google_ads/v0/services/recommendation_service_client_config.json +5 -0
  208. data/lib/google/ads/google_ads/v0/services/recommendation_service_pb.rb +22 -4
  209. data/lib/google/ads/google_ads/v0/services/recommendation_service_services_pb.rb +2 -0
  210. data/lib/google/ads/google_ads/v0/services/search_term_view_service_client.rb +221 -0
  211. data/lib/google/ads/google_ads/v0/services/search_term_view_service_client_config.json +31 -0
  212. data/lib/google/ads/google_ads/v0/services/search_term_view_service_pb.rb +24 -0
  213. data/lib/google/ads/google_ads/v0/services/search_term_view_service_services_pb.rb +48 -0
  214. data/lib/google/ads/google_ads/v0/services/user_interest_service_client.rb +221 -0
  215. data/lib/google/ads/google_ads/v0/services/user_interest_service_client_config.json +31 -0
  216. data/lib/google/ads/google_ads/v0/services/user_interest_service_pb.rb +24 -0
  217. data/lib/google/ads/google_ads/v0/services/user_interest_service_services_pb.rb +48 -0
  218. data/lib/google/ads/google_ads/v0/services/user_list_service_client.rb +267 -0
  219. data/lib/google/ads/google_ads/v0/services/user_list_service_client_config.json +36 -0
  220. data/lib/google/ads/google_ads/v0/services/user_list_service_pb.rb +47 -0
  221. data/lib/google/ads/google_ads/v0/services/user_list_service_services_pb.rb +50 -0
  222. data/lib/google/ads/google_ads/version.rb +1 -1
  223. metadata +179 -4
@@ -225,6 +225,10 @@ module Google
225
225
  # targets.
226
226
  # A hash of the same form as `Google::Protobuf::StringValue`
227
227
  # can also be provided.
228
+ # @param country_code [Google::Protobuf::StringValue | Hash]
229
+ # Returned geo targets are restricted to this country code.
230
+ # A hash of the same form as `Google::Protobuf::StringValue`
231
+ # can also be provided.
228
232
  # @param location_names [Google::Ads::GoogleAds::V0::Services::SuggestGeoTargetConstantsRequest::LocationNames | Hash]
229
233
  # The location names to search by. At most 25 names can be set.
230
234
  # A hash of the same form as `Google::Ads::GoogleAds::V0::Services::SuggestGeoTargetConstantsRequest::LocationNames`
@@ -248,16 +252,21 @@ module Google
248
252
  #
249
253
  # # TODO: Initialize +locale+:
250
254
  # locale = {}
251
- # response = geo_target_constant_service_client.suggest_geo_target_constants(locale)
255
+ #
256
+ # # TODO: Initialize +country_code+:
257
+ # country_code = {}
258
+ # response = geo_target_constant_service_client.suggest_geo_target_constants(locale, country_code)
252
259
 
253
260
  def suggest_geo_target_constants \
254
261
  locale,
262
+ country_code,
255
263
  location_names: nil,
256
264
  geo_targets: nil,
257
265
  options: nil,
258
266
  &block
259
267
  req = {
260
268
  locale: locale,
269
+ country_code: country_code,
261
270
  location_names: location_names,
262
271
  geo_targets: geo_targets
263
272
  }.delete_if { |_, v| v.nil? }
@@ -12,6 +12,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  end
13
13
  add_message "google.ads.googleads.v0.services.SuggestGeoTargetConstantsRequest" do
14
14
  optional :locale, :message, 3, "google.protobuf.StringValue"
15
+ optional :country_code, :message, 5, "google.protobuf.StringValue"
15
16
  oneof :query do
16
17
  optional :location_names, :message, 1, "google.ads.googleads.v0.services.SuggestGeoTargetConstantsRequest.LocationNames"
17
18
  optional :geo_targets, :message, 2, "google.ads.googleads.v0.services.SuggestGeoTargetConstantsRequest.GeoTargets"
@@ -173,6 +173,11 @@ module Google
173
173
  defaults["search"],
174
174
  exception_transformer: exception_transformer
175
175
  )
176
+ @mutate = Google::Gax.create_api_call(
177
+ @google_ads_service_stub.method(:mutate),
178
+ defaults["mutate"],
179
+ exception_transformer: exception_transformer
180
+ )
176
181
  end
177
182
 
178
183
  # Service calls
@@ -239,6 +244,47 @@ module Google
239
244
  req = Google::Gax::to_proto(req, Google::Ads::GoogleAds::V0::Services::SearchGoogleAdsRequest)
240
245
  @search.call(req, options, &block)
241
246
  end
247
+
248
+ # Creates, updates, or removes resources. Operation statuses are returned.
249
+ #
250
+ # @param customer_id [String]
251
+ # The ID of the customer whose resources are being modified.
252
+ # @param mutate_operations [Array<Google::Ads::GoogleAds::V0::Services::MutateOperation | Hash>]
253
+ # The list of operations to perform on individual resources.
254
+ # A hash of the same form as `Google::Ads::GoogleAds::V0::Services::MutateOperation`
255
+ # can also be provided.
256
+ # @param options [Google::Gax::CallOptions]
257
+ # Overrides the default settings for this call, e.g, timeout,
258
+ # retries, etc.
259
+ # @yield [result, operation] Access the result along with the RPC operation
260
+ # @yieldparam result [Google::Ads::GoogleAds::V0::Services::MutateGoogleAdsResponse]
261
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
262
+ # @return [Google::Ads::GoogleAds::V0::Services::MutateGoogleAdsResponse]
263
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
264
+ # @example
265
+ # require "google/ads/google_ads"
266
+ #
267
+ # google_ads_service_client = Google::Ads::GoogleAds::GoogleAds.new(version: :v0)
268
+ #
269
+ # # TODO: Initialize +customer_id+:
270
+ # customer_id = ''
271
+ #
272
+ # # TODO: Initialize +mutate_operations+:
273
+ # mutate_operations = []
274
+ # response = google_ads_service_client.mutate(customer_id, mutate_operations)
275
+
276
+ def mutate \
277
+ customer_id,
278
+ mutate_operations,
279
+ options: nil,
280
+ &block
281
+ req = {
282
+ customer_id: customer_id,
283
+ mutate_operations: mutate_operations
284
+ }.delete_if { |_, v| v.nil? }
285
+ req = Google::Gax::to_proto(req, Google::Ads::GoogleAds::V0::Services::MutateGoogleAdsRequest)
286
+ @mutate.call(req, options, &block)
287
+ end
242
288
  end
243
289
  end
244
290
  end
@@ -24,6 +24,11 @@
24
24
  "timeout_millis": 60000,
25
25
  "retry_codes_name": "non_idempotent",
26
26
  "retry_params_name": "default"
27
+ },
28
+ "Mutate": {
29
+ "timeout_millis": 60000,
30
+ "retry_codes_name": "non_idempotent",
31
+ "retry_params_name": "default"
27
32
  }
28
33
  }
29
34
  }
@@ -7,7 +7,10 @@ require 'google/ads/google_ads/v0/common/metrics_pb'
7
7
  require 'google/ads/google_ads/v0/enums/ad_network_type_pb'
8
8
  require 'google/ads/google_ads/v0/enums/day_of_week_pb'
9
9
  require 'google/ads/google_ads/v0/enums/device_pb'
10
+ require 'google/ads/google_ads/v0/enums/hotel_date_selection_type_pb'
10
11
  require 'google/ads/google_ads/v0/enums/month_of_year_pb'
12
+ require 'google/ads/google_ads/v0/enums/placeholder_type_pb'
13
+ require 'google/ads/google_ads/v0/enums/search_term_match_type_pb'
11
14
  require 'google/ads/google_ads/v0/enums/slot_pb'
12
15
  require 'google/ads/google_ads/v0/resources/account_budget_pb'
13
16
  require 'google/ads/google_ads/v0/resources/account_budget_proposal_pb'
@@ -16,33 +19,67 @@ require 'google/ads/google_ads/v0/resources/ad_group_ad_pb'
16
19
  require 'google/ads/google_ads/v0/resources/ad_group_audience_view_pb'
17
20
  require 'google/ads/google_ads/v0/resources/ad_group_bid_modifier_pb'
18
21
  require 'google/ads/google_ads/v0/resources/ad_group_criterion_pb'
22
+ require 'google/ads/google_ads/v0/resources/ad_group_feed_pb'
19
23
  require 'google/ads/google_ads/v0/resources/age_range_view_pb'
20
24
  require 'google/ads/google_ads/v0/resources/bidding_strategy_pb'
21
25
  require 'google/ads/google_ads/v0/resources/billing_setup_pb'
22
26
  require 'google/ads/google_ads/v0/resources/campaign_pb'
27
+ require 'google/ads/google_ads/v0/resources/campaign_audience_view_pb'
23
28
  require 'google/ads/google_ads/v0/resources/campaign_bid_modifier_pb'
24
29
  require 'google/ads/google_ads/v0/resources/campaign_budget_pb'
25
30
  require 'google/ads/google_ads/v0/resources/campaign_criterion_pb'
31
+ require 'google/ads/google_ads/v0/resources/campaign_feed_pb'
26
32
  require 'google/ads/google_ads/v0/resources/campaign_group_pb'
27
33
  require 'google/ads/google_ads/v0/resources/campaign_shared_set_pb'
34
+ require 'google/ads/google_ads/v0/resources/carrier_constant_pb'
28
35
  require 'google/ads/google_ads/v0/resources/change_status_pb'
29
36
  require 'google/ads/google_ads/v0/resources/customer_pb'
37
+ require 'google/ads/google_ads/v0/resources/customer_client_pb'
30
38
  require 'google/ads/google_ads/v0/resources/customer_client_link_pb'
39
+ require 'google/ads/google_ads/v0/resources/customer_feed_pb'
31
40
  require 'google/ads/google_ads/v0/resources/customer_manager_link_pb'
32
41
  require 'google/ads/google_ads/v0/resources/display_keyword_view_pb'
42
+ require 'google/ads/google_ads/v0/resources/feed_pb'
43
+ require 'google/ads/google_ads/v0/resources/feed_item_pb'
44
+ require 'google/ads/google_ads/v0/resources/feed_mapping_pb'
33
45
  require 'google/ads/google_ads/v0/resources/gender_view_pb'
34
46
  require 'google/ads/google_ads/v0/resources/geo_target_constant_pb'
35
47
  require 'google/ads/google_ads/v0/resources/hotel_group_view_pb'
48
+ require 'google/ads/google_ads/v0/resources/hotel_performance_view_pb'
49
+ require 'google/ads/google_ads/v0/resources/keyword_plan_pb'
50
+ require 'google/ads/google_ads/v0/resources/keyword_plan_ad_group_pb'
51
+ require 'google/ads/google_ads/v0/resources/keyword_plan_campaign_pb'
52
+ require 'google/ads/google_ads/v0/resources/keyword_plan_keyword_pb'
53
+ require 'google/ads/google_ads/v0/resources/keyword_plan_negative_keyword_pb'
36
54
  require 'google/ads/google_ads/v0/resources/keyword_view_pb'
55
+ require 'google/ads/google_ads/v0/resources/language_constant_pb'
37
56
  require 'google/ads/google_ads/v0/resources/managed_placement_view_pb'
38
57
  require 'google/ads/google_ads/v0/resources/parental_status_view_pb'
39
58
  require 'google/ads/google_ads/v0/resources/product_group_view_pb'
40
59
  require 'google/ads/google_ads/v0/resources/recommendation_pb'
60
+ require 'google/ads/google_ads/v0/resources/search_term_view_pb'
41
61
  require 'google/ads/google_ads/v0/resources/shared_criterion_pb'
42
62
  require 'google/ads/google_ads/v0/resources/shared_set_pb'
43
63
  require 'google/ads/google_ads/v0/resources/topic_constant_pb'
44
64
  require 'google/ads/google_ads/v0/resources/topic_view_pb'
65
+ require 'google/ads/google_ads/v0/resources/user_interest_pb'
66
+ require 'google/ads/google_ads/v0/resources/user_list_pb'
45
67
  require 'google/ads/google_ads/v0/resources/video_pb'
68
+ require 'google/ads/google_ads/v0/services/ad_group_ad_service_pb'
69
+ require 'google/ads/google_ads/v0/services/ad_group_bid_modifier_service_pb'
70
+ require 'google/ads/google_ads/v0/services/ad_group_criterion_service_pb'
71
+ require 'google/ads/google_ads/v0/services/ad_group_service_pb'
72
+ require 'google/ads/google_ads/v0/services/bidding_strategy_service_pb'
73
+ require 'google/ads/google_ads/v0/services/campaign_bid_modifier_service_pb'
74
+ require 'google/ads/google_ads/v0/services/campaign_budget_service_pb'
75
+ require 'google/ads/google_ads/v0/services/campaign_criterion_service_pb'
76
+ require 'google/ads/google_ads/v0/services/campaign_group_service_pb'
77
+ require 'google/ads/google_ads/v0/services/campaign_service_pb'
78
+ require 'google/ads/google_ads/v0/services/campaign_shared_set_service_pb'
79
+ require 'google/ads/google_ads/v0/services/conversion_action_service_pb'
80
+ require 'google/ads/google_ads/v0/services/shared_criterion_service_pb'
81
+ require 'google/ads/google_ads/v0/services/shared_set_service_pb'
82
+ require 'google/ads/google_ads/v0/services/user_list_service_pb'
46
83
  require 'google/api/annotations_pb'
47
84
  require 'google/protobuf/field_mask_pb'
48
85
  require 'google/protobuf/wrappers_pb'
@@ -67,31 +104,50 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
67
104
  optional :ad_group_audience_view, :message, 57, "google.ads.googleads.v0.resources.AdGroupAudienceView"
68
105
  optional :ad_group_bid_modifier, :message, 24, "google.ads.googleads.v0.resources.AdGroupBidModifier"
69
106
  optional :ad_group_criterion, :message, 17, "google.ads.googleads.v0.resources.AdGroupCriterion"
107
+ optional :ad_group_feed, :message, 67, "google.ads.googleads.v0.resources.AdGroupFeed"
70
108
  optional :age_range_view, :message, 48, "google.ads.googleads.v0.resources.AgeRangeView"
71
109
  optional :bidding_strategy, :message, 18, "google.ads.googleads.v0.resources.BiddingStrategy"
72
110
  optional :billing_setup, :message, 41, "google.ads.googleads.v0.resources.BillingSetup"
73
111
  optional :campaign_budget, :message, 19, "google.ads.googleads.v0.resources.CampaignBudget"
74
112
  optional :campaign, :message, 2, "google.ads.googleads.v0.resources.Campaign"
113
+ optional :campaign_audience_view, :message, 69, "google.ads.googleads.v0.resources.CampaignAudienceView"
75
114
  optional :campaign_bid_modifier, :message, 26, "google.ads.googleads.v0.resources.CampaignBidModifier"
76
115
  optional :campaign_criterion, :message, 20, "google.ads.googleads.v0.resources.CampaignCriterion"
116
+ optional :campaign_feed, :message, 63, "google.ads.googleads.v0.resources.CampaignFeed"
77
117
  optional :campaign_group, :message, 25, "google.ads.googleads.v0.resources.CampaignGroup"
78
118
  optional :campaign_shared_set, :message, 30, "google.ads.googleads.v0.resources.CampaignSharedSet"
119
+ optional :carrier_constant, :message, 66, "google.ads.googleads.v0.resources.CarrierConstant"
79
120
  optional :change_status, :message, 37, "google.ads.googleads.v0.resources.ChangeStatus"
80
121
  optional :customer, :message, 1, "google.ads.googleads.v0.resources.Customer"
81
122
  optional :customer_manager_link, :message, 61, "google.ads.googleads.v0.resources.CustomerManagerLink"
82
123
  optional :customer_client_link, :message, 62, "google.ads.googleads.v0.resources.CustomerClientLink"
124
+ optional :customer_client, :message, 70, "google.ads.googleads.v0.resources.CustomerClient"
125
+ optional :customer_feed, :message, 64, "google.ads.googleads.v0.resources.CustomerFeed"
83
126
  optional :display_keyword_view, :message, 47, "google.ads.googleads.v0.resources.DisplayKeywordView"
127
+ optional :feed, :message, 46, "google.ads.googleads.v0.resources.Feed"
128
+ optional :feed_item, :message, 50, "google.ads.googleads.v0.resources.FeedItem"
129
+ optional :feed_mapping, :message, 58, "google.ads.googleads.v0.resources.FeedMapping"
84
130
  optional :gender_view, :message, 40, "google.ads.googleads.v0.resources.GenderView"
85
131
  optional :geo_target_constant, :message, 23, "google.ads.googleads.v0.resources.GeoTargetConstant"
86
132
  optional :hotel_group_view, :message, 51, "google.ads.googleads.v0.resources.HotelGroupView"
133
+ optional :hotel_performance_view, :message, 71, "google.ads.googleads.v0.resources.HotelPerformanceView"
87
134
  optional :keyword_view, :message, 21, "google.ads.googleads.v0.resources.KeywordView"
135
+ optional :keyword_plan, :message, 32, "google.ads.googleads.v0.resources.KeywordPlan"
136
+ optional :keyword_plan_campaign, :message, 33, "google.ads.googleads.v0.resources.KeywordPlanCampaign"
137
+ optional :keyword_plan_negative_keyword, :message, 34, "google.ads.googleads.v0.resources.KeywordPlanNegativeKeyword"
138
+ optional :keyword_plan_ad_group, :message, 35, "google.ads.googleads.v0.resources.KeywordPlanAdGroup"
139
+ optional :keyword_plan_keyword, :message, 36, "google.ads.googleads.v0.resources.KeywordPlanKeyword"
140
+ optional :language_constant, :message, 55, "google.ads.googleads.v0.resources.LanguageConstant"
88
141
  optional :managed_placement_view, :message, 53, "google.ads.googleads.v0.resources.ManagedPlacementView"
89
142
  optional :parental_status_view, :message, 45, "google.ads.googleads.v0.resources.ParentalStatusView"
90
143
  optional :product_group_view, :message, 54, "google.ads.googleads.v0.resources.ProductGroupView"
91
144
  optional :recommendation, :message, 22, "google.ads.googleads.v0.resources.Recommendation"
145
+ optional :search_term_view, :message, 68, "google.ads.googleads.v0.resources.SearchTermView"
92
146
  optional :shared_criterion, :message, 29, "google.ads.googleads.v0.resources.SharedCriterion"
93
147
  optional :shared_set, :message, 27, "google.ads.googleads.v0.resources.SharedSet"
94
148
  optional :topic_view, :message, 44, "google.ads.googleads.v0.resources.TopicView"
149
+ optional :user_interest, :message, 59, "google.ads.googleads.v0.resources.UserInterest"
150
+ optional :user_list, :message, 38, "google.ads.googleads.v0.resources.UserList"
95
151
  optional :topic_constant, :message, 31, "google.ads.googleads.v0.resources.TopicConstant"
96
152
  optional :video, :message, 39, "google.ads.googleads.v0.resources.Video"
97
153
  optional :metrics, :message, 4, "google.ads.googleads.v0.common.Metrics"
@@ -99,14 +155,72 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
99
155
  optional :date, :message, 6, "google.protobuf.StringValue"
100
156
  optional :day_of_week, :enum, 7, "google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek"
101
157
  optional :device, :enum, 8, "google.ads.googleads.v0.enums.DeviceEnum.Device"
158
+ optional :hotel_booking_window_days, :message, 83, "google.protobuf.Int64Value"
159
+ optional :hotel_center_id, :message, 72, "google.protobuf.Int64Value"
160
+ optional :hotel_check_in_date, :message, 73, "google.protobuf.StringValue"
161
+ optional :hotel_check_in_day_of_week, :enum, 74, "google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek"
162
+ optional :hotel_city, :message, 75, "google.protobuf.StringValue"
163
+ optional :hotel_class, :message, 76, "google.protobuf.Int32Value"
164
+ optional :hotel_country, :message, 77, "google.protobuf.StringValue"
165
+ optional :hotel_date_selection_type, :enum, 78, "google.ads.googleads.v0.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType"
166
+ optional :hotel_length_of_stay, :message, 79, "google.protobuf.Int32Value"
167
+ optional :hotel_state, :message, 81, "google.protobuf.StringValue"
102
168
  optional :hour, :message, 9, "google.protobuf.Int32Value"
103
169
  optional :month, :message, 10, "google.protobuf.StringValue"
104
170
  optional :month_of_year, :enum, 28, "google.ads.googleads.v0.enums.MonthOfYearEnum.MonthOfYear"
171
+ optional :partner_hotel_id, :message, 82, "google.protobuf.StringValue"
172
+ optional :placeholder_type, :enum, 65, "google.ads.googleads.v0.enums.PlaceholderTypeEnum.PlaceholderType"
105
173
  optional :quarter, :message, 12, "google.protobuf.StringValue"
174
+ optional :search_term_match_type, :enum, 56, "google.ads.googleads.v0.enums.SearchTermMatchTypeEnum.SearchTermMatchType"
106
175
  optional :slot, :enum, 13, "google.ads.googleads.v0.enums.SlotEnum.Slot"
107
176
  optional :week, :message, 14, "google.protobuf.StringValue"
108
177
  optional :year, :message, 15, "google.protobuf.Int32Value"
109
178
  end
179
+ add_message "google.ads.googleads.v0.services.MutateGoogleAdsRequest" do
180
+ optional :customer_id, :string, 1
181
+ repeated :mutate_operations, :message, 2, "google.ads.googleads.v0.services.MutateOperation"
182
+ end
183
+ add_message "google.ads.googleads.v0.services.MutateGoogleAdsResponse" do
184
+ repeated :mutate_operation_responses, :message, 1, "google.ads.googleads.v0.services.MutateOperationResponse"
185
+ end
186
+ add_message "google.ads.googleads.v0.services.MutateOperation" do
187
+ oneof :operation do
188
+ optional :ad_group_ad_operation, :message, 1, "google.ads.googleads.v0.services.AdGroupAdOperation"
189
+ optional :ad_group_bid_modifier_operation, :message, 2, "google.ads.googleads.v0.services.AdGroupBidModifierOperation"
190
+ optional :ad_group_criterion_operation, :message, 3, "google.ads.googleads.v0.services.AdGroupCriterionOperation"
191
+ optional :ad_group_operation, :message, 5, "google.ads.googleads.v0.services.AdGroupOperation"
192
+ optional :bidding_strategy_operation, :message, 6, "google.ads.googleads.v0.services.BiddingStrategyOperation"
193
+ optional :campaign_bid_modifier_operation, :message, 7, "google.ads.googleads.v0.services.CampaignBidModifierOperation"
194
+ optional :campaign_budget_operation, :message, 8, "google.ads.googleads.v0.services.CampaignBudgetOperation"
195
+ optional :campaign_group_operation, :message, 9, "google.ads.googleads.v0.services.CampaignGroupOperation"
196
+ optional :campaign_operation, :message, 10, "google.ads.googleads.v0.services.CampaignOperation"
197
+ optional :campaign_shared_set_operation, :message, 11, "google.ads.googleads.v0.services.CampaignSharedSetOperation"
198
+ optional :conversion_action_operation, :message, 12, "google.ads.googleads.v0.services.ConversionActionOperation"
199
+ optional :campaign_criterion_operation, :message, 13, "google.ads.googleads.v0.services.CampaignCriterionOperation"
200
+ optional :shared_criterion_operation, :message, 14, "google.ads.googleads.v0.services.SharedCriterionOperation"
201
+ optional :shared_set_operation, :message, 15, "google.ads.googleads.v0.services.SharedSetOperation"
202
+ optional :user_list_operation, :message, 16, "google.ads.googleads.v0.services.UserListOperation"
203
+ end
204
+ end
205
+ add_message "google.ads.googleads.v0.services.MutateOperationResponse" do
206
+ oneof :response do
207
+ optional :ad_group_ad_result, :message, 1, "google.ads.googleads.v0.services.MutateAdGroupAdResult"
208
+ optional :ad_group_bid_modifier_result, :message, 2, "google.ads.googleads.v0.services.MutateAdGroupBidModifierResult"
209
+ optional :ad_group_criterion_result, :message, 3, "google.ads.googleads.v0.services.MutateAdGroupCriterionResult"
210
+ optional :ad_group_result, :message, 5, "google.ads.googleads.v0.services.MutateAdGroupResult"
211
+ optional :bidding_strategy_result, :message, 6, "google.ads.googleads.v0.services.MutateBiddingStrategyResult"
212
+ optional :campaign_bid_modifier_result, :message, 7, "google.ads.googleads.v0.services.MutateCampaignBidModifierResult"
213
+ optional :campaign_budget_result, :message, 8, "google.ads.googleads.v0.services.MutateCampaignBudgetResult"
214
+ optional :campaign_group_result, :message, 9, "google.ads.googleads.v0.services.MutateCampaignGroupResult"
215
+ optional :campaign_result, :message, 10, "google.ads.googleads.v0.services.MutateCampaignResult"
216
+ optional :campaign_shared_set_result, :message, 11, "google.ads.googleads.v0.services.MutateCampaignSharedSetResult"
217
+ optional :conversion_action_result, :message, 12, "google.ads.googleads.v0.services.MutateConversionActionResult"
218
+ optional :campaign_criterion_result, :message, 13, "google.ads.googleads.v0.services.MutateCampaignCriterionResult"
219
+ optional :shared_criterion_result, :message, 14, "google.ads.googleads.v0.services.MutateSharedCriterionResult"
220
+ optional :shared_set_result, :message, 15, "google.ads.googleads.v0.services.MutateSharedSetResult"
221
+ optional :user_list_result, :message, 16, "google.ads.googleads.v0.services.MutateUserListResult"
222
+ end
223
+ end
110
224
  end
111
225
 
112
226
  module Google
@@ -117,6 +231,10 @@ module Google
117
231
  SearchGoogleAdsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.SearchGoogleAdsRequest").msgclass
118
232
  SearchGoogleAdsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.SearchGoogleAdsResponse").msgclass
119
233
  GoogleAdsRow = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.GoogleAdsRow").msgclass
234
+ MutateGoogleAdsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.MutateGoogleAdsRequest").msgclass
235
+ MutateGoogleAdsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.MutateGoogleAdsResponse").msgclass
236
+ MutateOperation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.MutateOperation").msgclass
237
+ MutateOperationResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v0.services.MutateOperationResponse").msgclass
120
238
  end
121
239
  end
122
240
  end
@@ -37,6 +37,8 @@ module Google
37
37
 
38
38
  # Returns all rows that match the search query.
39
39
  rpc :Search, SearchGoogleAdsRequest, SearchGoogleAdsResponse
40
+ # Creates, updates, or removes resources. Operation statuses are returned.
41
+ rpc :Mutate, MutateGoogleAdsRequest, MutateGoogleAdsResponse
40
42
  end
41
43
 
42
44
  Stub = Service.rpc_stub_class
@@ -0,0 +1,219 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # EDITING INSTRUCTIONS
16
+ # This file was generated from the file
17
+ # https://github.com/googleapis/googleapis/blob/master/google/ads/google_ads/v0/services/hotel_performance_view_service.proto,
18
+ # and updates to that file get reflected here through a refresh process.
19
+ # For the short term, the refresh process will only be runnable by Google
20
+ # engineers.
21
+
22
+ require "json"
23
+ require "pathname"
24
+
25
+ require "google/gax"
26
+
27
+ require "google/ads/google_ads/v0/services/hotel_performance_view_service_pb"
28
+ require "google/ads/google_ads/v0/services/credentials"
29
+
30
+ module Google
31
+ module Ads
32
+ module GoogleAds
33
+ module V0
34
+ module Services
35
+ # Service to manage Hotel Performance Views.
36
+ #
37
+ # @!attribute [r] hotel_performance_view_service_stub
38
+ # @return [Google::Ads::GoogleAds::V0::Services::HotelPerformanceViewService::Stub]
39
+ class HotelPerformanceViewServiceClient
40
+ attr_reader :hotel_performance_view_service_stub
41
+
42
+ # The default address of the service.
43
+ SERVICE_ADDRESS = "googleads.googleapis.com".freeze
44
+
45
+ # The default port of the service.
46
+ DEFAULT_SERVICE_PORT = 443
47
+
48
+ # The default set of gRPC interceptors.
49
+ GRPC_INTERCEPTORS = []
50
+
51
+ DEFAULT_TIMEOUT = 30
52
+
53
+ # The scopes needed to make gRPC calls to all of the methods defined in
54
+ # this service.
55
+ ALL_SCOPES = [
56
+ ].freeze
57
+
58
+
59
+ HOTEL_PERFORMANCE_VIEW_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
60
+ "customers/{customer}/hotelPerformanceView"
61
+ )
62
+
63
+ private_constant :HOTEL_PERFORMANCE_VIEW_PATH_TEMPLATE
64
+
65
+ # Returns a fully-qualified hotel_performance_view resource name string.
66
+ # @param customer [String]
67
+ # @return [String]
68
+ def self.hotel_performance_view_path customer
69
+ HOTEL_PERFORMANCE_VIEW_PATH_TEMPLATE.render(
70
+ :"customer" => customer
71
+ )
72
+ end
73
+
74
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
75
+ # Provides the means for authenticating requests made by the client. This parameter can
76
+ # be many types.
77
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
78
+ # authenticating requests made by this client.
79
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
80
+ # credentials for this client.
81
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
82
+ # credentials for this client.
83
+ # A `GRPC::Core::Channel` will be used to make calls through.
84
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
85
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
86
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
87
+ # metadata for requests, generally, to give OAuth credentials.
88
+ # @param scopes [Array<String>]
89
+ # The OAuth scopes for this service. This parameter is ignored if
90
+ # an updater_proc is supplied.
91
+ # @param client_config [Hash]
92
+ # A Hash for call options for each method. See
93
+ # Google::Gax#construct_settings for the structure of
94
+ # this data. Falls back to the default config if not specified
95
+ # or the specified config is missing data points.
96
+ # @param timeout [Numeric]
97
+ # The default timeout, in seconds, for calls made through this client.
98
+ # @param metadata [Hash]
99
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
100
+ # @param exception_transformer [Proc]
101
+ # An optional proc that intercepts any exceptions raised during an API call to inject
102
+ # custom error handling.
103
+ def initialize \
104
+ credentials: nil,
105
+ scopes: ALL_SCOPES,
106
+ client_config: {},
107
+ timeout: DEFAULT_TIMEOUT,
108
+ metadata: nil,
109
+ exception_transformer: nil,
110
+ lib_name: nil,
111
+ lib_version: ""
112
+ # These require statements are intentionally placed here to initialize
113
+ # the gRPC module only when it's required.
114
+ # See https://github.com/googleapis/toolkit/issues/446
115
+ require "google/gax/grpc"
116
+ require "google/ads/google_ads/v0/services/hotel_performance_view_service_services_pb"
117
+
118
+ credentials ||= Google::Ads::GoogleAds::V0::Services::Credentials.default
119
+
120
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
121
+ updater_proc = Google::Ads::GoogleAds::V0::Services::Credentials.new(credentials).updater_proc
122
+ end
123
+ if credentials.is_a?(GRPC::Core::Channel)
124
+ channel = credentials
125
+ end
126
+ if credentials.is_a?(GRPC::Core::ChannelCredentials)
127
+ chan_creds = credentials
128
+ end
129
+ if credentials.is_a?(Proc)
130
+ updater_proc = credentials
131
+ end
132
+ if credentials.is_a?(Google::Auth::Credentials)
133
+ updater_proc = credentials.updater_proc
134
+ end
135
+
136
+ package_version = Gem.loaded_specs['google-ads-googleads'].version.version
137
+
138
+ google_api_client = "gl-ruby/#{RUBY_VERSION}"
139
+ google_api_client << " #{lib_name}/#{lib_version}" if lib_name
140
+ google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}"
141
+ google_api_client << " grpc/#{GRPC::VERSION}"
142
+ google_api_client.freeze
143
+
144
+ headers = { :"x-goog-api-client" => google_api_client }
145
+ headers.merge!(metadata) unless metadata.nil?
146
+ client_config_file = Pathname.new(__dir__).join(
147
+ "hotel_performance_view_service_client_config.json"
148
+ )
149
+ defaults = client_config_file.open do |f|
150
+ Google::Gax.construct_settings(
151
+ "google.ads.googleads.v0.services.HotelPerformanceViewService",
152
+ JSON.parse(f.read),
153
+ client_config,
154
+ Google::Gax::Grpc::STATUS_CODE_NAMES,
155
+ timeout,
156
+ errors: Google::Gax::Grpc::API_ERRORS,
157
+ metadata: headers
158
+ )
159
+ end
160
+
161
+ # Allow overriding the service path/port in subclasses.
162
+ service_path = self.class::SERVICE_ADDRESS
163
+ port = self.class::DEFAULT_SERVICE_PORT
164
+ interceptors = self.class::GRPC_INTERCEPTORS
165
+ @hotel_performance_view_service_stub = Google::Gax::Grpc.create_stub(
166
+ service_path,
167
+ port,
168
+ chan_creds: chan_creds,
169
+ channel: channel,
170
+ updater_proc: updater_proc,
171
+ scopes: scopes,
172
+ interceptors: interceptors,
173
+ &Google::Ads::GoogleAds::V0::Services::HotelPerformanceViewService::Stub.method(:new)
174
+ )
175
+
176
+ @get_hotel_performance_view = Google::Gax.create_api_call(
177
+ @hotel_performance_view_service_stub.method(:get_hotel_performance_view),
178
+ defaults["get_hotel_performance_view"],
179
+ exception_transformer: exception_transformer
180
+ )
181
+ end
182
+
183
+ # Service calls
184
+
185
+ # Returns the requested Hotel Performance View in full detail.
186
+ #
187
+ # @param resource_name [String]
188
+ # Resource name of the Hotel Performance View to fetch.
189
+ # @param options [Google::Gax::CallOptions]
190
+ # Overrides the default settings for this call, e.g, timeout,
191
+ # retries, etc.
192
+ # @yield [result, operation] Access the result along with the RPC operation
193
+ # @yieldparam result [Google::Ads::GoogleAds::V0::Resources::HotelPerformanceView]
194
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
195
+ # @return [Google::Ads::GoogleAds::V0::Resources::HotelPerformanceView]
196
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
197
+ # @example
198
+ # require "google/ads/google_ads"
199
+ #
200
+ # hotel_performance_view_service_client = Google::Ads::GoogleAds::HotelPerformanceView.new(version: :v0)
201
+ # formatted_resource_name = Google::Ads::GoogleAds::V0::Services::HotelPerformanceViewServiceClient.hotel_performance_view_path("[CUSTOMER]")
202
+ # response = hotel_performance_view_service_client.get_hotel_performance_view(formatted_resource_name)
203
+
204
+ def get_hotel_performance_view \
205
+ resource_name,
206
+ options: nil,
207
+ &block
208
+ req = {
209
+ resource_name: resource_name
210
+ }.delete_if { |_, v| v.nil? }
211
+ req = Google::Gax::to_proto(req, Google::Ads::GoogleAds::V0::Services::GetHotelPerformanceViewRequest)
212
+ @get_hotel_performance_view.call(req, options, &block)
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end