diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c49e445..bfea451e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +30.0.0 +------ + - Compatibility with v17.1 of the API: https://developers.google.com/google-ads/api/docs/release-notes + 29.0.0 ------ - Compatibility with v17 of the API: https://developers.google.com/google-ads/api/docs/release-notes diff --git a/lib/google/ads/google_ads/v17/common/bidding_pb.rb b/lib/google/ads/google_ads/v17/common/bidding_pb.rb index ff363431..ce18da92 100644 --- a/lib/google/ads/google_ads/v17/common/bidding_pb.rb +++ b/lib/google/ads/google_ads/v17/common/bidding_pb.rb @@ -4,11 +4,13 @@ require 'google/protobuf' +require 'google/ads/google_ads/v17/enums/fixed_cpm_goal_pb' +require 'google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb' require 'google/ads/google_ads/v17/enums/target_frequency_time_unit_pb' require 'google/ads/google_ads/v17/enums/target_impression_share_location_pb' -descriptor_data = "\n-google/ads/googleads/v17/common/bidding.proto\x12\x1fgoogle.ads.googleads.v17.common\x1a?google/ads/googleads/v17/enums/target_frequency_time_unit.proto\x1a\x45google/ads/googleads/v17/enums/target_impression_share_location.proto\"L\n\nCommission\x12#\n\x16\x63ommission_rate_micros\x18\x02 \x01(\x03H\x00\x88\x01\x01\x42\x19\n\x17_commission_rate_micros\"\r\n\x0b\x45nhancedCpc\"\x0b\n\tManualCpa\"G\n\tManualCpc\x12!\n\x14\x65nhanced_cpc_enabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x17\n\x15_enhanced_cpc_enabled\"\x0b\n\tManualCpm\"\x0b\n\tManualCpv\"n\n\x13MaximizeConversions\x12\x1e\n\x16\x63pc_bid_ceiling_micros\x18\x02 \x01(\x03\x12\x1c\n\x14\x63pc_bid_floor_micros\x18\x03 \x01(\x03\x12\x19\n\x11target_cpa_micros\x18\x04 \x01(\x03\"l\n\x17MaximizeConversionValue\x12\x13\n\x0btarget_roas\x18\x02 \x01(\x01\x12\x1e\n\x16\x63pc_bid_ceiling_micros\x18\x03 \x01(\x03\x12\x1c\n\x14\x63pc_bid_floor_micros\x18\x04 \x01(\x03\"\xbd\x01\n\tTargetCpa\x12\x1e\n\x11target_cpa_micros\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12!\n\x14\x63pc_bid_floor_micros\x18\x06 \x01(\x03H\x02\x88\x01\x01\x42\x14\n\x12_target_cpa_microsB\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_cpc_bid_floor_micros\"s\n\tTargetCpm\x12^\n\x15target_frequency_goal\x18\x01 \x01(\x0b\x32=.google.ads.googleads.v17.common.TargetCpmTargetFrequencyGoalH\x00\x42\x06\n\x04goal\"\x9c\x01\n\x1cTargetCpmTargetFrequencyGoal\x12\x14\n\x0ctarget_count\x18\x01 \x01(\x03\x12\x66\n\ttime_unit\x18\x02 \x01(\x0e\x32S.google.ads.googleads.v17.enums.TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit\"\x8e\x02\n\x15TargetImpressionShare\x12q\n\x08location\x18\x01 \x01(\x0e\x32_.google.ads.googleads.v17.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation\x12%\n\x18location_fraction_micros\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x42\x1b\n\x19_location_fraction_microsB\x19\n\x17_cpc_bid_ceiling_micros\"\xb2\x01\n\nTargetRoas\x12\x18\n\x0btarget_roas\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12!\n\x14\x63pc_bid_floor_micros\x18\x06 \x01(\x03H\x02\x88\x01\x01\x42\x0e\n\x0c_target_roasB\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_cpc_bid_floor_micros\"\x8b\x01\n\x0bTargetSpend\x12$\n\x13target_spend_micros\x18\x03 \x01(\x03\x42\x02\x18\x01H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x04 \x01(\x03H\x01\x88\x01\x01\x42\x16\n\x14_target_spend_microsB\x19\n\x17_cpc_bid_ceiling_micros\"\x88\x01\n\nPercentCpc\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12!\n\x14\x65nhanced_cpc_enabled\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_enhanced_cpc_enabledB\xec\x01\n#com.google.ads.googleads.v17.commonB\x0c\x42iddingProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/common;common\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Common\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Common\xea\x02#Google::Ads::GoogleAds::V17::Commonb\x06proto3" +descriptor_data = "\n-google/ads/googleads/v17/common/bidding.proto\x12\x1fgoogle.ads.googleads.v17.common\x1a\x33google/ads/googleads/v17/enums/fixed_cpm_goal.proto\x1aIgoogle/ads/googleads/v17/enums/fixed_cpm_target_frequency_time_unit.proto\x1a?google/ads/googleads/v17/enums/target_frequency_time_unit.proto\x1a\x45google/ads/googleads/v17/enums/target_impression_share_location.proto\"L\n\nCommission\x12#\n\x16\x63ommission_rate_micros\x18\x02 \x01(\x03H\x00\x88\x01\x01\x42\x19\n\x17_commission_rate_micros\"\r\n\x0b\x45nhancedCpc\"\x0b\n\tManualCpa\"G\n\tManualCpc\x12!\n\x14\x65nhanced_cpc_enabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x17\n\x15_enhanced_cpc_enabled\"\x0b\n\tManualCpm\"\x0b\n\tManualCpv\"n\n\x13MaximizeConversions\x12\x1e\n\x16\x63pc_bid_ceiling_micros\x18\x02 \x01(\x03\x12\x1c\n\x14\x63pc_bid_floor_micros\x18\x03 \x01(\x03\x12\x19\n\x11target_cpa_micros\x18\x04 \x01(\x03\"l\n\x17MaximizeConversionValue\x12\x13\n\x0btarget_roas\x18\x02 \x01(\x01\x12\x1e\n\x16\x63pc_bid_ceiling_micros\x18\x03 \x01(\x03\x12\x1c\n\x14\x63pc_bid_floor_micros\x18\x04 \x01(\x03\"\xbd\x01\n\tTargetCpa\x12\x1e\n\x11target_cpa_micros\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12!\n\x14\x63pc_bid_floor_micros\x18\x06 \x01(\x03H\x02\x88\x01\x01\x42\x14\n\x12_target_cpa_microsB\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_cpc_bid_floor_micros\"s\n\tTargetCpm\x12^\n\x15target_frequency_goal\x18\x01 \x01(\x0b\x32=.google.ads.googleads.v17.common.TargetCpmTargetFrequencyGoalH\x00\x42\x06\n\x04goal\"\x9c\x01\n\x1cTargetCpmTargetFrequencyGoal\x12\x14\n\x0ctarget_count\x18\x01 \x01(\x03\x12\x66\n\ttime_unit\x18\x02 \x01(\x0e\x32S.google.ads.googleads.v17.enums.TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit\"\x8e\x02\n\x15TargetImpressionShare\x12q\n\x08location\x18\x01 \x01(\x0e\x32_.google.ads.googleads.v17.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation\x12%\n\x18location_fraction_micros\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x42\x1b\n\x19_location_fraction_microsB\x19\n\x17_cpc_bid_ceiling_micros\"\xb2\x01\n\nTargetRoas\x12\x18\n\x0btarget_roas\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x05 \x01(\x03H\x01\x88\x01\x01\x12!\n\x14\x63pc_bid_floor_micros\x18\x06 \x01(\x03H\x02\x88\x01\x01\x42\x0e\n\x0c_target_roasB\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_cpc_bid_floor_micros\"\x8b\x01\n\x0bTargetSpend\x12$\n\x13target_spend_micros\x18\x03 \x01(\x03\x42\x02\x18\x01H\x00\x88\x01\x01\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x04 \x01(\x03H\x01\x88\x01\x01\x42\x16\n\x14_target_spend_microsB\x19\n\x17_cpc_bid_ceiling_micros\"\x88\x01\n\nPercentCpc\x12#\n\x16\x63pc_bid_ceiling_micros\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12!\n\x14\x65nhanced_cpc_enabled\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_cpc_bid_ceiling_microsB\x17\n\x15_enhanced_cpc_enabled\"\xc7\x01\n\x08\x46ixedCpm\x12K\n\x04goal\x18\x01 \x01(\x0e\x32=.google.ads.googleads.v17.enums.FixedCpmGoalEnum.FixedCpmGoal\x12\x61\n\x15target_frequency_info\x18\x02 \x01(\x0b\x32@.google.ads.googleads.v17.common.FixedCpmTargetFrequencyGoalInfoH\x00\x42\x0b\n\tgoal_info\"\xaf\x01\n\x1f\x46ixedCpmTargetFrequencyGoalInfo\x12\x14\n\x0ctarget_count\x18\x01 \x01(\x03\x12v\n\ttime_unit\x18\x02 \x01(\x0e\x32\x63.google.ads.googleads.v17.enums.FixedCpmTargetFrequencyTimeUnitEnum.FixedCpmTargetFrequencyTimeUnit\"\x0b\n\tTargetCpvB\xec\x01\n#com.google.ads.googleads.v17.commonB\x0c\x42iddingProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/common;common\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Common\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Common\xea\x02#Google::Ads::GoogleAds::V17::Commonb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -54,6 +56,9 @@ module Common TargetRoas = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.TargetRoas").msgclass TargetSpend = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.TargetSpend").msgclass PercentCpc = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.PercentCpc").msgclass + FixedCpm = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.FixedCpm").msgclass + FixedCpmTargetFrequencyGoalInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.FixedCpmTargetFrequencyGoalInfo").msgclass + TargetCpv = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.common.TargetCpv").msgclass end end end diff --git a/lib/google/ads/google_ads/v17/common/segments_pb.rb b/lib/google/ads/google_ads/v17/common/segments_pb.rb index f6c43090..c392d2b5 100644 --- a/lib/google/ads/google_ads/v17/common/segments_pb.rb +++ b/lib/google/ads/google_ads/v17/common/segments_pb.rb @@ -6,6 +6,7 @@ require 'google/ads/google_ads/v17/common/criteria_pb' require 'google/ads/google_ads/v17/enums/ad_destination_type_pb' +require 'google/ads/google_ads/v17/enums/ad_format_type_pb' require 'google/ads/google_ads/v17/enums/ad_network_type_pb' require 'google/ads/google_ads/v17/enums/budget_campaign_association_status_pb' require 'google/ads/google_ads/v17/enums/click_type_pb' @@ -38,7 +39,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n.google/ads/googleads/v17/common/segments.proto\x12\x1fgoogle.ads.googleads.v17.common\x1a.google/ads/googleads/v17/common/criteria.proto\x1a\x38google/ads/googleads/v17/enums/ad_destination_type.proto\x1a\x34google/ads/googleads/v17/enums/ad_network_type.proto\x1aGgoogle/ads/googleads/v17/enums/budget_campaign_association_status.proto\x1a/google/ads/googleads/v17/enums/click_type.proto\x1a?google/ads/googleads/v17/enums/conversion_action_category.proto\x1a\x46google/ads/googleads/v17/enums/conversion_attribution_event_type.proto\x1a:google/ads/googleads/v17/enums/conversion_lag_bucket.proto\x1aHgoogle/ads/googleads/v17/enums/conversion_or_adjustment_lag_bucket.proto\x1aLgoogle/ads/googleads/v17/enums/conversion_value_rule_primary_dimension.proto\x1aYgoogle/ads/googleads/v17/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto\x1a\x30google/ads/googleads/v17/enums/day_of_week.proto\x1a+google/ads/googleads/v17/enums/device.proto\x1a?google/ads/googleads/v17/enums/external_conversion_source.proto\x1a>google/ads/googleads/v17/enums/hotel_date_selection_type.proto\x1a\x37google/ads/googleads/v17/enums/hotel_price_bucket.proto\x1a\x34google/ads/googleads/v17/enums/hotel_rate_type.proto\x1a\x32google/ads/googleads/v17/enums/month_of_year.proto\x1a\x35google/ads/googleads/v17/enums/placeholder_type.proto\x1a\x34google/ads/googleads/v17/enums/product_channel.proto\x1a@google/ads/googleads/v17/enums/product_channel_exclusivity.proto\x1a\x36google/ads/googleads/v17/enums/product_condition.proto\x1a\x38google/ads/googleads/v17/enums/recommendation_type.proto\x1a\x44google/ads/googleads/v17/enums/search_engine_results_page_type.proto\x1a;google/ads/googleads/v17/enums/search_term_match_type.proto\x1a@google/ads/googleads/v17/enums/sk_ad_network_ad_event_type.proto\x1a\x45google/ads/googleads/v17/enums/sk_ad_network_attribution_credit.proto\x1aJgoogle/ads/googleads/v17/enums/sk_ad_network_coarse_conversion_value.proto\x1a>google/ads/googleads/v17/enums/sk_ad_network_source_type.proto\x1a\x88\x01\x01\x12\x15\n\x07quarter\x18\x80\x01 \x01(\tH?\x88\x01\x01\x12g\n\x13recommendation_type\x18\x8c\x01 \x01(\x0e\x32I.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType\x12\x84\x01\n\x1fsearch_engine_results_page_type\x18\x46 \x01(\x0e\x32[.google.ads.googleads.v17.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType\x12 \n\x12search_subcategory\x18\x9b\x01 \x01(\tH@\x88\x01\x01\x12\x19\n\x0bsearch_term\x18\x9c\x01 \x01(\tHA\x88\x01\x01\x12k\n\x16search_term_match_type\x18\x16 \x01(\x0e\x32K.google.ads.googleads.v17.enums.SearchTermMatchTypeEnum.SearchTermMatchType\x12;\n\x04slot\x18\x17 \x01(\x0e\x32-.google.ads.googleads.v17.enums.SlotEnum.Slot\x12\x9d\x01\n\'conversion_value_rule_primary_dimension\x18\x8a\x01 \x01(\x0e\x32k.google.ads.googleads.v17.enums.ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension\x12\x15\n\x07webpage\x18\x81\x01 \x01(\tHB\x88\x01\x01\x12\x12\n\x04week\x18\x82\x01 \x01(\tHC\x88\x01\x01\x12\x12\n\x04year\x18\x83\x01 \x01(\x05HD\x88\x01\x01\x12\x31\n#sk_ad_network_fine_conversion_value\x18\x89\x01 \x01(\x03HE\x88\x01\x01\x12?\n1sk_ad_network_redistributed_fine_conversion_value\x18\xbe\x01 \x01(\x03HF\x88\x01\x01\x12m\n\x17sk_ad_network_user_type\x18\x8d\x01 \x01(\x0e\x32K.google.ads.googleads.v17.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType\x12w\n\x1bsk_ad_network_ad_event_type\x18\x8e\x01 \x01(\x0e\x32Q.google.ads.googleads.v17.enums.SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType\x12]\n\x18sk_ad_network_source_app\x18\x8f\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.common.SkAdNetworkSourceAppHG\x88\x01\x01\x12\x88\x01\n sk_ad_network_attribution_credit\x18\x90\x01 \x01(\x0e\x32].google.ads.googleads.v17.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit\x12\x95\x01\n%sk_ad_network_coarse_conversion_value\x18\x97\x01 \x01(\x0e\x32\x65.google.ads.googleads.v17.enums.SkAdNetworkCoarseConversionValueEnum.SkAdNetworkCoarseConversionValue\x12)\n\x1bsk_ad_network_source_domain\x18\x98\x01 \x01(\tHH\x88\x01\x01\x12s\n\x19sk_ad_network_source_type\x18\x99\x01 \x01(\x0e\x32O.google.ads.googleads.v17.enums.SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType\x12\x33\n%sk_ad_network_postback_sequence_index\x18\x9a\x01 \x01(\x03HI\x88\x01\x01\x12_\n\x18\x61sset_interaction_target\x18\x8b\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.common.AssetInteractionTargetHJ\x88\x01\x01\x12\xa8\x01\n\x1enew_versus_returning_customers\x18\xa0\x01 \x01(\x0e\x32\x7f.google.ads.googleads.v17.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucketB\x16\n\x14_activity_account_idB\x10\n\x0e_activity_cityB\x13\n\x11_activity_countryB\x12\n\x10_activity_ratingB\x11\n\x0f_activity_stateB\x17\n\x15_external_activity_idB\x0b\n\t_ad_groupB\x0e\n\x0c_asset_groupB\x19\n\x17_auction_insight_domainB\x0b\n\t_campaignB\x14\n\x12_conversion_actionB\x19\n\x17_conversion_action_nameB\x18\n\x16_conversion_adjustmentB\x07\n\x05_dateB\x15\n\x13_geo_target_airportB\x14\n\x12_geo_target_cantonB\x12\n\x10_geo_target_cityB\x15\n\x13_geo_target_countryB\x14\n\x12_geo_target_countyB\x16\n\x14_geo_target_districtB\x13\n\x11_geo_target_metroB$\n\"_geo_target_most_specific_locationB\x19\n\x17_geo_target_postal_codeB\x16\n\x14_geo_target_provinceB\x14\n\x12_geo_target_regionB\x13\n\x11_geo_target_stateB\x1c\n\x1a_hotel_booking_window_daysB\x12\n\x10_hotel_center_idB\x16\n\x14_hotel_check_in_dateB\r\n\x0b_hotel_cityB\x0e\n\x0c_hotel_classB\x10\n\x0e_hotel_countryB\x17\n\x15_hotel_length_of_stayB\x15\n\x13_hotel_rate_rule_idB\x0e\n\x0c_hotel_stateB\x07\n\x05_hourB \n\x1e_interaction_on_this_extensionB\x08\n\x06_monthB\x13\n\x11_partner_hotel_idB\x18\n\x16_product_aggregator_idB\x1a\n\x18_product_category_level1B\x1a\n\x18_product_category_level2B\x1a\n\x18_product_category_level3B\x1a\n\x18_product_category_level4B\x1a\n\x18_product_category_level5B\x10\n\x0e_product_brandB\x12\n\x10_product_countryB\x1c\n\x1a_product_custom_attribute0B\x1c\n\x1a_product_custom_attribute1B\x1c\n\x1a_product_custom_attribute2B\x1c\n\x1a_product_custom_attribute3B\x1c\n\x1a_product_custom_attribute4B\x15\n\x13_product_feed_labelB\x12\n\x10_product_item_idB\x13\n\x11_product_languageB\x16\n\x14_product_merchant_idB\x13\n\x11_product_store_idB\x10\n\x0e_product_titleB\x12\n\x10_product_type_l1B\x12\n\x10_product_type_l2B\x12\n\x10_product_type_l3B\x12\n\x10_product_type_l4B\x12\n\x10_product_type_l5B\n\n\x08_quarterB\x15\n\x13_search_subcategoryB\x0e\n\x0c_search_termB\n\n\x08_webpageB\x07\n\x05_weekB\x07\n\x05_yearB&\n$_sk_ad_network_fine_conversion_valueB4\n2_sk_ad_network_redistributed_fine_conversion_valueB\x1b\n\x19_sk_ad_network_source_appB\x1e\n\x1c_sk_ad_network_source_domainB(\n&_sk_ad_network_postback_sequence_indexB\x1b\n\x19_asset_interaction_target\"}\n\x07Keyword\x12\x1f\n\x12\x61\x64_group_criterion\x18\x03 \x01(\tH\x00\x88\x01\x01\x12:\n\x04info\x18\x02 \x01(\x0b\x32,.google.ads.googleads.v17.common.KeywordInfoB\x15\n\x13_ad_group_criterion\"\xba\x01\n\x1f\x42udgetCampaignAssociationStatus\x12\x15\n\x08\x63\x61mpaign\x18\x01 \x01(\tH\x00\x88\x01\x01\x12s\n\x06status\x18\x02 \x01(\x0e\x32\x63.google.ads.googleads.v17.enums.BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatusB\x0b\n\t_campaign\"J\n\x16\x41ssetInteractionTarget\x12\r\n\x05\x61sset\x18\x01 \x01(\t\x12!\n\x19interaction_on_this_asset\x18\x02 \x01(\x08\"`\n\x14SkAdNetworkSourceApp\x12(\n\x1bsk_ad_network_source_app_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x1e\n\x1c_sk_ad_network_source_app_idB\xed\x01\n#com.google.ads.googleads.v17.commonB\rSegmentsProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/common;common\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Common\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Common\xea\x02#Google::Ads::GoogleAds::V17::Commonb\x06proto3" +descriptor_data = "\n.google/ads/googleads/v17/common/segments.proto\x12\x1fgoogle.ads.googleads.v17.common\x1a.google/ads/googleads/v17/common/criteria.proto\x1a\x38google/ads/googleads/v17/enums/ad_destination_type.proto\x1a\x33google/ads/googleads/v17/enums/ad_format_type.proto\x1a\x34google/ads/googleads/v17/enums/ad_network_type.proto\x1aGgoogle/ads/googleads/v17/enums/budget_campaign_association_status.proto\x1a/google/ads/googleads/v17/enums/click_type.proto\x1a?google/ads/googleads/v17/enums/conversion_action_category.proto\x1a\x46google/ads/googleads/v17/enums/conversion_attribution_event_type.proto\x1a:google/ads/googleads/v17/enums/conversion_lag_bucket.proto\x1aHgoogle/ads/googleads/v17/enums/conversion_or_adjustment_lag_bucket.proto\x1aLgoogle/ads/googleads/v17/enums/conversion_value_rule_primary_dimension.proto\x1aYgoogle/ads/googleads/v17/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto\x1a\x30google/ads/googleads/v17/enums/day_of_week.proto\x1a+google/ads/googleads/v17/enums/device.proto\x1a?google/ads/googleads/v17/enums/external_conversion_source.proto\x1a>google/ads/googleads/v17/enums/hotel_date_selection_type.proto\x1a\x37google/ads/googleads/v17/enums/hotel_price_bucket.proto\x1a\x34google/ads/googleads/v17/enums/hotel_rate_type.proto\x1a\x32google/ads/googleads/v17/enums/month_of_year.proto\x1a\x35google/ads/googleads/v17/enums/placeholder_type.proto\x1a\x34google/ads/googleads/v17/enums/product_channel.proto\x1a@google/ads/googleads/v17/enums/product_channel_exclusivity.proto\x1a\x36google/ads/googleads/v17/enums/product_condition.proto\x1a\x38google/ads/googleads/v17/enums/recommendation_type.proto\x1a\x44google/ads/googleads/v17/enums/search_engine_results_page_type.proto\x1a;google/ads/googleads/v17/enums/search_term_match_type.proto\x1a@google/ads/googleads/v17/enums/sk_ad_network_ad_event_type.proto\x1a\x45google/ads/googleads/v17/enums/sk_ad_network_attribution_credit.proto\x1aJgoogle/ads/googleads/v17/enums/sk_ad_network_coarse_conversion_value.proto\x1a>google/ads/googleads/v17/enums/sk_ad_network_source_type.proto\x1a\n\x08Segments\x12!\n\x13\x61\x63tivity_account_id\x18\x94\x01 \x01(\x03H\x00\x88\x01\x01\x12\x1b\n\ractivity_city\x18\xb9\x01 \x01(\tH\x01\x88\x01\x01\x12\x1e\n\x10\x61\x63tivity_country\x18\xba\x01 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x0f\x61\x63tivity_rating\x18\x95\x01 \x01(\x03H\x03\x88\x01\x01\x12\x1c\n\x0e\x61\x63tivity_state\x18\xbb\x01 \x01(\tH\x04\x88\x01\x01\x12\"\n\x14\x65xternal_activity_id\x18\x96\x01 \x01(\tH\x05\x88\x01\x01\x12\x65\n\x13\x61\x64_destination_type\x18\x88\x01 \x01(\x0e\x32G.google.ads.googleads.v17.enums.AdDestinationTypeEnum.AdDestinationType\x12V\n\x0e\x61\x64_format_type\x18\xbf\x01 \x01(\x0e\x32=.google.ads.googleads.v17.enums.AdFormatTypeEnum.AdFormatType\x12X\n\x0f\x61\x64_network_type\x18\x03 \x01(\x0e\x32?.google.ads.googleads.v17.enums.AdNetworkTypeEnum.AdNetworkType\x12\x16\n\x08\x61\x64_group\x18\x9e\x01 \x01(\tH\x06\x88\x01\x01\x12\x19\n\x0b\x61sset_group\x18\x9f\x01 \x01(\tH\x07\x88\x01\x01\x12$\n\x16\x61uction_insight_domain\x18\x91\x01 \x01(\tH\x08\x88\x01\x01\x12m\n\"budget_campaign_association_status\x18\x86\x01 \x01(\x0b\x32@.google.ads.googleads.v17.common.BudgetCampaignAssociationStatus\x12\x16\n\x08\x63\x61mpaign\x18\x9d\x01 \x01(\tH\t\x88\x01\x01\x12K\n\nclick_type\x18\x1a \x01(\x0e\x32\x37.google.ads.googleads.v17.enums.ClickTypeEnum.ClickType\x12N\n\x11\x63onversion_action\x18q \x01(\tB.\xfa\x41+\n)googleads.googleapis.com/ConversionActionH\n\x88\x01\x01\x12y\n\x1a\x63onversion_action_category\x18\x35 \x01(\x0e\x32U.google.ads.googleads.v17.enums.ConversionActionCategoryEnum.ConversionActionCategory\x12#\n\x16\x63onversion_action_name\x18r \x01(\tH\x0b\x88\x01\x01\x12\"\n\x15\x63onversion_adjustment\x18s \x01(\x08H\x0c\x88\x01\x01\x12\x8c\x01\n!conversion_attribution_event_type\x18\x02 \x01(\x0e\x32\x61.google.ads.googleads.v17.enums.ConversionAttributionEventTypeEnum.ConversionAttributionEventType\x12j\n\x15\x63onversion_lag_bucket\x18\x32 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ConversionLagBucketEnum.ConversionLagBucket\x12\x90\x01\n#conversion_or_adjustment_lag_bucket\x18\x33 \x01(\x0e\x32\x63.google.ads.googleads.v17.enums.ConversionOrAdjustmentLagBucketEnum.ConversionOrAdjustmentLagBucket\x12\x11\n\x04\x64\x61te\x18O \x01(\tH\r\x88\x01\x01\x12L\n\x0b\x64\x61y_of_week\x18\x05 \x01(\x0e\x32\x37.google.ads.googleads.v17.enums.DayOfWeekEnum.DayOfWeek\x12\x41\n\x06\x64\x65vice\x18\x01 \x01(\x0e\x32\x31.google.ads.googleads.v17.enums.DeviceEnum.Device\x12y\n\x1a\x65xternal_conversion_source\x18\x37 \x01(\x0e\x32U.google.ads.googleads.v17.enums.ExternalConversionSourceEnum.ExternalConversionSource\x12\x1f\n\x12geo_target_airport\x18t \x01(\tH\x0e\x88\x01\x01\x12\x1e\n\x11geo_target_canton\x18u \x01(\tH\x0f\x88\x01\x01\x12\x1c\n\x0fgeo_target_city\x18v \x01(\tH\x10\x88\x01\x01\x12\x1f\n\x12geo_target_country\x18w \x01(\tH\x11\x88\x01\x01\x12\x1e\n\x11geo_target_county\x18x \x01(\tH\x12\x88\x01\x01\x12 \n\x13geo_target_district\x18y \x01(\tH\x13\x88\x01\x01\x12\x1d\n\x10geo_target_metro\x18z \x01(\tH\x14\x88\x01\x01\x12.\n!geo_target_most_specific_location\x18{ \x01(\tH\x15\x88\x01\x01\x12#\n\x16geo_target_postal_code\x18| \x01(\tH\x16\x88\x01\x01\x12 \n\x13geo_target_province\x18} \x01(\tH\x17\x88\x01\x01\x12\x1e\n\x11geo_target_region\x18~ \x01(\tH\x18\x88\x01\x01\x12\x1d\n\x10geo_target_state\x18\x7f \x01(\tH\x19\x88\x01\x01\x12\'\n\x19hotel_booking_window_days\x18\x87\x01 \x01(\x03H\x1a\x88\x01\x01\x12\x1c\n\x0fhotel_center_id\x18P \x01(\x03H\x1b\x88\x01\x01\x12 \n\x13hotel_check_in_date\x18Q \x01(\tH\x1c\x88\x01\x01\x12[\n\x1ahotel_check_in_day_of_week\x18\t \x01(\x0e\x32\x37.google.ads.googleads.v17.enums.DayOfWeekEnum.DayOfWeek\x12\x17\n\nhotel_city\x18R \x01(\tH\x1d\x88\x01\x01\x12\x18\n\x0bhotel_class\x18S \x01(\x05H\x1e\x88\x01\x01\x12\x1a\n\rhotel_country\x18T \x01(\tH\x1f\x88\x01\x01\x12t\n\x19hotel_date_selection_type\x18\r \x01(\x0e\x32Q.google.ads.googleads.v17.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType\x12!\n\x14hotel_length_of_stay\x18U \x01(\x05H \x88\x01\x01\x12\x1f\n\x12hotel_rate_rule_id\x18V \x01(\tH!\x88\x01\x01\x12X\n\x0fhotel_rate_type\x18J \x01(\x0e\x32?.google.ads.googleads.v17.enums.HotelRateTypeEnum.HotelRateType\x12\x61\n\x12hotel_price_bucket\x18N \x01(\x0e\x32\x45.google.ads.googleads.v17.enums.HotelPriceBucketEnum.HotelPriceBucket\x12\x18\n\x0bhotel_state\x18W \x01(\tH\"\x88\x01\x01\x12\x11\n\x04hour\x18X \x01(\x05H#\x88\x01\x01\x12*\n\x1dinteraction_on_this_extension\x18Y \x01(\x08H$\x88\x01\x01\x12\x39\n\x07keyword\x18= \x01(\x0b\x32(.google.ads.googleads.v17.common.Keyword\x12\x12\n\x05month\x18Z \x01(\tH%\x88\x01\x01\x12R\n\rmonth_of_year\x18\x12 \x01(\x0e\x32;.google.ads.googleads.v17.enums.MonthOfYearEnum.MonthOfYear\x12\x1d\n\x10partner_hotel_id\x18[ \x01(\tH&\x88\x01\x01\x12]\n\x10placeholder_type\x18\x14 \x01(\x0e\x32\x43.google.ads.googleads.v17.enums.PlaceholderTypeEnum.PlaceholderType\x12#\n\x15product_aggregator_id\x18\x84\x01 \x01(\x03H\'\x88\x01\x01\x12%\n\x17product_category_level1\x18\xa1\x01 \x01(\tH(\x88\x01\x01\x12%\n\x17product_category_level2\x18\xa2\x01 \x01(\tH)\x88\x01\x01\x12%\n\x17product_category_level3\x18\xa3\x01 \x01(\tH*\x88\x01\x01\x12%\n\x17product_category_level4\x18\xa4\x01 \x01(\tH+\x88\x01\x01\x12%\n\x17product_category_level5\x18\xa5\x01 \x01(\tH,\x88\x01\x01\x12\x1a\n\rproduct_brand\x18\x61 \x01(\tH-\x88\x01\x01\x12Z\n\x0fproduct_channel\x18\x1e \x01(\x0e\x32\x41.google.ads.googleads.v17.enums.ProductChannelEnum.ProductChannel\x12|\n\x1bproduct_channel_exclusivity\x18\x1f \x01(\x0e\x32W.google.ads.googleads.v17.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity\x12`\n\x11product_condition\x18 \x01(\x0e\x32\x45.google.ads.googleads.v17.enums.ProductConditionEnum.ProductCondition\x12\x1c\n\x0fproduct_country\x18\x62 \x01(\tH.\x88\x01\x01\x12&\n\x19product_custom_attribute0\x18\x63 \x01(\tH/\x88\x01\x01\x12&\n\x19product_custom_attribute1\x18\x64 \x01(\tH0\x88\x01\x01\x12&\n\x19product_custom_attribute2\x18\x65 \x01(\tH1\x88\x01\x01\x12&\n\x19product_custom_attribute3\x18\x66 \x01(\tH2\x88\x01\x01\x12&\n\x19product_custom_attribute4\x18g \x01(\tH3\x88\x01\x01\x12 \n\x12product_feed_label\x18\x93\x01 \x01(\tH4\x88\x01\x01\x12\x1c\n\x0fproduct_item_id\x18h \x01(\tH5\x88\x01\x01\x12\x1d\n\x10product_language\x18i \x01(\tH6\x88\x01\x01\x12!\n\x13product_merchant_id\x18\x85\x01 \x01(\x03H7\x88\x01\x01\x12\x1d\n\x10product_store_id\x18j \x01(\tH8\x88\x01\x01\x12\x1a\n\rproduct_title\x18k \x01(\tH9\x88\x01\x01\x12\x1c\n\x0fproduct_type_l1\x18l \x01(\tH:\x88\x01\x01\x12\x1c\n\x0fproduct_type_l2\x18m \x01(\tH;\x88\x01\x01\x12\x1c\n\x0fproduct_type_l3\x18n \x01(\tH<\x88\x01\x01\x12\x1c\n\x0fproduct_type_l4\x18o \x01(\tH=\x88\x01\x01\x12\x1c\n\x0fproduct_type_l5\x18p \x01(\tH>\x88\x01\x01\x12\x15\n\x07quarter\x18\x80\x01 \x01(\tH?\x88\x01\x01\x12g\n\x13recommendation_type\x18\x8c\x01 \x01(\x0e\x32I.google.ads.googleads.v17.enums.RecommendationTypeEnum.RecommendationType\x12\x84\x01\n\x1fsearch_engine_results_page_type\x18\x46 \x01(\x0e\x32[.google.ads.googleads.v17.enums.SearchEngineResultsPageTypeEnum.SearchEngineResultsPageType\x12 \n\x12search_subcategory\x18\x9b\x01 \x01(\tH@\x88\x01\x01\x12\x19\n\x0bsearch_term\x18\x9c\x01 \x01(\tHA\x88\x01\x01\x12k\n\x16search_term_match_type\x18\x16 \x01(\x0e\x32K.google.ads.googleads.v17.enums.SearchTermMatchTypeEnum.SearchTermMatchType\x12;\n\x04slot\x18\x17 \x01(\x0e\x32-.google.ads.googleads.v17.enums.SlotEnum.Slot\x12\x9d\x01\n\'conversion_value_rule_primary_dimension\x18\x8a\x01 \x01(\x0e\x32k.google.ads.googleads.v17.enums.ConversionValueRulePrimaryDimensionEnum.ConversionValueRulePrimaryDimension\x12\x15\n\x07webpage\x18\x81\x01 \x01(\tHB\x88\x01\x01\x12\x12\n\x04week\x18\x82\x01 \x01(\tHC\x88\x01\x01\x12\x12\n\x04year\x18\x83\x01 \x01(\x05HD\x88\x01\x01\x12\x31\n#sk_ad_network_fine_conversion_value\x18\x89\x01 \x01(\x03HE\x88\x01\x01\x12?\n1sk_ad_network_redistributed_fine_conversion_value\x18\xbe\x01 \x01(\x03HF\x88\x01\x01\x12m\n\x17sk_ad_network_user_type\x18\x8d\x01 \x01(\x0e\x32K.google.ads.googleads.v17.enums.SkAdNetworkUserTypeEnum.SkAdNetworkUserType\x12w\n\x1bsk_ad_network_ad_event_type\x18\x8e\x01 \x01(\x0e\x32Q.google.ads.googleads.v17.enums.SkAdNetworkAdEventTypeEnum.SkAdNetworkAdEventType\x12]\n\x18sk_ad_network_source_app\x18\x8f\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.common.SkAdNetworkSourceAppHG\x88\x01\x01\x12\x88\x01\n sk_ad_network_attribution_credit\x18\x90\x01 \x01(\x0e\x32].google.ads.googleads.v17.enums.SkAdNetworkAttributionCreditEnum.SkAdNetworkAttributionCredit\x12\x95\x01\n%sk_ad_network_coarse_conversion_value\x18\x97\x01 \x01(\x0e\x32\x65.google.ads.googleads.v17.enums.SkAdNetworkCoarseConversionValueEnum.SkAdNetworkCoarseConversionValue\x12)\n\x1bsk_ad_network_source_domain\x18\x98\x01 \x01(\tHH\x88\x01\x01\x12s\n\x19sk_ad_network_source_type\x18\x99\x01 \x01(\x0e\x32O.google.ads.googleads.v17.enums.SkAdNetworkSourceTypeEnum.SkAdNetworkSourceType\x12\x33\n%sk_ad_network_postback_sequence_index\x18\x9a\x01 \x01(\x03HI\x88\x01\x01\x12#\n\x15sk_ad_network_version\x18\xc0\x01 \x01(\tHJ\x88\x01\x01\x12_\n\x18\x61sset_interaction_target\x18\x8b\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.common.AssetInteractionTargetHK\x88\x01\x01\x12\xa8\x01\n\x1enew_versus_returning_customers\x18\xa0\x01 \x01(\x0e\x32\x7f.google.ads.googleads.v17.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucketB\x16\n\x14_activity_account_idB\x10\n\x0e_activity_cityB\x13\n\x11_activity_countryB\x12\n\x10_activity_ratingB\x11\n\x0f_activity_stateB\x17\n\x15_external_activity_idB\x0b\n\t_ad_groupB\x0e\n\x0c_asset_groupB\x19\n\x17_auction_insight_domainB\x0b\n\t_campaignB\x14\n\x12_conversion_actionB\x19\n\x17_conversion_action_nameB\x18\n\x16_conversion_adjustmentB\x07\n\x05_dateB\x15\n\x13_geo_target_airportB\x14\n\x12_geo_target_cantonB\x12\n\x10_geo_target_cityB\x15\n\x13_geo_target_countryB\x14\n\x12_geo_target_countyB\x16\n\x14_geo_target_districtB\x13\n\x11_geo_target_metroB$\n\"_geo_target_most_specific_locationB\x19\n\x17_geo_target_postal_codeB\x16\n\x14_geo_target_provinceB\x14\n\x12_geo_target_regionB\x13\n\x11_geo_target_stateB\x1c\n\x1a_hotel_booking_window_daysB\x12\n\x10_hotel_center_idB\x16\n\x14_hotel_check_in_dateB\r\n\x0b_hotel_cityB\x0e\n\x0c_hotel_classB\x10\n\x0e_hotel_countryB\x17\n\x15_hotel_length_of_stayB\x15\n\x13_hotel_rate_rule_idB\x0e\n\x0c_hotel_stateB\x07\n\x05_hourB \n\x1e_interaction_on_this_extensionB\x08\n\x06_monthB\x13\n\x11_partner_hotel_idB\x18\n\x16_product_aggregator_idB\x1a\n\x18_product_category_level1B\x1a\n\x18_product_category_level2B\x1a\n\x18_product_category_level3B\x1a\n\x18_product_category_level4B\x1a\n\x18_product_category_level5B\x10\n\x0e_product_brandB\x12\n\x10_product_countryB\x1c\n\x1a_product_custom_attribute0B\x1c\n\x1a_product_custom_attribute1B\x1c\n\x1a_product_custom_attribute2B\x1c\n\x1a_product_custom_attribute3B\x1c\n\x1a_product_custom_attribute4B\x15\n\x13_product_feed_labelB\x12\n\x10_product_item_idB\x13\n\x11_product_languageB\x16\n\x14_product_merchant_idB\x13\n\x11_product_store_idB\x10\n\x0e_product_titleB\x12\n\x10_product_type_l1B\x12\n\x10_product_type_l2B\x12\n\x10_product_type_l3B\x12\n\x10_product_type_l4B\x12\n\x10_product_type_l5B\n\n\x08_quarterB\x15\n\x13_search_subcategoryB\x0e\n\x0c_search_termB\n\n\x08_webpageB\x07\n\x05_weekB\x07\n\x05_yearB&\n$_sk_ad_network_fine_conversion_valueB4\n2_sk_ad_network_redistributed_fine_conversion_valueB\x1b\n\x19_sk_ad_network_source_appB\x1e\n\x1c_sk_ad_network_source_domainB(\n&_sk_ad_network_postback_sequence_indexB\x18\n\x16_sk_ad_network_versionB\x1b\n\x19_asset_interaction_target\"}\n\x07Keyword\x12\x1f\n\x12\x61\x64_group_criterion\x18\x03 \x01(\tH\x00\x88\x01\x01\x12:\n\x04info\x18\x02 \x01(\x0b\x32,.google.ads.googleads.v17.common.KeywordInfoB\x15\n\x13_ad_group_criterion\"\xba\x01\n\x1f\x42udgetCampaignAssociationStatus\x12\x15\n\x08\x63\x61mpaign\x18\x01 \x01(\tH\x00\x88\x01\x01\x12s\n\x06status\x18\x02 \x01(\x0e\x32\x63.google.ads.googleads.v17.enums.BudgetCampaignAssociationStatusEnum.BudgetCampaignAssociationStatusB\x0b\n\t_campaign\"J\n\x16\x41ssetInteractionTarget\x12\r\n\x05\x61sset\x18\x01 \x01(\t\x12!\n\x19interaction_on_this_asset\x18\x02 \x01(\x08\"`\n\x14SkAdNetworkSourceApp\x12(\n\x1bsk_ad_network_source_app_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x1e\n\x1c_sk_ad_network_source_app_idB\xed\x01\n#com.google.ads.googleads.v17.commonB\rSegmentsProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/common;common\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Common\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Common\xea\x02#Google::Ads::GoogleAds::V17::Commonb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/enums/ad_format_type_pb.rb b/lib/google/ads/google_ads/v17/enums/ad_format_type_pb.rb new file mode 100644 index 00000000..a1d70796 --- /dev/null +++ b/lib/google/ads/google_ads/v17/enums/ad_format_type_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/enums/ad_format_type.proto + +require 'google/protobuf' + + +descriptor_data = "\n3google/ads/googleads/v17/enums/ad_format_type.proto\x12\x1egoogle.ads.googleads.v17.enums\"\xdd\x01\n\x10\x41\x64\x46ormatTypeEnum\"\xc8\x01\n\x0c\x41\x64\x46ormatType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\t\n\x05OTHER\x10\x02\x12\x0f\n\x0bUNSEGMENTED\x10\x03\x12\x16\n\x12INSTREAM_SKIPPABLE\x10\x04\x12\x1a\n\x16INSTREAM_NON_SKIPPABLE\x10\x05\x12\n\n\x06INFEED\x10\x06\x12\n\n\x06\x42UMPER\x10\x07\x12\r\n\tOUTSTREAM\x10\x08\x12\x0c\n\x08MASTHEAD\x10\t\x12\t\n\x05\x41UDIO\x10\n\x12\n\n\x06SHORTS\x10\x0b\x42\xeb\x01\n\"com.google.ads.googleads.v17.enumsB\x11\x41\x64\x46ormatTypeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Enums + AdFormatTypeEnum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.AdFormatTypeEnum").msgclass + AdFormatTypeEnum::AdFormatType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.AdFormatTypeEnum.AdFormatType").enummodule + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb b/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb index 488a4aed..dfa0338d 100644 --- a/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb +++ b/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n:google/ads/googleads/v17/enums/bidding_strategy_type.proto\x12\x1egoogle.ads.googleads.v17.enums\"\x99\x03\n\x17\x42iddingStrategyTypeEnum\"\xfd\x02\n\x13\x42iddingStrategyType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0e\n\nCOMMISSION\x10\x10\x12\x10\n\x0c\x45NHANCED_CPC\x10\x02\x12\x0b\n\x07INVALID\x10\x11\x12\x0e\n\nMANUAL_CPA\x10\x12\x12\x0e\n\nMANUAL_CPC\x10\x03\x12\x0e\n\nMANUAL_CPM\x10\x04\x12\x0e\n\nMANUAL_CPV\x10\r\x12\x18\n\x14MAXIMIZE_CONVERSIONS\x10\n\x12\x1d\n\x19MAXIMIZE_CONVERSION_VALUE\x10\x0b\x12\x15\n\x11PAGE_ONE_PROMOTED\x10\x05\x12\x0f\n\x0bPERCENT_CPC\x10\x0c\x12\x0e\n\nTARGET_CPA\x10\x06\x12\x0e\n\nTARGET_CPM\x10\x0e\x12\x1b\n\x17TARGET_IMPRESSION_SHARE\x10\x0f\x12\x18\n\x14TARGET_OUTRANK_SHARE\x10\x07\x12\x0f\n\x0bTARGET_ROAS\x10\x08\x12\x10\n\x0cTARGET_SPEND\x10\tB\xf2\x01\n\"com.google.ads.googleads.v17.enumsB\x18\x42iddingStrategyTypeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" +descriptor_data = "\n:google/ads/googleads/v17/enums/bidding_strategy_type.proto\x12\x1egoogle.ads.googleads.v17.enums\"\xb8\x03\n\x17\x42iddingStrategyTypeEnum\"\x9c\x03\n\x13\x42iddingStrategyType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0e\n\nCOMMISSION\x10\x10\x12\x10\n\x0c\x45NHANCED_CPC\x10\x02\x12\r\n\tFIXED_CPM\x10\x13\x12\x0b\n\x07INVALID\x10\x11\x12\x0e\n\nMANUAL_CPA\x10\x12\x12\x0e\n\nMANUAL_CPC\x10\x03\x12\x0e\n\nMANUAL_CPM\x10\x04\x12\x0e\n\nMANUAL_CPV\x10\r\x12\x18\n\x14MAXIMIZE_CONVERSIONS\x10\n\x12\x1d\n\x19MAXIMIZE_CONVERSION_VALUE\x10\x0b\x12\x15\n\x11PAGE_ONE_PROMOTED\x10\x05\x12\x0f\n\x0bPERCENT_CPC\x10\x0c\x12\x0e\n\nTARGET_CPA\x10\x06\x12\x0e\n\nTARGET_CPM\x10\x0e\x12\x0e\n\nTARGET_CPV\x10\x14\x12\x1b\n\x17TARGET_IMPRESSION_SHARE\x10\x0f\x12\x18\n\x14TARGET_OUTRANK_SHARE\x10\x07\x12\x0f\n\x0bTARGET_ROAS\x10\x08\x12\x10\n\x0cTARGET_SPEND\x10\tB\xf2\x01\n\"com.google.ads.googleads.v17.enumsB\x18\x42iddingStrategyTypeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb b/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb index f5cba605..24034c53 100644 --- a/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb +++ b/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n@google/ads/googleads/v17/enums/change_status_resource_type.proto\x12\x1egoogle.ads.googleads.v17.enums\"\x97\x03\n\x1c\x43hangeStatusResourceTypeEnum\"\xf6\x02\n\x18\x43hangeStatusResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0c\n\x08\x41\x44_GROUP\x10\x03\x12\x0f\n\x0b\x41\x44_GROUP_AD\x10\x04\x12\x16\n\x12\x41\x44_GROUP_CRITERION\x10\x05\x12\x0c\n\x08\x43\x41MPAIGN\x10\x06\x12\x16\n\x12\x43\x41MPAIGN_CRITERION\x10\x07\x12\x08\n\x04\x46\x45\x45\x44\x10\t\x12\r\n\tFEED_ITEM\x10\n\x12\x11\n\rAD_GROUP_FEED\x10\x0b\x12\x11\n\rCAMPAIGN_FEED\x10\x0c\x12\x19\n\x15\x41\x44_GROUP_BID_MODIFIER\x10\r\x12\x0e\n\nSHARED_SET\x10\x0e\x12\x17\n\x13\x43\x41MPAIGN_SHARED_SET\x10\x0f\x12\t\n\x05\x41SSET\x10\x10\x12\x12\n\x0e\x43USTOMER_ASSET\x10\x11\x12\x12\n\x0e\x43\x41MPAIGN_ASSET\x10\x12\x12\x12\n\x0e\x41\x44_GROUP_ASSET\x10\x13\x12\x15\n\x11\x43OMBINED_AUDIENCE\x10\x14\x42\xf7\x01\n\"com.google.ads.googleads.v17.enumsB\x1d\x43hangeStatusResourceTypeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" +descriptor_data = "\n@google/ads/googleads/v17/enums/change_status_resource_type.proto\x12\x1egoogle.ads.googleads.v17.enums\"\xa8\x03\n\x1c\x43hangeStatusResourceTypeEnum\"\x87\x03\n\x18\x43hangeStatusResourceType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0c\n\x08\x41\x44_GROUP\x10\x03\x12\x0f\n\x0b\x41\x44_GROUP_AD\x10\x04\x12\x16\n\x12\x41\x44_GROUP_CRITERION\x10\x05\x12\x0c\n\x08\x43\x41MPAIGN\x10\x06\x12\x16\n\x12\x43\x41MPAIGN_CRITERION\x10\x07\x12\x08\n\x04\x46\x45\x45\x44\x10\t\x12\r\n\tFEED_ITEM\x10\n\x12\x11\n\rAD_GROUP_FEED\x10\x0b\x12\x11\n\rCAMPAIGN_FEED\x10\x0c\x12\x19\n\x15\x41\x44_GROUP_BID_MODIFIER\x10\r\x12\x0e\n\nSHARED_SET\x10\x0e\x12\x17\n\x13\x43\x41MPAIGN_SHARED_SET\x10\x0f\x12\t\n\x05\x41SSET\x10\x10\x12\x12\n\x0e\x43USTOMER_ASSET\x10\x11\x12\x12\n\x0e\x43\x41MPAIGN_ASSET\x10\x12\x12\x12\n\x0e\x41\x44_GROUP_ASSET\x10\x13\x12\x15\n\x11\x43OMBINED_AUDIENCE\x10\x14\x12\x0f\n\x0b\x41SSET_GROUP\x10\x15\x42\xf7\x01\n\"com.google.ads.googleads.v17.enumsB\x1d\x43hangeStatusResourceTypeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/enums/fixed_cpm_goal_pb.rb b/lib/google/ads/google_ads/v17/enums/fixed_cpm_goal_pb.rb new file mode 100644 index 00000000..b4ba5e35 --- /dev/null +++ b/lib/google/ads/google_ads/v17/enums/fixed_cpm_goal_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/enums/fixed_cpm_goal.proto + +require 'google/protobuf' + + +descriptor_data = "\n3google/ads/googleads/v17/enums/fixed_cpm_goal.proto\x12\x1egoogle.ads.googleads.v17.enums\"a\n\x10\x46ixedCpmGoalEnum\"M\n\x0c\x46ixedCpmGoal\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\t\n\x05REACH\x10\x02\x12\x14\n\x10TARGET_FREQUENCY\x10\x03\x42\xeb\x01\n\"com.google.ads.googleads.v17.enumsB\x11\x46ixedCpmGoalProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Enums + FixedCpmGoalEnum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.FixedCpmGoalEnum").msgclass + FixedCpmGoalEnum::FixedCpmGoal = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.FixedCpmGoalEnum.FixedCpmGoal").enummodule + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb.rb b/lib/google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb.rb new file mode 100644 index 00000000..0d79c048 --- /dev/null +++ b/lib/google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/enums/fixed_cpm_target_frequency_time_unit.proto + +require 'google/protobuf' + + +descriptor_data = "\nIgoogle/ads/googleads/v17/enums/fixed_cpm_target_frequency_time_unit.proto\x12\x1egoogle.ads.googleads.v17.enums\"s\n#FixedCpmTargetFrequencyTimeUnitEnum\"L\n\x1f\x46ixedCpmTargetFrequencyTimeUnit\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0b\n\x07MONTHLY\x10\x02\x42\xfe\x01\n\"com.google.ads.googleads.v17.enumsB$FixedCpmTargetFrequencyTimeUnitProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Enums + FixedCpmTargetFrequencyTimeUnitEnum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.FixedCpmTargetFrequencyTimeUnitEnum").msgclass + FixedCpmTargetFrequencyTimeUnitEnum::FixedCpmTargetFrequencyTimeUnit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.enums.FixedCpmTargetFrequencyTimeUnitEnum.FixedCpmTargetFrequencyTimeUnit").enummodule + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb b/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb index a4583566..f83f0e96 100644 --- a/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb +++ b/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\nEgoogle/ads/googleads/v17/enums/user_list_customer_type_category.proto\x12\x1egoogle.ads.googleads.v17.enums\"\xa3\x02\n UserListCustomerTypeCategoryEnum\"\xfe\x01\n\x1cUserListCustomerTypeCategory\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x11\n\rALL_CUSTOMERS\x10\x02\x12\x0e\n\nPURCHASERS\x10\x03\x12\x18\n\x14HIGH_VALUE_CUSTOMERS\x10\x04\x12\x18\n\x14\x44ISENGAGED_CUSTOMERS\x10\x05\x12\x13\n\x0fQUALIFIED_LEADS\x10\x06\x12\x13\n\x0f\x43ONVERTED_LEADS\x10\x07\x12\x14\n\x10PAID_SUBSCRIBERS\x10\x08\x12\x14\n\x10LOYALTY_SIGN_UPS\x10\t\x12\x13\n\x0f\x43\x41RT_ABANDONERS\x10\nB\xfb\x01\n\"com.google.ads.googleads.v17.enumsB!UserListCustomerTypeCategoryProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" +descriptor_data = "\nEgoogle/ads/googleads/v17/enums/user_list_customer_type_category.proto\x12\x1egoogle.ads.googleads.v17.enums\"\xe7\x03\n UserListCustomerTypeCategoryEnum\"\xc2\x03\n\x1cUserListCustomerTypeCategory\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x11\n\rALL_CUSTOMERS\x10\x02\x12\x0e\n\nPURCHASERS\x10\x03\x12\x18\n\x14HIGH_VALUE_CUSTOMERS\x10\x04\x12\x18\n\x14\x44ISENGAGED_CUSTOMERS\x10\x05\x12\x13\n\x0fQUALIFIED_LEADS\x10\x06\x12\x13\n\x0f\x43ONVERTED_LEADS\x10\x07\x12\x14\n\x10PAID_SUBSCRIBERS\x10\x08\x12\x14\n\x10LOYALTY_SIGN_UPS\x10\t\x12\x13\n\x0f\x43\x41RT_ABANDONERS\x10\n\x12\x1a\n\x16LOYALTY_TIER_1_MEMBERS\x10\x0b\x12\x1a\n\x16LOYALTY_TIER_2_MEMBERS\x10\x0c\x12\x1a\n\x16LOYALTY_TIER_3_MEMBERS\x10\r\x12\x1a\n\x16LOYALTY_TIER_4_MEMBERS\x10\x0e\x12\x1a\n\x16LOYALTY_TIER_5_MEMBERS\x10\x0f\x12\x1a\n\x16LOYALTY_TIER_6_MEMBERS\x10\x10\x12\x1a\n\x16LOYALTY_TIER_7_MEMBERS\x10\x11\x42\xfb\x01\n\"com.google.ads.googleads.v17.enumsB!UserListCustomerTypeCategoryProtoP\x01ZCgoogle.golang.org/genproto/googleapis/ads/googleads/v17/enums;enums\xa2\x02\x03GAA\xaa\x02\x1eGoogle.Ads.GoogleAds.V17.Enums\xca\x02\x1eGoogle\\Ads\\GoogleAds\\V17\\Enums\xea\x02\"Google::Ads::GoogleAds::V17::Enumsb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb.rb b/lib/google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb.rb new file mode 100644 index 00000000..ef3166d8 --- /dev/null +++ b/lib/google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/errors/automatically_created_asset_removal_error.proto + +require 'google/protobuf' + + +descriptor_data = "\nOgoogle/ads/googleads/v17/errors/automatically_created_asset_removal_error.proto\x12\x1fgoogle.ads.googleads.v17.errors\"\x86\x02\n)AutomaticallyCreatedAssetRemovalErrorEnum\"\xd8\x01\n%AutomaticallyCreatedAssetRemovalError\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x15\n\x11\x41\x44_DOES_NOT_EXIST\x10\x02\x12\x13\n\x0fINVALID_AD_TYPE\x10\x03\x12\x18\n\x14\x41SSET_DOES_NOT_EXIST\x10\x04\x12#\n\x1f\x41SSET_FIELD_TYPE_DOES_NOT_MATCH\x10\x05\x12&\n\"NOT_AN_AUTOMATICALLY_CREATED_ASSET\x10\x06\x42\x8a\x02\n#com.google.ads.googleads.v17.errorsB*AutomaticallyCreatedAssetRemovalErrorProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/errors;errors\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Errors\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Errors\xea\x02#Google::Ads::GoogleAds::V17::Errorsb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Errors + AutomaticallyCreatedAssetRemovalErrorEnum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.errors.AutomaticallyCreatedAssetRemovalErrorEnum").msgclass + AutomaticallyCreatedAssetRemovalErrorEnum::AutomaticallyCreatedAssetRemovalError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.errors.AutomaticallyCreatedAssetRemovalErrorEnum.AutomaticallyCreatedAssetRemovalError").enummodule + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/errors/errors_pb.rb b/lib/google/ads/google_ads/v17/errors/errors_pb.rb index 4705ce63..f5e96f7e 100644 --- a/lib/google/ads/google_ads/v17/errors/errors_pb.rb +++ b/lib/google/ads/google_ads/v17/errors/errors_pb.rb @@ -35,6 +35,7 @@ require 'google/ads/google_ads/v17/errors/audience_insights_error_pb' require 'google/ads/google_ads/v17/errors/authentication_error_pb' require 'google/ads/google_ads/v17/errors/authorization_error_pb' +require 'google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb' require 'google/ads/google_ads/v17/errors/batch_job_error_pb' require 'google/ads/google_ads/v17/errors/bidding_error_pb' require 'google/ads/google_ads/v17/errors/bidding_strategy_error_pb' @@ -146,6 +147,7 @@ require 'google/ads/google_ads/v17/errors/resource_count_limit_exceeded_error_pb' require 'google/ads/google_ads/v17/errors/search_term_insight_error_pb' require 'google/ads/google_ads/v17/errors/setting_error_pb' +require 'google/ads/google_ads/v17/errors/shareable_preview_error_pb' require 'google/ads/google_ads/v17/errors/shared_criterion_error_pb' require 'google/ads/google_ads/v17/errors/shared_set_error_pb' require 'google/ads/google_ads/v17/errors/shopping_product_error_pb' @@ -164,7 +166,7 @@ require 'google/protobuf/duration_pb' -descriptor_data = "\n,google/ads/googleads/v17/errors/errors.proto\x12\x1fgoogle.ads.googleads.v17.errors\x1a,google/ads/googleads/v17/common/policy.proto\x1a+google/ads/googleads/v17/common/value.proto\x1a\x38google/ads/googleads/v17/enums/resource_limit_type.proto\x1a=google/ads/googleads/v17/errors/access_invitation_error.proto\x1a\x43google/ads/googleads/v17/errors/account_budget_proposal_error.proto\x1a\x38google/ads/googleads/v17/errors/account_link_error.proto\x1a\x39google/ads/googleads/v17/errors/ad_customizer_error.proto\x1a.google/ads/googleads/v17/errors/ad_error.proto\x1a\x37google/ads/googleads/v17/errors/ad_group_ad_error.proto\x1a\x41google/ads/googleads/v17/errors/ad_group_bid_modifier_error.proto\x1aIgoogle/ads/googleads/v17/errors/ad_group_criterion_customizer_error.proto\x1a>google/ads/googleads/v17/errors/ad_group_criterion_error.proto\x1a?google/ads/googleads/v17/errors/ad_group_customizer_error.proto\x1a\x34google/ads/googleads/v17/errors/ad_group_error.proto\x1a\x39google/ads/googleads/v17/errors/ad_group_feed_error.proto\x1a\x38google/ads/googleads/v17/errors/ad_parameter_error.proto\x1a\x36google/ads/googleads/v17/errors/ad_sharing_error.proto\x1a/google/ads/googleads/v17/errors/adx_error.proto\x1a\x31google/ads/googleads/v17/errors/asset_error.proto\x1a=google/ads/googleads/v17/errors/asset_group_asset_error.proto\x1a\x37google/ads/googleads/v17/errors/asset_group_error.proto\x1aLgoogle/ads/googleads/v17/errors/asset_group_listing_group_filter_error.proto\x1a>google/ads/googleads/v17/errors/asset_group_signal_error.proto\x1a\x36google/ads/googleads/v17/errors/asset_link_error.proto\x1a;google/ads/googleads/v17/errors/asset_set_asset_error.proto\x1a\x35google/ads/googleads/v17/errors/asset_set_error.proto\x1a:google/ads/googleads/v17/errors/asset_set_link_error.proto\x1a\x34google/ads/googleads/v17/errors/audience_error.proto\x1a=google/ads/googleads/v17/errors/audience_insights_error.proto\x1a:google/ads/googleads/v17/errors/authentication_error.proto\x1a\x39google/ads/googleads/v17/errors/authorization_error.proto\x1a\x35google/ads/googleads/v17/errors/batch_job_error.proto\x1a\x33google/ads/googleads/v17/errors/bidding_error.proto\x1agoogle/ads/googleads/v17/errors/campaign_criterion_error.proto\x1a?google/ads/googleads/v17/errors/campaign_customizer_error.proto\x1a:google/ads/googleads/v17/errors/campaign_draft_error.proto\x1a\x34google/ads/googleads/v17/errors/campaign_error.proto\x1a?google/ads/googleads/v17/errors/campaign_experiment_error.proto\x1a\x39google/ads/googleads/v17/errors/campaign_feed_error.proto\x1a\x43google/ads/googleads/v17/errors/campaign_lifecycle_goal_error.proto\x1a?google/ads/googleads/v17/errors/campaign_shared_set_error.proto\x1a\x38google/ads/googleads/v17/errors/change_event_error.proto\x1a\x39google/ads/googleads/v17/errors/change_status_error.proto\x1a;google/ads/googleads/v17/errors/collection_size_error.proto\x1a\x33google/ads/googleads/v17/errors/context_error.proto\x1a=google/ads/googleads/v17/errors/conversion_action_error.proto\x1aHgoogle/ads/googleads/v17/errors/conversion_adjustment_upload_error.proto\x1a\x46google/ads/googleads/v17/errors/conversion_custom_variable_error.proto\x1aKgoogle/ads/googleads/v17/errors/conversion_goal_campaign_config_error.proto\x1a=google/ads/googleads/v17/errors/conversion_upload_error.proto\x1a\x41google/ads/googleads/v17/errors/conversion_value_rule_error.proto\x1a\x45google/ads/googleads/v17/errors/conversion_value_rule_set_error.proto\x1a\x38google/ads/googleads/v17/errors/country_code_error.proto\x1a\x35google/ads/googleads/v17/errors/criterion_error.proto\x1a\x39google/ads/googleads/v17/errors/currency_code_error.proto\x1a\x34google/ads/googleads/v17/errors/currency_error.proto\x1a;google/ads/googleads/v17/errors/custom_audience_error.proto\x1a\x42google/ads/googleads/v17/errors/custom_conversion_goal_error.proto\x1a;google/ads/googleads/v17/errors/custom_interest_error.proto\x1a@google/ads/googleads/v17/errors/customer_client_link_error.proto\x1a?google/ads/googleads/v17/errors/customer_customizer_error.proto\x1a\x34google/ads/googleads/v17/errors/customer_error.proto\x1a\x39google/ads/googleads/v17/errors/customer_feed_error.proto\x1a\x43google/ads/googleads/v17/errors/customer_lifecycle_goal_error.proto\x1a\x41google/ads/googleads/v17/errors/customer_manager_link_error.proto\x1aZgoogle/ads/googleads/v17/errors/customer_sk_ad_network_conversion_value_schema_error.proto\x1a@google/ads/googleads/v17/errors/customer_user_access_error.proto\x1a@google/ads/googleads/v17/errors/customizer_attribute_error.proto\x1a\x34google/ads/googleads/v17/errors/database_error.proto\x1a\x30google/ads/googleads/v17/errors/date_error.proto\x1a\x36google/ads/googleads/v17/errors/date_range_error.proto\x1a\x34google/ads/googleads/v17/errors/distinct_error.proto\x1a\x30google/ads/googleads/v17/errors/enum_error.proto\x1a:google/ads/googleads/v17/errors/experiment_arm_error.proto\x1a\x36google/ads/googleads/v17/errors/experiment_error.proto\x1a?google/ads/googleads/v17/errors/extension_feed_item_error.proto\x1a=google/ads/googleads/v17/errors/extension_setting_error.proto\x1a\x44google/ads/googleads/v17/errors/feed_attribute_reference_error.proto\x1a\x30google/ads/googleads/v17/errors/feed_error.proto\x1a\x35google/ads/googleads/v17/errors/feed_item_error.proto\x1a\x39google/ads/googleads/v17/errors/feed_item_set_error.proto\x1a>google/ads/googleads/v17/errors/feed_item_set_link_error.proto\x1a\n\nerror_code\x18\x01 \x01(\x0b\x32*.google.ads.googleads.v17.errors.ErrorCode\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x37\n\x07trigger\x18\x03 \x01(\x0b\x32&.google.ads.googleads.v17.common.Value\x12@\n\x08location\x18\x04 \x01(\x0b\x32..google.ads.googleads.v17.errors.ErrorLocation\x12>\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32-.google.ads.googleads.v17.errors.ErrorDetails\"\x8a\x85\x01\n\tErrorCode\x12W\n\rrequest_error\x18\x01 \x01(\x0e\x32>.google.ads.googleads.v17.errors.RequestErrorEnum.RequestErrorH\x00\x12p\n\x16\x62idding_strategy_error\x18\x02 \x01(\x0e\x32N.google.ads.googleads.v17.errors.BiddingStrategyErrorEnum.BiddingStrategyErrorH\x00\x12[\n\x0furl_field_error\x18\x03 \x01(\x0e\x32@.google.ads.googleads.v17.errors.UrlFieldErrorEnum.UrlFieldErrorH\x00\x12j\n\x14list_operation_error\x18\x04 \x01(\x0e\x32J.google.ads.googleads.v17.errors.ListOperationErrorEnum.ListOperationErrorH\x00\x12Q\n\x0bquery_error\x18\x05 \x01(\x0e\x32:.google.ads.googleads.v17.errors.QueryErrorEnum.QueryErrorH\x00\x12T\n\x0cmutate_error\x18\x07 \x01(\x0e\x32<.google.ads.googleads.v17.errors.MutateErrorEnum.MutateErrorH\x00\x12^\n\x10\x66ield_mask_error\x18\x08 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.FieldMaskErrorEnum.FieldMaskErrorH\x00\x12i\n\x13\x61uthorization_error\x18\t \x01(\x0e\x32J.google.ads.googleads.v17.errors.AuthorizationErrorEnum.AuthorizationErrorH\x00\x12Z\n\x0einternal_error\x18\n \x01(\x0e\x32@.google.ads.googleads.v17.errors.InternalErrorEnum.InternalErrorH\x00\x12Q\n\x0bquota_error\x18\x0b \x01(\x0e\x32:.google.ads.googleads.v17.errors.QuotaErrorEnum.QuotaErrorH\x00\x12H\n\x08\x61\x64_error\x18\x0c \x01(\x0e\x32\x34.google.ads.googleads.v17.errors.AdErrorEnum.AdErrorH\x00\x12X\n\x0e\x61\x64_group_error\x18\r \x01(\x0e\x32>.google.ads.googleads.v17.errors.AdGroupErrorEnum.AdGroupErrorH\x00\x12m\n\x15\x63\x61mpaign_budget_error\x18\x0e \x01(\x0e\x32L.google.ads.googleads.v17.errors.CampaignBudgetErrorEnum.CampaignBudgetErrorH\x00\x12Z\n\x0e\x63\x61mpaign_error\x18\x0f \x01(\x0e\x32@.google.ads.googleads.v17.errors.CampaignErrorEnum.CampaignErrorH\x00\x12k\n\x14video_campaign_error\x18\xb6\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.VideoCampaignErrorEnum.VideoCampaignErrorH\x00\x12l\n\x14\x61uthentication_error\x18\x11 \x01(\x0e\x32L.google.ads.googleads.v17.errors.AuthenticationErrorEnum.AuthenticationErrorH\x00\x12\x94\x01\n#ad_group_criterion_customizer_error\x18\xa1\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.AdGroupCriterionCustomizerErrorEnum.AdGroupCriterionCustomizerErrorH\x00\x12t\n\x18\x61\x64_group_criterion_error\x18\x12 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AdGroupCriterionErrorEnum.AdGroupCriterionErrorH\x00\x12x\n\x19\x61\x64_group_customizer_error\x18\x9f\x01 \x01(\x0e\x32R.google.ads.googleads.v17.errors.AdGroupCustomizerErrorEnum.AdGroupCustomizerErrorH\x00\x12g\n\x13\x61\x64_customizer_error\x18\x13 \x01(\x0e\x32H.google.ads.googleads.v17.errors.AdCustomizerErrorEnum.AdCustomizerErrorH\x00\x12_\n\x11\x61\x64_group_ad_error\x18\x15 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AdGroupAdErrorEnum.AdGroupAdErrorH\x00\x12^\n\x10\x61\x64_sharing_error\x18\x18 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AdSharingErrorEnum.AdSharingErrorH\x00\x12K\n\tadx_error\x18\x19 \x01(\x0e\x32\x36.google.ads.googleads.v17.errors.AdxErrorEnum.AdxErrorH\x00\x12Q\n\x0b\x61sset_error\x18k \x01(\x0e\x32:.google.ads.googleads.v17.errors.AssetErrorEnum.AssetErrorH\x00\x12r\n\x17\x61sset_group_asset_error\x18\x95\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.AssetGroupAssetErrorEnum.AssetGroupAssetErrorH\x00\x12\x9b\x01\n&asset_group_listing_group_filter_error\x18\x9b\x01 \x01(\x0e\x32h.google.ads.googleads.v17.errors.AssetGroupListingGroupFilterErrorEnum.AssetGroupListingGroupFilterErrorH\x00\x12\x62\n\x11\x61sset_group_error\x18\x94\x01 \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.AssetGroupErrorEnum.AssetGroupErrorH\x00\x12l\n\x15\x61sset_set_asset_error\x18\x99\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.AssetSetAssetErrorEnum.AssetSetAssetErrorH\x00\x12i\n\x14\x61sset_set_link_error\x18\x9a\x01 \x01(\x0e\x32H.google.ads.googleads.v17.errors.AssetSetLinkErrorEnum.AssetSetLinkErrorH\x00\x12\\\n\x0f\x61sset_set_error\x18\x98\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.AssetSetErrorEnum.AssetSetErrorH\x00\x12W\n\rbidding_error\x18\x1a \x01(\x0e\x32>.google.ads.googleads.v17.errors.BiddingErrorEnum.BiddingErrorH\x00\x12v\n\x18\x63\x61mpaign_criterion_error\x18\x1d \x01(\x0e\x32R.google.ads.googleads.v17.errors.CampaignCriterionErrorEnum.CampaignCriterionErrorH\x00\x12\x87\x01\n\x1e\x63\x61mpaign_conversion_goal_error\x18\xa6\x01 \x01(\x0e\x32\\.google.ads.googleads.v17.errors.CampaignConversionGoalErrorEnum.CampaignConversionGoalErrorH\x00\x12z\n\x19\x63\x61mpaign_customizer_error\x18\xa0\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CampaignCustomizerErrorEnum.CampaignCustomizerErrorH\x00\x12m\n\x15\x63ollection_size_error\x18\x1f \x01(\x0e\x32L.google.ads.googleads.v17.errors.CollectionSizeErrorEnum.CollectionSizeErrorH\x00\x12\x9a\x01\n%conversion_goal_campaign_config_error\x18\xa5\x01 \x01(\x0e\x32h.google.ads.googleads.v17.errors.ConversionGoalCampaignConfigErrorEnum.ConversionGoalCampaignConfigErrorH\x00\x12\x64\n\x12\x63ountry_code_error\x18m \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.CountryCodeErrorEnum.CountryCodeErrorH\x00\x12]\n\x0f\x63riterion_error\x18 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.CriterionErrorEnum.CriterionErrorH\x00\x12\x81\x01\n\x1c\x63ustom_conversion_goal_error\x18\x96\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.CustomConversionGoalErrorEnum.CustomConversionGoalErrorH\x00\x12z\n\x19\x63ustomer_customizer_error\x18\x9e\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerCustomizerErrorEnum.CustomerCustomizerErrorH\x00\x12Z\n\x0e\x63ustomer_error\x18Z \x01(\x0e\x32@.google.ads.googleads.v17.errors.CustomerErrorEnum.CustomerErrorH\x00\x12}\n\x1a\x63ustomizer_attribute_error\x18\x97\x01 \x01(\x0e\x32V.google.ads.googleads.v17.errors.CustomizerAttributeErrorEnum.CustomizerAttributeErrorH\x00\x12N\n\ndate_error\x18! \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.DateErrorEnum.DateErrorH\x00\x12^\n\x10\x64\x61te_range_error\x18\" \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.DateRangeErrorEnum.DateRangeErrorH\x00\x12Z\n\x0e\x64istinct_error\x18# \x01(\x0e\x32@.google.ads.googleads.v17.errors.DistinctErrorEnum.DistinctErrorH\x00\x12\x86\x01\n\x1e\x66\x65\x65\x64_attribute_reference_error\x18$ \x01(\x0e\x32\\.google.ads.googleads.v17.errors.FeedAttributeReferenceErrorEnum.FeedAttributeReferenceErrorH\x00\x12Z\n\x0e\x66unction_error\x18% \x01(\x0e\x32@.google.ads.googleads.v17.errors.FunctionErrorEnum.FunctionErrorH\x00\x12p\n\x16\x66unction_parsing_error\x18& \x01(\x0e\x32N.google.ads.googleads.v17.errors.FunctionParsingErrorEnum.FunctionParsingErrorH\x00\x12H\n\x08id_error\x18\' \x01(\x0e\x32\x34.google.ads.googleads.v17.errors.IdErrorEnum.IdErrorH\x00\x12Q\n\x0bimage_error\x18( \x01(\x0e\x32:.google.ads.googleads.v17.errors.ImageErrorEnum.ImageErrorH\x00\x12g\n\x13language_code_error\x18n \x01(\x0e\x32H.google.ads.googleads.v17.errors.LanguageCodeErrorEnum.LanguageCodeErrorH\x00\x12\x64\n\x12media_bundle_error\x18* \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.MediaBundleErrorEnum.MediaBundleErrorH\x00\x12\x64\n\x12media_upload_error\x18t \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.MediaUploadErrorEnum.MediaUploadErrorH\x00\x12^\n\x10media_file_error\x18V \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.MediaFileErrorEnum.MediaFileErrorH\x00\x12n\n\x15merchant_center_error\x18\xa2\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.MerchantCenterErrorEnum.MerchantCenterErrorH\x00\x12`\n\x10multiplier_error\x18, \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.MultiplierErrorEnum.MultiplierErrorH\x00\x12}\n\x1bnew_resource_creation_error\x18- \x01(\x0e\x32V.google.ads.googleads.v17.errors.NewResourceCreationErrorEnum.NewResourceCreationErrorH\x00\x12[\n\x0fnot_empty_error\x18. \x01(\x0e\x32@.google.ads.googleads.v17.errors.NotEmptyErrorEnum.NotEmptyErrorH\x00\x12N\n\nnull_error\x18/ \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.NullErrorEnum.NullErrorH\x00\x12Z\n\x0eoperator_error\x18\x30 \x01(\x0e\x32@.google.ads.googleads.v17.errors.OperatorErrorEnum.OperatorErrorH\x00\x12Q\n\x0brange_error\x18\x31 \x01(\x0e\x32:.google.ads.googleads.v17.errors.RangeErrorEnum.RangeErrorH\x00\x12l\n\x14recommendation_error\x18: \x01(\x0e\x32L.google.ads.googleads.v17.errors.RecommendationErrorEnum.RecommendationErrorH\x00\x12\x92\x01\n!recommendation_subscription_error\x18\xb4\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.RecommendationSubscriptionErrorEnum.RecommendationSubscriptionErrorH\x00\x12\x61\n\x11region_code_error\x18\x33 \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.RegionCodeErrorEnum.RegionCodeErrorH\x00\x12W\n\rsetting_error\x18\x34 \x01(\x0e\x32>.google.ads.googleads.v17.errors.SettingErrorEnum.SettingErrorH\x00\x12g\n\x13string_format_error\x18\x35 \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringFormatErrorEnum.StringFormatErrorH\x00\x12g\n\x13string_length_error\x18\x36 \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringLengthErrorEnum.StringLengthErrorH\x00\x12\x83\x01\n\x1doperation_access_denied_error\x18\x37 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.OperationAccessDeniedErrorEnum.OperationAccessDeniedErrorH\x00\x12\x80\x01\n\x1cresource_access_denied_error\x18\x38 \x01(\x0e\x32X.google.ads.googleads.v17.errors.ResourceAccessDeniedErrorEnum.ResourceAccessDeniedErrorH\x00\x12\x93\x01\n#resource_count_limit_exceeded_error\x18\x39 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededErrorH\x00\x12\x8c\x01\n youtube_video_registration_error\x18u \x01(\x0e\x32`.google.ads.googleads.v17.errors.YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationErrorH\x00\x12{\n\x1b\x61\x64_group_bid_modifier_error\x18; \x01(\x0e\x32T.google.ads.googleads.v17.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierErrorH\x00\x12W\n\rcontext_error\x18< \x01(\x0e\x32>.google.ads.googleads.v17.errors.ContextErrorEnum.ContextErrorH\x00\x12Q\n\x0b\x66ield_error\x18= \x01(\x0e\x32:.google.ads.googleads.v17.errors.FieldErrorEnum.FieldErrorH\x00\x12^\n\x10shared_set_error\x18> \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.SharedSetErrorEnum.SharedSetErrorH\x00\x12p\n\x16shared_criterion_error\x18? \x01(\x0e\x32N.google.ads.googleads.v17.errors.SharedCriterionErrorEnum.SharedCriterionErrorH\x00\x12w\n\x19\x63\x61mpaign_shared_set_error\x18@ \x01(\x0e\x32R.google.ads.googleads.v17.errors.CampaignSharedSetErrorEnum.CampaignSharedSetErrorH\x00\x12s\n\x17\x63onversion_action_error\x18\x41 \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionActionErrorEnum.ConversionActionErrorH\x00\x12\x92\x01\n\"conversion_adjustment_upload_error\x18s \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadErrorH\x00\x12\x8d\x01\n conversion_custom_variable_error\x18\x8f\x01 \x01(\x0e\x32`.google.ads.googleads.v17.errors.ConversionCustomVariableErrorEnum.ConversionCustomVariableErrorH\x00\x12s\n\x17\x63onversion_upload_error\x18o \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionUploadErrorEnum.ConversionUploadErrorH\x00\x12~\n\x1b\x63onversion_value_rule_error\x18\x91\x01 \x01(\x0e\x32V.google.ads.googleads.v17.errors.ConversionValueRuleErrorEnum.ConversionValueRuleErrorH\x00\x12\x88\x01\n\x1f\x63onversion_value_rule_set_error\x18\x92\x01 \x01(\x0e\x32\\.google.ads.googleads.v17.errors.ConversionValueRuleSetErrorEnum.ConversionValueRuleSetErrorH\x00\x12T\n\x0cheader_error\x18\x42 \x01(\x0e\x32<.google.ads.googleads.v17.errors.HeaderErrorEnum.HeaderErrorH\x00\x12Z\n\x0e\x64\x61tabase_error\x18\x43 \x01(\x0e\x32@.google.ads.googleads.v17.errors.DatabaseErrorEnum.DatabaseErrorH\x00\x12j\n\x14policy_finding_error\x18\x44 \x01(\x0e\x32J.google.ads.googleads.v17.errors.PolicyFindingErrorEnum.PolicyFindingErrorH\x00\x12N\n\nenum_error\x18\x46 \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.EnumErrorEnum.EnumErrorH\x00\x12\x64\n\x12keyword_plan_error\x18G \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.KeywordPlanErrorEnum.KeywordPlanErrorH\x00\x12}\n\x1bkeyword_plan_campaign_error\x18H \x01(\x0e\x32V.google.ads.googleads.v17.errors.KeywordPlanCampaignErrorEnum.KeywordPlanCampaignErrorH\x00\x12\x94\x01\n#keyword_plan_campaign_keyword_error\x18\x84\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.KeywordPlanCampaignKeywordErrorEnum.KeywordPlanCampaignKeywordErrorH\x00\x12{\n\x1bkeyword_plan_ad_group_error\x18J \x01(\x0e\x32T.google.ads.googleads.v17.errors.KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupErrorH\x00\x12\x92\x01\n#keyword_plan_ad_group_keyword_error\x18\x85\x01 \x01(\x0e\x32\x62.google.ads.googleads.v17.errors.KeywordPlanAdGroupKeywordErrorEnum.KeywordPlanAdGroupKeywordErrorH\x00\x12q\n\x17keyword_plan_idea_error\x18L \x01(\x0e\x32N.google.ads.googleads.v17.errors.KeywordPlanIdeaErrorEnum.KeywordPlanIdeaErrorH\x00\x12\x83\x01\n\x1d\x61\x63\x63ount_budget_proposal_error\x18M \x01(\x0e\x32Z.google.ads.googleads.v17.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalErrorH\x00\x12[\n\x0fuser_list_error\x18N \x01(\x0e\x32@.google.ads.googleads.v17.errors.UserListErrorEnum.UserListErrorH\x00\x12\x65\n\x12\x63hange_event_error\x18\x88\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ChangeEventErrorEnum.ChangeEventErrorH\x00\x12g\n\x13\x63hange_status_error\x18O \x01(\x0e\x32H.google.ads.googleads.v17.errors.ChangeStatusErrorEnum.ChangeStatusErrorH\x00\x12N\n\nfeed_error\x18P \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.FeedErrorEnum.FeedErrorH\x00\x12\x96\x01\n$geo_target_constant_suggestion_error\x18Q \x01(\x0e\x32\x66.google.ads.googleads.v17.errors.GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionErrorH\x00\x12j\n\x14\x63\x61mpaign_draft_error\x18R \x01(\x0e\x32J.google.ads.googleads.v17.errors.CampaignDraftErrorEnum.CampaignDraftErrorH\x00\x12[\n\x0f\x66\x65\x65\x64_item_error\x18S \x01(\x0e\x32@.google.ads.googleads.v17.errors.FeedItemErrorEnum.FeedItemErrorH\x00\x12Q\n\x0blabel_error\x18T \x01(\x0e\x32:.google.ads.googleads.v17.errors.LabelErrorEnum.LabelErrorH\x00\x12g\n\x13\x62illing_setup_error\x18W \x01(\x0e\x32H.google.ads.googleads.v17.errors.BillingSetupErrorEnum.BillingSetupErrorH\x00\x12z\n\x1a\x63ustomer_client_link_error\x18X \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerClientLinkErrorEnum.CustomerClientLinkErrorH\x00\x12}\n\x1b\x63ustomer_manager_link_error\x18[ \x01(\x0e\x32V.google.ads.googleads.v17.errors.CustomerManagerLinkErrorEnum.CustomerManagerLinkErrorH\x00\x12\x64\n\x12\x66\x65\x65\x64_mapping_error\x18\\ \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.FeedMappingErrorEnum.FeedMappingErrorH\x00\x12g\n\x13\x63ustomer_feed_error\x18] \x01(\x0e\x32H.google.ads.googleads.v17.errors.CustomerFeedErrorEnum.CustomerFeedErrorH\x00\x12\x65\n\x13\x61\x64_group_feed_error\x18^ \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AdGroupFeedErrorEnum.AdGroupFeedErrorH\x00\x12g\n\x13\x63\x61mpaign_feed_error\x18` \x01(\x0e\x32H.google.ads.googleads.v17.errors.CampaignFeedErrorEnum.CampaignFeedErrorH\x00\x12m\n\x15\x63ustom_interest_error\x18\x61 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CustomInterestErrorEnum.CustomInterestErrorH\x00\x12y\n\x19\x63\x61mpaign_experiment_error\x18\x62 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CampaignExperimentErrorEnum.CampaignExperimentErrorH\x00\x12w\n\x19\x65xtension_feed_item_error\x18\x64 \x01(\x0e\x32R.google.ads.googleads.v17.errors.ExtensionFeedItemErrorEnum.ExtensionFeedItemErrorH\x00\x12\x64\n\x12\x61\x64_parameter_error\x18\x65 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AdParameterErrorEnum.AdParameterErrorH\x00\x12z\n\x1a\x66\x65\x65\x64_item_validation_error\x18\x66 \x01(\x0e\x32T.google.ads.googleads.v17.errors.FeedItemValidationErrorEnum.FeedItemValidationErrorH\x00\x12s\n\x17\x65xtension_setting_error\x18g \x01(\x0e\x32P.google.ads.googleads.v17.errors.ExtensionSettingErrorEnum.ExtensionSettingErrorH\x00\x12\x66\n\x13\x66\x65\x65\x64_item_set_error\x18\x8c\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.FeedItemSetErrorEnum.FeedItemSetErrorH\x00\x12s\n\x18\x66\x65\x65\x64_item_set_link_error\x18\x8d\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.FeedItemSetLinkErrorEnum.FeedItemSetLinkErrorH\x00\x12n\n\x16\x66\x65\x65\x64_item_target_error\x18h \x01(\x0e\x32L.google.ads.googleads.v17.errors.FeedItemTargetErrorEnum.FeedItemTargetErrorH\x00\x12p\n\x16policy_violation_error\x18i \x01(\x0e\x32N.google.ads.googleads.v17.errors.PolicyViolationErrorEnum.PolicyViolationErrorH\x00\x12m\n\x15partial_failure_error\x18p \x01(\x0e\x32L.google.ads.googleads.v17.errors.PartialFailureErrorEnum.PartialFailureErrorH\x00\x12\x8f\x01\n!policy_validation_parameter_error\x18r \x01(\x0e\x32\x62.google.ads.googleads.v17.errors.PolicyValidationParameterErrorEnum.PolicyValidationParameterErrorH\x00\x12^\n\x10size_limit_error\x18v \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.SizeLimitErrorEnum.SizeLimitErrorH\x00\x12{\n\x1boffline_user_data_job_error\x18w \x01(\x0e\x32T.google.ads.googleads.v17.errors.OfflineUserDataJobErrorEnum.OfflineUserDataJobErrorH\x00\x12n\n\x15not_allowlisted_error\x18\x89\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.NotAllowlistedErrorEnum.NotAllowlistedErrorH\x00\x12\x64\n\x12manager_link_error\x18y \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ManagerLinkErrorEnum.ManagerLinkErrorH\x00\x12g\n\x13\x63urrency_code_error\x18z \x01(\x0e\x32H.google.ads.googleads.v17.errors.CurrencyCodeErrorEnum.CurrencyCodeErrorH\x00\x12`\n\x10\x65xperiment_error\x18{ \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.ExperimentErrorEnum.ExperimentErrorH\x00\x12s\n\x17\x61\x63\x63\x65ss_invitation_error\x18| \x01(\x0e\x32P.google.ads.googleads.v17.errors.AccessInvitationErrorEnum.AccessInvitationErrorH\x00\x12^\n\x10reach_plan_error\x18} \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.ReachPlanErrorEnum.ReachPlanErrorH\x00\x12W\n\rinvoice_error\x18~ \x01(\x0e\x32>.google.ads.googleads.v17.errors.InvoiceErrorEnum.InvoiceErrorH\x00\x12p\n\x16payments_account_error\x18\x7f \x01(\x0e\x32N.google.ads.googleads.v17.errors.PaymentsAccountErrorEnum.PaymentsAccountErrorH\x00\x12\\\n\x0ftime_zone_error\x18\x80\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.TimeZoneErrorEnum.TimeZoneErrorH\x00\x12_\n\x10\x61sset_link_error\x18\x81\x01 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AssetLinkErrorEnum.AssetLinkErrorH\x00\x12\\\n\x0fuser_data_error\x18\x82\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.UserDataErrorEnum.UserDataErrorH\x00\x12\\\n\x0f\x62\x61tch_job_error\x18\x83\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.BatchJobErrorEnum.BatchJobErrorH\x00\x12\x65\n\x12\x61\x63\x63ount_link_error\x18\x86\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AccountLinkErrorEnum.AccountLinkErrorH\x00\x12\x95\x01\n$third_party_app_analytics_link_error\x18\x87\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ThirdPartyAppAnalyticsLinkErrorEnum.ThirdPartyAppAnalyticsLinkErrorH\x00\x12{\n\x1a\x63ustomer_user_access_error\x18\x8a\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerUserAccessErrorEnum.CustomerUserAccessErrorH\x00\x12n\n\x15\x63ustom_audience_error\x18\x8b\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CustomAudienceErrorEnum.CustomAudienceErrorH\x00\x12[\n\x0e\x61udience_error\x18\xa4\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.AudienceErrorEnum.AudienceErrorH\x00\x12x\n\x19search_term_insight_error\x18\xae\x01 \x01(\x0e\x32R.google.ads.googleads.v17.errors.SearchTermInsightErrorEnum.SearchTermInsightErrorH\x00\x12k\n\x14smart_campaign_error\x18\x93\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.SmartCampaignErrorEnum.SmartCampaignErrorH\x00\x12k\n\x14\x65xperiment_arm_error\x18\x9c\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.ExperimentArmErrorEnum.ExperimentArmErrorH\x00\x12t\n\x17\x61udience_insights_error\x18\xa7\x01 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AudienceInsightsErrorEnum.AudienceInsightsErrorH\x00\x12\x65\n\x12product_link_error\x18\xa9\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ProductLinkErrorEnum.ProductLinkErrorH\x00\x12\xc2\x01\n4customer_sk_ad_network_conversion_value_schema_error\x18\xaa\x01 \x01(\x0e\x32\x80\x01.google.ads.googleads.v17.errors.CustomerSkAdNetworkConversionValueSchemaErrorEnum.CustomerSkAdNetworkConversionValueSchemaErrorH\x00\x12[\n\x0e\x63urrency_error\x18\xab\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.CurrencyErrorEnum.CurrencyErrorH\x00\x12u\n\x18\x61sset_group_signal_error\x18\xb0\x01 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AssetGroupSignalErrorEnum.AssetGroupSignalErrorH\x00\x12\x84\x01\n\x1dproduct_link_invitation_error\x18\xb1\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.ProductLinkInvitationErrorEnum.ProductLinkInvitationErrorH\x00\x12\x84\x01\n\x1d\x63ustomer_lifecycle_goal_error\x18\xb2\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.CustomerLifecycleGoalErrorEnum.CustomerLifecycleGoalErrorH\x00\x12\x84\x01\n\x1d\x63\x61mpaign_lifecycle_goal_error\x18\xb3\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.CampaignLifecycleGoalErrorEnum.CampaignLifecycleGoalErrorH\x00\x12\x80\x01\n\x1bidentity_verification_error\x18\xb5\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.IdentityVerificationErrorEnum.IdentityVerificationErrorH\x00\x12\x82\x01\n\x1duser_list_customer_type_error\x18\xb7\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.UserListCustomerTypeErrorEnum.UserListCustomerTypeErrorH\x00\x12q\n\x16shopping_product_error\x18\xb8\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.ShoppingProductErrorEnum.ShoppingProductErrorH\x00\x42\x0c\n\nerror_code\"\xb3\x01\n\rErrorLocation\x12\\\n\x13\x66ield_path_elements\x18\x02 \x03(\x0b\x32?.google.ads.googleads.v17.errors.ErrorLocation.FieldPathElement\x1a\x44\n\x10\x46ieldPathElement\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x12\n\x05index\x18\x03 \x01(\x05H\x00\x88\x01\x01\x42\x08\n\x06_index\"\x88\x03\n\x0c\x45rrorDetails\x12\x1e\n\x16unpublished_error_code\x18\x01 \x01(\t\x12Y\n\x18policy_violation_details\x18\x02 \x01(\x0b\x32\x37.google.ads.googleads.v17.errors.PolicyViolationDetails\x12U\n\x16policy_finding_details\x18\x03 \x01(\x0b\x32\x35.google.ads.googleads.v17.errors.PolicyFindingDetails\x12O\n\x13quota_error_details\x18\x04 \x01(\x0b\x32\x32.google.ads.googleads.v17.errors.QuotaErrorDetails\x12U\n\x16resource_count_details\x18\x05 \x01(\x0b\x32\x35.google.ads.googleads.v17.errors.ResourceCountDetails\"\xb4\x01\n\x16PolicyViolationDetails\x12#\n\x1b\x65xternal_policy_description\x18\x02 \x01(\t\x12@\n\x03key\x18\x04 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.PolicyViolationKey\x12\x1c\n\x14\x65xternal_policy_name\x18\x05 \x01(\t\x12\x15\n\ris_exemptible\x18\x06 \x01(\x08\"g\n\x14PolicyFindingDetails\x12O\n\x14policy_topic_entries\x18\x01 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.PolicyTopicEntry\"\xf9\x01\n\x11QuotaErrorDetails\x12U\n\nrate_scope\x18\x01 \x01(\x0e\x32\x41.google.ads.googleads.v17.errors.QuotaErrorDetails.QuotaRateScope\x12\x11\n\trate_name\x18\x02 \x01(\t\x12.\n\x0bretry_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"J\n\x0eQuotaRateScope\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0b\n\x07\x41\x43\x43OUNT\x10\x02\x12\r\n\tDEVELOPER\x10\x03\"\xcc\x01\n\x14ResourceCountDetails\x12\x14\n\x0c\x65nclosing_id\x18\x01 \x01(\t\x12\x1a\n\x12\x65nclosing_resource\x18\x05 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\x12[\n\nlimit_type\x18\x03 \x01(\x0e\x32G.google.ads.googleads.v17.enums.ResourceLimitTypeEnum.ResourceLimitType\x12\x16\n\x0e\x65xisting_count\x18\x04 \x01(\x05\x42\xeb\x01\n#com.google.ads.googleads.v17.errorsB\x0b\x45rrorsProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/errors;errors\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Errors\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Errors\xea\x02#Google::Ads::GoogleAds::V17::Errorsb\x06proto3" +descriptor_data = "\n,google/ads/googleads/v17/errors/errors.proto\x12\x1fgoogle.ads.googleads.v17.errors\x1a,google/ads/googleads/v17/common/policy.proto\x1a+google/ads/googleads/v17/common/value.proto\x1a\x38google/ads/googleads/v17/enums/resource_limit_type.proto\x1a=google/ads/googleads/v17/errors/access_invitation_error.proto\x1a\x43google/ads/googleads/v17/errors/account_budget_proposal_error.proto\x1a\x38google/ads/googleads/v17/errors/account_link_error.proto\x1a\x39google/ads/googleads/v17/errors/ad_customizer_error.proto\x1a.google/ads/googleads/v17/errors/ad_error.proto\x1a\x37google/ads/googleads/v17/errors/ad_group_ad_error.proto\x1a\x41google/ads/googleads/v17/errors/ad_group_bid_modifier_error.proto\x1aIgoogle/ads/googleads/v17/errors/ad_group_criterion_customizer_error.proto\x1a>google/ads/googleads/v17/errors/ad_group_criterion_error.proto\x1a?google/ads/googleads/v17/errors/ad_group_customizer_error.proto\x1a\x34google/ads/googleads/v17/errors/ad_group_error.proto\x1a\x39google/ads/googleads/v17/errors/ad_group_feed_error.proto\x1a\x38google/ads/googleads/v17/errors/ad_parameter_error.proto\x1a\x36google/ads/googleads/v17/errors/ad_sharing_error.proto\x1a/google/ads/googleads/v17/errors/adx_error.proto\x1a\x31google/ads/googleads/v17/errors/asset_error.proto\x1a=google/ads/googleads/v17/errors/asset_group_asset_error.proto\x1a\x37google/ads/googleads/v17/errors/asset_group_error.proto\x1aLgoogle/ads/googleads/v17/errors/asset_group_listing_group_filter_error.proto\x1a>google/ads/googleads/v17/errors/asset_group_signal_error.proto\x1a\x36google/ads/googleads/v17/errors/asset_link_error.proto\x1a;google/ads/googleads/v17/errors/asset_set_asset_error.proto\x1a\x35google/ads/googleads/v17/errors/asset_set_error.proto\x1a:google/ads/googleads/v17/errors/asset_set_link_error.proto\x1a\x34google/ads/googleads/v17/errors/audience_error.proto\x1a=google/ads/googleads/v17/errors/audience_insights_error.proto\x1a:google/ads/googleads/v17/errors/authentication_error.proto\x1a\x39google/ads/googleads/v17/errors/authorization_error.proto\x1aOgoogle/ads/googleads/v17/errors/automatically_created_asset_removal_error.proto\x1a\x35google/ads/googleads/v17/errors/batch_job_error.proto\x1a\x33google/ads/googleads/v17/errors/bidding_error.proto\x1agoogle/ads/googleads/v17/errors/campaign_criterion_error.proto\x1a?google/ads/googleads/v17/errors/campaign_customizer_error.proto\x1a:google/ads/googleads/v17/errors/campaign_draft_error.proto\x1a\x34google/ads/googleads/v17/errors/campaign_error.proto\x1a?google/ads/googleads/v17/errors/campaign_experiment_error.proto\x1a\x39google/ads/googleads/v17/errors/campaign_feed_error.proto\x1a\x43google/ads/googleads/v17/errors/campaign_lifecycle_goal_error.proto\x1a?google/ads/googleads/v17/errors/campaign_shared_set_error.proto\x1a\x38google/ads/googleads/v17/errors/change_event_error.proto\x1a\x39google/ads/googleads/v17/errors/change_status_error.proto\x1a;google/ads/googleads/v17/errors/collection_size_error.proto\x1a\x33google/ads/googleads/v17/errors/context_error.proto\x1a=google/ads/googleads/v17/errors/conversion_action_error.proto\x1aHgoogle/ads/googleads/v17/errors/conversion_adjustment_upload_error.proto\x1a\x46google/ads/googleads/v17/errors/conversion_custom_variable_error.proto\x1aKgoogle/ads/googleads/v17/errors/conversion_goal_campaign_config_error.proto\x1a=google/ads/googleads/v17/errors/conversion_upload_error.proto\x1a\x41google/ads/googleads/v17/errors/conversion_value_rule_error.proto\x1a\x45google/ads/googleads/v17/errors/conversion_value_rule_set_error.proto\x1a\x38google/ads/googleads/v17/errors/country_code_error.proto\x1a\x35google/ads/googleads/v17/errors/criterion_error.proto\x1a\x39google/ads/googleads/v17/errors/currency_code_error.proto\x1a\x34google/ads/googleads/v17/errors/currency_error.proto\x1a;google/ads/googleads/v17/errors/custom_audience_error.proto\x1a\x42google/ads/googleads/v17/errors/custom_conversion_goal_error.proto\x1a;google/ads/googleads/v17/errors/custom_interest_error.proto\x1a@google/ads/googleads/v17/errors/customer_client_link_error.proto\x1a?google/ads/googleads/v17/errors/customer_customizer_error.proto\x1a\x34google/ads/googleads/v17/errors/customer_error.proto\x1a\x39google/ads/googleads/v17/errors/customer_feed_error.proto\x1a\x43google/ads/googleads/v17/errors/customer_lifecycle_goal_error.proto\x1a\x41google/ads/googleads/v17/errors/customer_manager_link_error.proto\x1aZgoogle/ads/googleads/v17/errors/customer_sk_ad_network_conversion_value_schema_error.proto\x1a@google/ads/googleads/v17/errors/customer_user_access_error.proto\x1a@google/ads/googleads/v17/errors/customizer_attribute_error.proto\x1a\x34google/ads/googleads/v17/errors/database_error.proto\x1a\x30google/ads/googleads/v17/errors/date_error.proto\x1a\x36google/ads/googleads/v17/errors/date_range_error.proto\x1a\x34google/ads/googleads/v17/errors/distinct_error.proto\x1a\x30google/ads/googleads/v17/errors/enum_error.proto\x1a:google/ads/googleads/v17/errors/experiment_arm_error.proto\x1a\x36google/ads/googleads/v17/errors/experiment_error.proto\x1a?google/ads/googleads/v17/errors/extension_feed_item_error.proto\x1a=google/ads/googleads/v17/errors/extension_setting_error.proto\x1a\x44google/ads/googleads/v17/errors/feed_attribute_reference_error.proto\x1a\x30google/ads/googleads/v17/errors/feed_error.proto\x1a\x35google/ads/googleads/v17/errors/feed_item_error.proto\x1a\x39google/ads/googleads/v17/errors/feed_item_set_error.proto\x1a>google/ads/googleads/v17/errors/feed_item_set_link_error.proto\x1a\n\nerror_code\x18\x01 \x01(\x0b\x32*.google.ads.googleads.v17.errors.ErrorCode\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x37\n\x07trigger\x18\x03 \x01(\x0b\x32&.google.ads.googleads.v17.common.Value\x12@\n\x08location\x18\x04 \x01(\x0b\x32..google.ads.googleads.v17.errors.ErrorLocation\x12>\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32-.google.ads.googleads.v17.errors.ErrorDetails\"\xa9\x87\x01\n\tErrorCode\x12W\n\rrequest_error\x18\x01 \x01(\x0e\x32>.google.ads.googleads.v17.errors.RequestErrorEnum.RequestErrorH\x00\x12p\n\x16\x62idding_strategy_error\x18\x02 \x01(\x0e\x32N.google.ads.googleads.v17.errors.BiddingStrategyErrorEnum.BiddingStrategyErrorH\x00\x12[\n\x0furl_field_error\x18\x03 \x01(\x0e\x32@.google.ads.googleads.v17.errors.UrlFieldErrorEnum.UrlFieldErrorH\x00\x12j\n\x14list_operation_error\x18\x04 \x01(\x0e\x32J.google.ads.googleads.v17.errors.ListOperationErrorEnum.ListOperationErrorH\x00\x12Q\n\x0bquery_error\x18\x05 \x01(\x0e\x32:.google.ads.googleads.v17.errors.QueryErrorEnum.QueryErrorH\x00\x12T\n\x0cmutate_error\x18\x07 \x01(\x0e\x32<.google.ads.googleads.v17.errors.MutateErrorEnum.MutateErrorH\x00\x12^\n\x10\x66ield_mask_error\x18\x08 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.FieldMaskErrorEnum.FieldMaskErrorH\x00\x12i\n\x13\x61uthorization_error\x18\t \x01(\x0e\x32J.google.ads.googleads.v17.errors.AuthorizationErrorEnum.AuthorizationErrorH\x00\x12Z\n\x0einternal_error\x18\n \x01(\x0e\x32@.google.ads.googleads.v17.errors.InternalErrorEnum.InternalErrorH\x00\x12Q\n\x0bquota_error\x18\x0b \x01(\x0e\x32:.google.ads.googleads.v17.errors.QuotaErrorEnum.QuotaErrorH\x00\x12H\n\x08\x61\x64_error\x18\x0c \x01(\x0e\x32\x34.google.ads.googleads.v17.errors.AdErrorEnum.AdErrorH\x00\x12X\n\x0e\x61\x64_group_error\x18\r \x01(\x0e\x32>.google.ads.googleads.v17.errors.AdGroupErrorEnum.AdGroupErrorH\x00\x12m\n\x15\x63\x61mpaign_budget_error\x18\x0e \x01(\x0e\x32L.google.ads.googleads.v17.errors.CampaignBudgetErrorEnum.CampaignBudgetErrorH\x00\x12Z\n\x0e\x63\x61mpaign_error\x18\x0f \x01(\x0e\x32@.google.ads.googleads.v17.errors.CampaignErrorEnum.CampaignErrorH\x00\x12k\n\x14video_campaign_error\x18\xb6\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.VideoCampaignErrorEnum.VideoCampaignErrorH\x00\x12l\n\x14\x61uthentication_error\x18\x11 \x01(\x0e\x32L.google.ads.googleads.v17.errors.AuthenticationErrorEnum.AuthenticationErrorH\x00\x12\x94\x01\n#ad_group_criterion_customizer_error\x18\xa1\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.AdGroupCriterionCustomizerErrorEnum.AdGroupCriterionCustomizerErrorH\x00\x12t\n\x18\x61\x64_group_criterion_error\x18\x12 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AdGroupCriterionErrorEnum.AdGroupCriterionErrorH\x00\x12x\n\x19\x61\x64_group_customizer_error\x18\x9f\x01 \x01(\x0e\x32R.google.ads.googleads.v17.errors.AdGroupCustomizerErrorEnum.AdGroupCustomizerErrorH\x00\x12g\n\x13\x61\x64_customizer_error\x18\x13 \x01(\x0e\x32H.google.ads.googleads.v17.errors.AdCustomizerErrorEnum.AdCustomizerErrorH\x00\x12_\n\x11\x61\x64_group_ad_error\x18\x15 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AdGroupAdErrorEnum.AdGroupAdErrorH\x00\x12^\n\x10\x61\x64_sharing_error\x18\x18 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AdSharingErrorEnum.AdSharingErrorH\x00\x12K\n\tadx_error\x18\x19 \x01(\x0e\x32\x36.google.ads.googleads.v17.errors.AdxErrorEnum.AdxErrorH\x00\x12Q\n\x0b\x61sset_error\x18k \x01(\x0e\x32:.google.ads.googleads.v17.errors.AssetErrorEnum.AssetErrorH\x00\x12r\n\x17\x61sset_group_asset_error\x18\x95\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.AssetGroupAssetErrorEnum.AssetGroupAssetErrorH\x00\x12\x9b\x01\n&asset_group_listing_group_filter_error\x18\x9b\x01 \x01(\x0e\x32h.google.ads.googleads.v17.errors.AssetGroupListingGroupFilterErrorEnum.AssetGroupListingGroupFilterErrorH\x00\x12\x62\n\x11\x61sset_group_error\x18\x94\x01 \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.AssetGroupErrorEnum.AssetGroupErrorH\x00\x12l\n\x15\x61sset_set_asset_error\x18\x99\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.AssetSetAssetErrorEnum.AssetSetAssetErrorH\x00\x12i\n\x14\x61sset_set_link_error\x18\x9a\x01 \x01(\x0e\x32H.google.ads.googleads.v17.errors.AssetSetLinkErrorEnum.AssetSetLinkErrorH\x00\x12\\\n\x0f\x61sset_set_error\x18\x98\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.AssetSetErrorEnum.AssetSetErrorH\x00\x12W\n\rbidding_error\x18\x1a \x01(\x0e\x32>.google.ads.googleads.v17.errors.BiddingErrorEnum.BiddingErrorH\x00\x12v\n\x18\x63\x61mpaign_criterion_error\x18\x1d \x01(\x0e\x32R.google.ads.googleads.v17.errors.CampaignCriterionErrorEnum.CampaignCriterionErrorH\x00\x12\x87\x01\n\x1e\x63\x61mpaign_conversion_goal_error\x18\xa6\x01 \x01(\x0e\x32\\.google.ads.googleads.v17.errors.CampaignConversionGoalErrorEnum.CampaignConversionGoalErrorH\x00\x12z\n\x19\x63\x61mpaign_customizer_error\x18\xa0\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CampaignCustomizerErrorEnum.CampaignCustomizerErrorH\x00\x12m\n\x15\x63ollection_size_error\x18\x1f \x01(\x0e\x32L.google.ads.googleads.v17.errors.CollectionSizeErrorEnum.CollectionSizeErrorH\x00\x12\x9a\x01\n%conversion_goal_campaign_config_error\x18\xa5\x01 \x01(\x0e\x32h.google.ads.googleads.v17.errors.ConversionGoalCampaignConfigErrorEnum.ConversionGoalCampaignConfigErrorH\x00\x12\x64\n\x12\x63ountry_code_error\x18m \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.CountryCodeErrorEnum.CountryCodeErrorH\x00\x12]\n\x0f\x63riterion_error\x18 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.CriterionErrorEnum.CriterionErrorH\x00\x12\x81\x01\n\x1c\x63ustom_conversion_goal_error\x18\x96\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.CustomConversionGoalErrorEnum.CustomConversionGoalErrorH\x00\x12z\n\x19\x63ustomer_customizer_error\x18\x9e\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerCustomizerErrorEnum.CustomerCustomizerErrorH\x00\x12Z\n\x0e\x63ustomer_error\x18Z \x01(\x0e\x32@.google.ads.googleads.v17.errors.CustomerErrorEnum.CustomerErrorH\x00\x12}\n\x1a\x63ustomizer_attribute_error\x18\x97\x01 \x01(\x0e\x32V.google.ads.googleads.v17.errors.CustomizerAttributeErrorEnum.CustomizerAttributeErrorH\x00\x12N\n\ndate_error\x18! \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.DateErrorEnum.DateErrorH\x00\x12^\n\x10\x64\x61te_range_error\x18\" \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.DateRangeErrorEnum.DateRangeErrorH\x00\x12Z\n\x0e\x64istinct_error\x18# \x01(\x0e\x32@.google.ads.googleads.v17.errors.DistinctErrorEnum.DistinctErrorH\x00\x12\x86\x01\n\x1e\x66\x65\x65\x64_attribute_reference_error\x18$ \x01(\x0e\x32\\.google.ads.googleads.v17.errors.FeedAttributeReferenceErrorEnum.FeedAttributeReferenceErrorH\x00\x12Z\n\x0e\x66unction_error\x18% \x01(\x0e\x32@.google.ads.googleads.v17.errors.FunctionErrorEnum.FunctionErrorH\x00\x12p\n\x16\x66unction_parsing_error\x18& \x01(\x0e\x32N.google.ads.googleads.v17.errors.FunctionParsingErrorEnum.FunctionParsingErrorH\x00\x12H\n\x08id_error\x18\' \x01(\x0e\x32\x34.google.ads.googleads.v17.errors.IdErrorEnum.IdErrorH\x00\x12Q\n\x0bimage_error\x18( \x01(\x0e\x32:.google.ads.googleads.v17.errors.ImageErrorEnum.ImageErrorH\x00\x12g\n\x13language_code_error\x18n \x01(\x0e\x32H.google.ads.googleads.v17.errors.LanguageCodeErrorEnum.LanguageCodeErrorH\x00\x12\x64\n\x12media_bundle_error\x18* \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.MediaBundleErrorEnum.MediaBundleErrorH\x00\x12\x64\n\x12media_upload_error\x18t \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.MediaUploadErrorEnum.MediaUploadErrorH\x00\x12^\n\x10media_file_error\x18V \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.MediaFileErrorEnum.MediaFileErrorH\x00\x12n\n\x15merchant_center_error\x18\xa2\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.MerchantCenterErrorEnum.MerchantCenterErrorH\x00\x12`\n\x10multiplier_error\x18, \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.MultiplierErrorEnum.MultiplierErrorH\x00\x12}\n\x1bnew_resource_creation_error\x18- \x01(\x0e\x32V.google.ads.googleads.v17.errors.NewResourceCreationErrorEnum.NewResourceCreationErrorH\x00\x12[\n\x0fnot_empty_error\x18. \x01(\x0e\x32@.google.ads.googleads.v17.errors.NotEmptyErrorEnum.NotEmptyErrorH\x00\x12N\n\nnull_error\x18/ \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.NullErrorEnum.NullErrorH\x00\x12Z\n\x0eoperator_error\x18\x30 \x01(\x0e\x32@.google.ads.googleads.v17.errors.OperatorErrorEnum.OperatorErrorH\x00\x12Q\n\x0brange_error\x18\x31 \x01(\x0e\x32:.google.ads.googleads.v17.errors.RangeErrorEnum.RangeErrorH\x00\x12l\n\x14recommendation_error\x18: \x01(\x0e\x32L.google.ads.googleads.v17.errors.RecommendationErrorEnum.RecommendationErrorH\x00\x12\x92\x01\n!recommendation_subscription_error\x18\xb4\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.RecommendationSubscriptionErrorEnum.RecommendationSubscriptionErrorH\x00\x12\x61\n\x11region_code_error\x18\x33 \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.RegionCodeErrorEnum.RegionCodeErrorH\x00\x12W\n\rsetting_error\x18\x34 \x01(\x0e\x32>.google.ads.googleads.v17.errors.SettingErrorEnum.SettingErrorH\x00\x12g\n\x13string_format_error\x18\x35 \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringFormatErrorEnum.StringFormatErrorH\x00\x12g\n\x13string_length_error\x18\x36 \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringLengthErrorEnum.StringLengthErrorH\x00\x12\x83\x01\n\x1doperation_access_denied_error\x18\x37 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.OperationAccessDeniedErrorEnum.OperationAccessDeniedErrorH\x00\x12\x80\x01\n\x1cresource_access_denied_error\x18\x38 \x01(\x0e\x32X.google.ads.googleads.v17.errors.ResourceAccessDeniedErrorEnum.ResourceAccessDeniedErrorH\x00\x12\x93\x01\n#resource_count_limit_exceeded_error\x18\x39 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededErrorH\x00\x12\x8c\x01\n youtube_video_registration_error\x18u \x01(\x0e\x32`.google.ads.googleads.v17.errors.YoutubeVideoRegistrationErrorEnum.YoutubeVideoRegistrationErrorH\x00\x12{\n\x1b\x61\x64_group_bid_modifier_error\x18; \x01(\x0e\x32T.google.ads.googleads.v17.errors.AdGroupBidModifierErrorEnum.AdGroupBidModifierErrorH\x00\x12W\n\rcontext_error\x18< \x01(\x0e\x32>.google.ads.googleads.v17.errors.ContextErrorEnum.ContextErrorH\x00\x12Q\n\x0b\x66ield_error\x18= \x01(\x0e\x32:.google.ads.googleads.v17.errors.FieldErrorEnum.FieldErrorH\x00\x12^\n\x10shared_set_error\x18> \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.SharedSetErrorEnum.SharedSetErrorH\x00\x12p\n\x16shared_criterion_error\x18? \x01(\x0e\x32N.google.ads.googleads.v17.errors.SharedCriterionErrorEnum.SharedCriterionErrorH\x00\x12w\n\x19\x63\x61mpaign_shared_set_error\x18@ \x01(\x0e\x32R.google.ads.googleads.v17.errors.CampaignSharedSetErrorEnum.CampaignSharedSetErrorH\x00\x12s\n\x17\x63onversion_action_error\x18\x41 \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionActionErrorEnum.ConversionActionErrorH\x00\x12\x92\x01\n\"conversion_adjustment_upload_error\x18s \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadErrorH\x00\x12\x8d\x01\n conversion_custom_variable_error\x18\x8f\x01 \x01(\x0e\x32`.google.ads.googleads.v17.errors.ConversionCustomVariableErrorEnum.ConversionCustomVariableErrorH\x00\x12s\n\x17\x63onversion_upload_error\x18o \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionUploadErrorEnum.ConversionUploadErrorH\x00\x12~\n\x1b\x63onversion_value_rule_error\x18\x91\x01 \x01(\x0e\x32V.google.ads.googleads.v17.errors.ConversionValueRuleErrorEnum.ConversionValueRuleErrorH\x00\x12\x88\x01\n\x1f\x63onversion_value_rule_set_error\x18\x92\x01 \x01(\x0e\x32\\.google.ads.googleads.v17.errors.ConversionValueRuleSetErrorEnum.ConversionValueRuleSetErrorH\x00\x12T\n\x0cheader_error\x18\x42 \x01(\x0e\x32<.google.ads.googleads.v17.errors.HeaderErrorEnum.HeaderErrorH\x00\x12Z\n\x0e\x64\x61tabase_error\x18\x43 \x01(\x0e\x32@.google.ads.googleads.v17.errors.DatabaseErrorEnum.DatabaseErrorH\x00\x12j\n\x14policy_finding_error\x18\x44 \x01(\x0e\x32J.google.ads.googleads.v17.errors.PolicyFindingErrorEnum.PolicyFindingErrorH\x00\x12N\n\nenum_error\x18\x46 \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.EnumErrorEnum.EnumErrorH\x00\x12\x64\n\x12keyword_plan_error\x18G \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.KeywordPlanErrorEnum.KeywordPlanErrorH\x00\x12}\n\x1bkeyword_plan_campaign_error\x18H \x01(\x0e\x32V.google.ads.googleads.v17.errors.KeywordPlanCampaignErrorEnum.KeywordPlanCampaignErrorH\x00\x12\x94\x01\n#keyword_plan_campaign_keyword_error\x18\x84\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.KeywordPlanCampaignKeywordErrorEnum.KeywordPlanCampaignKeywordErrorH\x00\x12{\n\x1bkeyword_plan_ad_group_error\x18J \x01(\x0e\x32T.google.ads.googleads.v17.errors.KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupErrorH\x00\x12\x92\x01\n#keyword_plan_ad_group_keyword_error\x18\x85\x01 \x01(\x0e\x32\x62.google.ads.googleads.v17.errors.KeywordPlanAdGroupKeywordErrorEnum.KeywordPlanAdGroupKeywordErrorH\x00\x12q\n\x17keyword_plan_idea_error\x18L \x01(\x0e\x32N.google.ads.googleads.v17.errors.KeywordPlanIdeaErrorEnum.KeywordPlanIdeaErrorH\x00\x12\x83\x01\n\x1d\x61\x63\x63ount_budget_proposal_error\x18M \x01(\x0e\x32Z.google.ads.googleads.v17.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalErrorH\x00\x12[\n\x0fuser_list_error\x18N \x01(\x0e\x32@.google.ads.googleads.v17.errors.UserListErrorEnum.UserListErrorH\x00\x12\x65\n\x12\x63hange_event_error\x18\x88\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ChangeEventErrorEnum.ChangeEventErrorH\x00\x12g\n\x13\x63hange_status_error\x18O \x01(\x0e\x32H.google.ads.googleads.v17.errors.ChangeStatusErrorEnum.ChangeStatusErrorH\x00\x12N\n\nfeed_error\x18P \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.FeedErrorEnum.FeedErrorH\x00\x12\x96\x01\n$geo_target_constant_suggestion_error\x18Q \x01(\x0e\x32\x66.google.ads.googleads.v17.errors.GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionErrorH\x00\x12j\n\x14\x63\x61mpaign_draft_error\x18R \x01(\x0e\x32J.google.ads.googleads.v17.errors.CampaignDraftErrorEnum.CampaignDraftErrorH\x00\x12[\n\x0f\x66\x65\x65\x64_item_error\x18S \x01(\x0e\x32@.google.ads.googleads.v17.errors.FeedItemErrorEnum.FeedItemErrorH\x00\x12Q\n\x0blabel_error\x18T \x01(\x0e\x32:.google.ads.googleads.v17.errors.LabelErrorEnum.LabelErrorH\x00\x12g\n\x13\x62illing_setup_error\x18W \x01(\x0e\x32H.google.ads.googleads.v17.errors.BillingSetupErrorEnum.BillingSetupErrorH\x00\x12z\n\x1a\x63ustomer_client_link_error\x18X \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerClientLinkErrorEnum.CustomerClientLinkErrorH\x00\x12}\n\x1b\x63ustomer_manager_link_error\x18[ \x01(\x0e\x32V.google.ads.googleads.v17.errors.CustomerManagerLinkErrorEnum.CustomerManagerLinkErrorH\x00\x12\x64\n\x12\x66\x65\x65\x64_mapping_error\x18\\ \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.FeedMappingErrorEnum.FeedMappingErrorH\x00\x12g\n\x13\x63ustomer_feed_error\x18] \x01(\x0e\x32H.google.ads.googleads.v17.errors.CustomerFeedErrorEnum.CustomerFeedErrorH\x00\x12\x65\n\x13\x61\x64_group_feed_error\x18^ \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AdGroupFeedErrorEnum.AdGroupFeedErrorH\x00\x12g\n\x13\x63\x61mpaign_feed_error\x18` \x01(\x0e\x32H.google.ads.googleads.v17.errors.CampaignFeedErrorEnum.CampaignFeedErrorH\x00\x12m\n\x15\x63ustom_interest_error\x18\x61 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CustomInterestErrorEnum.CustomInterestErrorH\x00\x12y\n\x19\x63\x61mpaign_experiment_error\x18\x62 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CampaignExperimentErrorEnum.CampaignExperimentErrorH\x00\x12w\n\x19\x65xtension_feed_item_error\x18\x64 \x01(\x0e\x32R.google.ads.googleads.v17.errors.ExtensionFeedItemErrorEnum.ExtensionFeedItemErrorH\x00\x12\x64\n\x12\x61\x64_parameter_error\x18\x65 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AdParameterErrorEnum.AdParameterErrorH\x00\x12z\n\x1a\x66\x65\x65\x64_item_validation_error\x18\x66 \x01(\x0e\x32T.google.ads.googleads.v17.errors.FeedItemValidationErrorEnum.FeedItemValidationErrorH\x00\x12s\n\x17\x65xtension_setting_error\x18g \x01(\x0e\x32P.google.ads.googleads.v17.errors.ExtensionSettingErrorEnum.ExtensionSettingErrorH\x00\x12\x66\n\x13\x66\x65\x65\x64_item_set_error\x18\x8c\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.FeedItemSetErrorEnum.FeedItemSetErrorH\x00\x12s\n\x18\x66\x65\x65\x64_item_set_link_error\x18\x8d\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.FeedItemSetLinkErrorEnum.FeedItemSetLinkErrorH\x00\x12n\n\x16\x66\x65\x65\x64_item_target_error\x18h \x01(\x0e\x32L.google.ads.googleads.v17.errors.FeedItemTargetErrorEnum.FeedItemTargetErrorH\x00\x12p\n\x16policy_violation_error\x18i \x01(\x0e\x32N.google.ads.googleads.v17.errors.PolicyViolationErrorEnum.PolicyViolationErrorH\x00\x12m\n\x15partial_failure_error\x18p \x01(\x0e\x32L.google.ads.googleads.v17.errors.PartialFailureErrorEnum.PartialFailureErrorH\x00\x12\x8f\x01\n!policy_validation_parameter_error\x18r \x01(\x0e\x32\x62.google.ads.googleads.v17.errors.PolicyValidationParameterErrorEnum.PolicyValidationParameterErrorH\x00\x12^\n\x10size_limit_error\x18v \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.SizeLimitErrorEnum.SizeLimitErrorH\x00\x12{\n\x1boffline_user_data_job_error\x18w \x01(\x0e\x32T.google.ads.googleads.v17.errors.OfflineUserDataJobErrorEnum.OfflineUserDataJobErrorH\x00\x12n\n\x15not_allowlisted_error\x18\x89\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.NotAllowlistedErrorEnum.NotAllowlistedErrorH\x00\x12\x64\n\x12manager_link_error\x18y \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ManagerLinkErrorEnum.ManagerLinkErrorH\x00\x12g\n\x13\x63urrency_code_error\x18z \x01(\x0e\x32H.google.ads.googleads.v17.errors.CurrencyCodeErrorEnum.CurrencyCodeErrorH\x00\x12`\n\x10\x65xperiment_error\x18{ \x01(\x0e\x32\x44.google.ads.googleads.v17.errors.ExperimentErrorEnum.ExperimentErrorH\x00\x12s\n\x17\x61\x63\x63\x65ss_invitation_error\x18| \x01(\x0e\x32P.google.ads.googleads.v17.errors.AccessInvitationErrorEnum.AccessInvitationErrorH\x00\x12^\n\x10reach_plan_error\x18} \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.ReachPlanErrorEnum.ReachPlanErrorH\x00\x12W\n\rinvoice_error\x18~ \x01(\x0e\x32>.google.ads.googleads.v17.errors.InvoiceErrorEnum.InvoiceErrorH\x00\x12p\n\x16payments_account_error\x18\x7f \x01(\x0e\x32N.google.ads.googleads.v17.errors.PaymentsAccountErrorEnum.PaymentsAccountErrorH\x00\x12\\\n\x0ftime_zone_error\x18\x80\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.TimeZoneErrorEnum.TimeZoneErrorH\x00\x12_\n\x10\x61sset_link_error\x18\x81\x01 \x01(\x0e\x32\x42.google.ads.googleads.v17.errors.AssetLinkErrorEnum.AssetLinkErrorH\x00\x12\\\n\x0fuser_data_error\x18\x82\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.UserDataErrorEnum.UserDataErrorH\x00\x12\\\n\x0f\x62\x61tch_job_error\x18\x83\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.BatchJobErrorEnum.BatchJobErrorH\x00\x12\x65\n\x12\x61\x63\x63ount_link_error\x18\x86\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.AccountLinkErrorEnum.AccountLinkErrorH\x00\x12\x95\x01\n$third_party_app_analytics_link_error\x18\x87\x01 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ThirdPartyAppAnalyticsLinkErrorEnum.ThirdPartyAppAnalyticsLinkErrorH\x00\x12{\n\x1a\x63ustomer_user_access_error\x18\x8a\x01 \x01(\x0e\x32T.google.ads.googleads.v17.errors.CustomerUserAccessErrorEnum.CustomerUserAccessErrorH\x00\x12n\n\x15\x63ustom_audience_error\x18\x8b\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CustomAudienceErrorEnum.CustomAudienceErrorH\x00\x12[\n\x0e\x61udience_error\x18\xa4\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.AudienceErrorEnum.AudienceErrorH\x00\x12x\n\x19search_term_insight_error\x18\xae\x01 \x01(\x0e\x32R.google.ads.googleads.v17.errors.SearchTermInsightErrorEnum.SearchTermInsightErrorH\x00\x12k\n\x14smart_campaign_error\x18\x93\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.SmartCampaignErrorEnum.SmartCampaignErrorH\x00\x12k\n\x14\x65xperiment_arm_error\x18\x9c\x01 \x01(\x0e\x32J.google.ads.googleads.v17.errors.ExperimentArmErrorEnum.ExperimentArmErrorH\x00\x12t\n\x17\x61udience_insights_error\x18\xa7\x01 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AudienceInsightsErrorEnum.AudienceInsightsErrorH\x00\x12\x65\n\x12product_link_error\x18\xa9\x01 \x01(\x0e\x32\x46.google.ads.googleads.v17.errors.ProductLinkErrorEnum.ProductLinkErrorH\x00\x12\xc2\x01\n4customer_sk_ad_network_conversion_value_schema_error\x18\xaa\x01 \x01(\x0e\x32\x80\x01.google.ads.googleads.v17.errors.CustomerSkAdNetworkConversionValueSchemaErrorEnum.CustomerSkAdNetworkConversionValueSchemaErrorH\x00\x12[\n\x0e\x63urrency_error\x18\xab\x01 \x01(\x0e\x32@.google.ads.googleads.v17.errors.CurrencyErrorEnum.CurrencyErrorH\x00\x12u\n\x18\x61sset_group_signal_error\x18\xb0\x01 \x01(\x0e\x32P.google.ads.googleads.v17.errors.AssetGroupSignalErrorEnum.AssetGroupSignalErrorH\x00\x12\x84\x01\n\x1dproduct_link_invitation_error\x18\xb1\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.ProductLinkInvitationErrorEnum.ProductLinkInvitationErrorH\x00\x12\x84\x01\n\x1d\x63ustomer_lifecycle_goal_error\x18\xb2\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.CustomerLifecycleGoalErrorEnum.CustomerLifecycleGoalErrorH\x00\x12\x84\x01\n\x1d\x63\x61mpaign_lifecycle_goal_error\x18\xb3\x01 \x01(\x0e\x32Z.google.ads.googleads.v17.errors.CampaignLifecycleGoalErrorEnum.CampaignLifecycleGoalErrorH\x00\x12\x80\x01\n\x1bidentity_verification_error\x18\xb5\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.IdentityVerificationErrorEnum.IdentityVerificationErrorH\x00\x12\x82\x01\n\x1duser_list_customer_type_error\x18\xb7\x01 \x01(\x0e\x32X.google.ads.googleads.v17.errors.UserListCustomerTypeErrorEnum.UserListCustomerTypeErrorH\x00\x12q\n\x16shopping_product_error\x18\xb8\x01 \x01(\x0e\x32N.google.ads.googleads.v17.errors.ShoppingProductErrorEnum.ShoppingProductErrorH\x00\x12\xa6\x01\n)automatically_created_asset_removal_error\x18\xb9\x01 \x01(\x0e\x32p.google.ads.googleads.v17.errors.AutomaticallyCreatedAssetRemovalErrorEnum.AutomaticallyCreatedAssetRemovalErrorH\x00\x12t\n\x17shareable_preview_error\x18\xba\x01 \x01(\x0e\x32P.google.ads.googleads.v17.errors.ShareablePreviewErrorEnum.ShareablePreviewErrorH\x00\x42\x0c\n\nerror_code\"\xb3\x01\n\rErrorLocation\x12\\\n\x13\x66ield_path_elements\x18\x02 \x03(\x0b\x32?.google.ads.googleads.v17.errors.ErrorLocation.FieldPathElement\x1a\x44\n\x10\x46ieldPathElement\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x12\n\x05index\x18\x03 \x01(\x05H\x00\x88\x01\x01\x42\x08\n\x06_index\"\x88\x03\n\x0c\x45rrorDetails\x12\x1e\n\x16unpublished_error_code\x18\x01 \x01(\t\x12Y\n\x18policy_violation_details\x18\x02 \x01(\x0b\x32\x37.google.ads.googleads.v17.errors.PolicyViolationDetails\x12U\n\x16policy_finding_details\x18\x03 \x01(\x0b\x32\x35.google.ads.googleads.v17.errors.PolicyFindingDetails\x12O\n\x13quota_error_details\x18\x04 \x01(\x0b\x32\x32.google.ads.googleads.v17.errors.QuotaErrorDetails\x12U\n\x16resource_count_details\x18\x05 \x01(\x0b\x32\x35.google.ads.googleads.v17.errors.ResourceCountDetails\"\xb4\x01\n\x16PolicyViolationDetails\x12#\n\x1b\x65xternal_policy_description\x18\x02 \x01(\t\x12@\n\x03key\x18\x04 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.PolicyViolationKey\x12\x1c\n\x14\x65xternal_policy_name\x18\x05 \x01(\t\x12\x15\n\ris_exemptible\x18\x06 \x01(\x08\"g\n\x14PolicyFindingDetails\x12O\n\x14policy_topic_entries\x18\x01 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.PolicyTopicEntry\"\xf9\x01\n\x11QuotaErrorDetails\x12U\n\nrate_scope\x18\x01 \x01(\x0e\x32\x41.google.ads.googleads.v17.errors.QuotaErrorDetails.QuotaRateScope\x12\x11\n\trate_name\x18\x02 \x01(\t\x12.\n\x0bretry_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"J\n\x0eQuotaRateScope\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\x0b\n\x07\x41\x43\x43OUNT\x10\x02\x12\r\n\tDEVELOPER\x10\x03\"\xcc\x01\n\x14ResourceCountDetails\x12\x14\n\x0c\x65nclosing_id\x18\x01 \x01(\t\x12\x1a\n\x12\x65nclosing_resource\x18\x05 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\x12[\n\nlimit_type\x18\x03 \x01(\x0e\x32G.google.ads.googleads.v17.enums.ResourceLimitTypeEnum.ResourceLimitType\x12\x16\n\x0e\x65xisting_count\x18\x04 \x01(\x05\x42\xeb\x01\n#com.google.ads.googleads.v17.errorsB\x0b\x45rrorsProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/errors;errors\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Errors\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Errors\xea\x02#Google::Ads::GoogleAds::V17::Errorsb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/errors/shareable_preview_error_pb.rb b/lib/google/ads/google_ads/v17/errors/shareable_preview_error_pb.rb new file mode 100644 index 00000000..1743fe78 --- /dev/null +++ b/lib/google/ads/google_ads/v17/errors/shareable_preview_error_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/errors/shareable_preview_error.proto + +require 'google/protobuf' + + +descriptor_data = "\n=google/ads/googleads/v17/errors/shareable_preview_error.proto\x12\x1fgoogle.ads.googleads.v17.errors\"\xad\x01\n\x19ShareablePreviewErrorEnum\"\x8f\x01\n\x15ShareablePreviewError\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12$\n TOO_MANY_ASSET_GROUPS_IN_REQUEST\x10\x02\x12\x32\n.ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER\x10\x03\x42\xfa\x01\n#com.google.ads.googleads.v17.errorsB\x1aShareablePreviewErrorProtoP\x01ZEgoogle.golang.org/genproto/googleapis/ads/googleads/v17/errors;errors\xa2\x02\x03GAA\xaa\x02\x1fGoogle.Ads.GoogleAds.V17.Errors\xca\x02\x1fGoogle\\Ads\\GoogleAds\\V17\\Errors\xea\x02#Google::Ads::GoogleAds::V17::Errorsb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Errors + ShareablePreviewErrorEnum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.errors.ShareablePreviewErrorEnum").msgclass + ShareablePreviewErrorEnum::ShareablePreviewError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.errors.ShareablePreviewErrorEnum.ShareablePreviewError").enummodule + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb b/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb index aac454ad..96bb76e3 100644 --- a/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb +++ b/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb @@ -19,7 +19,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n1google/ads/googleads/v17/resources/ad_group.proto\x12\"google.ads.googleads.v17.resources\x1a\x36google/ads/googleads/v17/common/custom_parameter.proto\x1a\x37google/ads/googleads/v17/common/targeting_setting.proto\x1a>google/ads/googleads/v17/enums/ad_group_ad_rotation_mode.proto\x1a \x01(\x0e\x32M.google.ads.googleads.v17.enums.AdGroupPrimaryStatusEnum.AdGroupPrimaryStatusB\x03\xe0\x41\x03\x12~\n\x16primary_status_reasons\x18? \x03(\x0e\x32Y.google.ads.googleads.v17.enums.AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReasonB\x03\xe0\x41\x03\x1a\x34\n\x0f\x41udienceSetting\x12!\n\x14use_audience_grouped\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05:U\xea\x41R\n googleads.googleapis.com/AdGroup\x12.customers/{customer_id}/adGroups/{ad_group_id}B\x05\n\x03_idB\x07\n\x05_nameB\x10\n\x0e_base_ad_groupB\x18\n\x16_tracking_url_templateB\x0b\n\t_campaignB\x11\n\x0f_cpc_bid_microsB\x1b\n\x19_effective_cpc_bid_microsB\x11\n\x0f_cpm_bid_microsB\x14\n\x12_target_cpa_microsB\x11\n\x0f_cpv_bid_microsB\x14\n\x12_target_cpm_microsB\x0e\n\x0c_target_roasB\x19\n\x17_percent_cpc_bid_microsB\x13\n\x11_final_url_suffixB\x1e\n\x1c_effective_target_cpa_microsB\x18\n\x16_effective_target_roasB\xfe\x01\n&com.google.ads.googleads.v17.resourcesB\x0c\x41\x64GroupProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" +descriptor_data = "\n1google/ads/googleads/v17/resources/ad_group.proto\x12\"google.ads.googleads.v17.resources\x1a\x36google/ads/googleads/v17/common/custom_parameter.proto\x1a\x37google/ads/googleads/v17/common/targeting_setting.proto\x1a>google/ads/googleads/v17/enums/ad_group_ad_rotation_mode.proto\x1a \x01(\x0e\x32M.google.ads.googleads.v17.enums.AdGroupPrimaryStatusEnum.AdGroupPrimaryStatusB\x03\xe0\x41\x03\x12~\n\x16primary_status_reasons\x18? \x03(\x0e\x32Y.google.ads.googleads.v17.enums.AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReasonB\x03\xe0\x41\x03\x1a\x34\n\x0f\x41udienceSetting\x12!\n\x14use_audience_grouped\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05:U\xea\x41R\n googleads.googleapis.com/AdGroup\x12.customers/{customer_id}/adGroups/{ad_group_id}B\x05\n\x03_idB\x07\n\x05_nameB\x10\n\x0e_base_ad_groupB\x18\n\x16_tracking_url_templateB\x0b\n\t_campaignB\x11\n\x0f_cpc_bid_microsB\x1b\n\x19_effective_cpc_bid_microsB\x11\n\x0f_cpm_bid_microsB\x14\n\x12_target_cpa_microsB\x11\n\x0f_cpv_bid_microsB\x14\n\x12_target_cpm_microsB\x0e\n\x0c_target_roasB\x19\n\x17_percent_cpc_bid_microsB\x13\n\x11_fixed_cpm_microsB\x14\n\x12_target_cpv_microsB\x13\n\x11_final_url_suffixB\x1e\n\x1c_effective_target_cpa_microsB\x18\n\x16_effective_target_roasB\xfe\x01\n&com.google.ads.googleads.v17.resourcesB\x0c\x41\x64GroupProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/resources/campaign_pb.rb b/lib/google/ads/google_ads/v17/resources/campaign_pb.rb index b10b7f91..1e7ea92b 100644 --- a/lib/google/ads/google_ads/v17/resources/campaign_pb.rb +++ b/lib/google/ads/google_ads/v17/resources/campaign_pb.rb @@ -40,7 +40,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n1google/ads/googleads/v17/resources/campaign.proto\x12\"google.ads.googleads.v17.resources\x1a-google/ads/googleads/v17/common/bidding.proto\x1a\x36google/ads/googleads/v17/common/custom_parameter.proto\x1a\x33google/ads/googleads/v17/common/frequency_cap.proto\x1a?google/ads/googleads/v17/common/real_time_bidding_setting.proto\x1a\x37google/ads/googleads/v17/common/targeting_setting.proto\x1a\x43google/ads/googleads/v17/enums/ad_serving_optimization_status.proto\x1a\x41google/ads/googleads/v17/enums/advertising_channel_sub_type.proto\x1a=google/ads/googleads/v17/enums/advertising_channel_type.proto\x1a;google/ads/googleads/v17/enums/app_campaign_app_store.proto\x1aLgoogle/ads/googleads/v17/enums/app_campaign_bidding_strategy_goal_type.proto\x1a\n\x06labels\x18= \x03(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CampaignLabel\x12o\n\x0f\x65xperiment_type\x18\x11 \x01(\x0e\x32Q.google.ads.googleads.v17.enums.CampaignExperimentTypeEnum.CampaignExperimentTypeB\x03\xe0\x41\x03\x12\x45\n\rbase_campaign\x18\x38 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/CampaignH\x05\x88\x01\x01\x12J\n\x0f\x63\x61mpaign_budget\x18> \x01(\tB,\xfa\x41)\n\'googleads.googleapis.com/CampaignBudgetH\x06\x88\x01\x01\x12o\n\x15\x62idding_strategy_type\x18\x16 \x01(\x0e\x32K.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyTypeB\x03\xe0\x41\x03\x12_\n\x1b\x61\x63\x63\x65ssible_bidding_strategy\x18G \x01(\tB:\xe0\x41\x03\xfa\x41\x34\n2googleads.googleapis.com/AccessibleBiddingStrategy\x12\x17\n\nstart_date\x18? \x01(\tH\x07\x88\x01\x01\x12H\n\x0e\x63\x61mpaign_group\x18L \x01(\tB+\xfa\x41(\n&googleads.googleapis.com/CampaignGroupH\x08\x88\x01\x01\x12\x15\n\x08\x65nd_date\x18@ \x01(\tH\t\x88\x01\x01\x12\x1d\n\x10\x66inal_url_suffix\x18\x41 \x01(\tH\n\x88\x01\x01\x12J\n\x0e\x66requency_caps\x18( \x03(\x0b\x32\x32.google.ads.googleads.v17.common.FrequencyCapEntry\x12y\n\x1evideo_brand_safety_suitability\x18* \x01(\x0e\x32Q.google.ads.googleads.v17.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability\x12P\n\rvanity_pharma\x18, \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.Campaign.VanityPharma\x12\x62\n\x16selective_optimization\x18- \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.Campaign.SelectiveOptimization\x12g\n\x19optimization_goal_setting\x18\x36 \x01(\x0b\x32\x44.google.ads.googleads.v17.resources.Campaign.OptimizationGoalSetting\x12[\n\x10tracking_setting\x18. \x01(\x0b\x32<.google.ads.googleads.v17.resources.Campaign.TrackingSettingB\x03\xe0\x41\x03\x12Q\n\x0cpayment_mode\x18\x34 \x01(\x0e\x32;.google.ads.googleads.v17.enums.PaymentModeEnum.PaymentMode\x12$\n\x12optimization_score\x18\x42 \x01(\x01\x42\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12l\n!excluded_parent_asset_field_types\x18\x45 \x03(\x0e\x32\x41.google.ads.googleads.v17.enums.AssetFieldTypeEnum.AssetFieldType\x12\x66\n\x1f\x65xcluded_parent_asset_set_types\x18P \x03(\x0e\x32=.google.ads.googleads.v17.enums.AssetSetTypeEnum.AssetSetType\x12\"\n\x15url_expansion_opt_out\x18H \x01(\x08H\x0c\x88\x01\x01\x12h\n\x17performance_max_upgrade\x18M \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.Campaign.PerformanceMaxUpgradeB\x03\xe0\x41\x03\x12P\n\x18hotel_property_asset_set\x18S \x01(\tB)\xe0\x41\x05\xfa\x41#\n!googleads.googleapis.com/AssetSetH\r\x88\x01\x01\x12[\n\x0clisting_type\x18V \x01(\x0e\x32;.google.ads.googleads.v17.enums.ListingTypeEnum.ListingTypeB\x03\xe0\x41\x05H\x0e\x88\x01\x01\x12\x66\n\x19\x61sset_automation_settings\x18X \x03(\x0b\x32\x43.google.ads.googleads.v17.resources.Campaign.AssetAutomationSetting\x12q\n\x12keyword_match_type\x18Z \x01(\x0e\x32U.google.ads.googleads.v17.enums.CampaignKeywordMatchTypeEnum.CampaignKeywordMatchType\x12I\n\x10\x62idding_strategy\x18\x43 \x01(\tB-\xfa\x41*\n(googleads.googleapis.com/BiddingStrategyH\x00\x12\x41\n\ncommission\x18\x31 \x01(\x0b\x32+.google.ads.googleads.v17.common.CommissionH\x00\x12@\n\nmanual_cpa\x18J \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpaH\x00\x12@\n\nmanual_cpc\x18\x18 \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpcH\x00\x12@\n\nmanual_cpm\x18\x19 \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpmH\x00\x12@\n\nmanual_cpv\x18% \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpvH\x00\x12T\n\x14maximize_conversions\x18\x1e \x01(\x0b\x32\x34.google.ads.googleads.v17.common.MaximizeConversionsH\x00\x12]\n\x19maximize_conversion_value\x18\x1f \x01(\x0b\x32\x38.google.ads.googleads.v17.common.MaximizeConversionValueH\x00\x12@\n\ntarget_cpa\x18\x1a \x01(\x0b\x32*.google.ads.googleads.v17.common.TargetCpaH\x00\x12Y\n\x17target_impression_share\x18\x30 \x01(\x0b\x32\x36.google.ads.googleads.v17.common.TargetImpressionShareH\x00\x12\x42\n\x0btarget_roas\x18\x1d \x01(\x0b\x32+.google.ads.googleads.v17.common.TargetRoasH\x00\x12\x44\n\x0ctarget_spend\x18\x1b \x01(\x0b\x32,.google.ads.googleads.v17.common.TargetSpendH\x00\x12\x42\n\x0bpercent_cpc\x18\" \x01(\x0b\x32+.google.ads.googleads.v17.common.PercentCpcH\x00\x12@\n\ntarget_cpm\x18) \x01(\x0b\x32*.google.ads.googleads.v17.common.TargetCpmH\x00\x1a\x9f\x02\n\x15PerformanceMaxUpgrade\x12K\n\x18performance_max_campaign\x18\x01 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/Campaign\x12G\n\x14pre_upgrade_campaign\x18\x02 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/Campaign\x12p\n\x06status\x18\x03 \x01(\x0e\x32[.google.ads.googleads.v17.enums.PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatusB\x03\xe0\x41\x03\x1a\x8d\x03\n\x0fNetworkSettings\x12!\n\x14target_google_search\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\"\n\x15target_search_network\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12#\n\x16target_content_network\x18\x07 \x01(\x08H\x02\x88\x01\x01\x12*\n\x1dtarget_partner_search_network\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1b\n\x0etarget_youtube\x18\t \x01(\x08H\x04\x88\x01\x01\x12%\n\x18target_google_tv_network\x18\n \x01(\x08H\x05\x88\x01\x01\x42\x17\n\x15_target_google_searchB\x18\n\x16_target_search_networkB\x19\n\x17_target_content_networkB \n\x1e_target_partner_search_networkB\x11\n\x0f_target_youtubeB\x1b\n\x19_target_google_tv_network\x1aI\n\x10HotelSettingInfo\x12!\n\x0fhotel_center_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x12\n\x10_hotel_center_id\x1a\xc2\x01\n\x17\x44ynamicSearchAdsSetting\x12\x18\n\x0b\x64omain_name\x18\x06 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rlanguage_code\x18\x07 \x01(\tB\x03\xe0\x41\x02\x12#\n\x16use_supplied_urls_only\x18\x08 \x01(\x08H\x00\x88\x01\x01\x12\x31\n\x05\x66\x65\x65\x64s\x18\t \x03(\tB\"\xfa\x41\x1f\n\x1dgoogleads.googleapis.com/FeedB\x19\n\x17_use_supplied_urls_only\x1a\xb7\x02\n\x0fShoppingSetting\x12\x18\n\x0bmerchant_id\x18\x05 \x01(\x03H\x00\x88\x01\x01\x12\x12\n\nfeed_label\x18\n \x01(\t\x12\x1e\n\x11\x63\x61mpaign_priority\x18\x07 \x01(\x05H\x01\x88\x01\x01\x12\x19\n\x0c\x65nable_local\x18\x08 \x01(\x08H\x02\x88\x01\x01\x12\"\n\x15use_vehicle_inventory\x18\t \x01(\x08\x42\x03\xe0\x41\x05\x12$\n\x17\x61\x64vertising_partner_ids\x18\x0b \x03(\x03\x42\x03\xe0\x41\x05\x12!\n\x14\x64isable_product_feed\x18\x0c \x01(\x08H\x03\x88\x01\x01\x42\x0e\n\x0c_merchant_idB\x14\n\x12_campaign_priorityB\x0f\n\r_enable_localB\x17\n\x15_disable_product_feed\x1a\x42\n\x0fTrackingSetting\x12\x1e\n\x0ctracking_url\x18\x02 \x01(\tB\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x0f\n\r_tracking_url\x1a\xfc\x01\n\x14GeoTargetTypeSetting\x12q\n\x18positive_geo_target_type\x18\x01 \x01(\x0e\x32O.google.ads.googleads.v17.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType\x12q\n\x18negative_geo_target_type\x18\x02 \x01(\x0e\x32O.google.ads.googleads.v17.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType\x1a\x7f\n\x14LocalCampaignSetting\x12g\n\x14location_source_type\x18\x01 \x01(\x0e\x32I.google.ads.googleads.v17.enums.LocationSourceTypeEnum.LocationSourceType\x1a\xae\x02\n\x12\x41ppCampaignSetting\x12\x8d\x01\n\x1a\x62idding_strategy_goal_type\x18\x01 \x01(\x0e\x32i.google.ads.googleads.v17.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType\x12\x18\n\x06\x61pp_id\x18\x04 \x01(\tB\x03\xe0\x41\x05H\x00\x88\x01\x01\x12\x63\n\tapp_store\x18\x03 \x01(\x0e\x32K.google.ads.googleads.v17.enums.AppCampaignAppStoreEnum.AppCampaignAppStoreB\x03\xe0\x41\x05\x42\t\n\x07_app_id\x1a\xf5\x01\n\x0cVanityPharma\x12\x81\x01\n\x1evanity_pharma_display_url_mode\x18\x01 \x01(\x0e\x32Y.google.ads.googleads.v17.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode\x12\x61\n\x12vanity_pharma_text\x18\x02 \x01(\x0e\x32\x45.google.ads.googleads.v17.enums.VanityPharmaTextEnum.VanityPharmaText\x1a\x63\n\x15SelectiveOptimization\x12J\n\x12\x63onversion_actions\x18\x02 \x03(\tB.\xfa\x41+\n)googleads.googleapis.com/ConversionAction\x1a\x89\x01\n\x17OptimizationGoalSetting\x12n\n\x17optimization_goal_types\x18\x01 \x03(\x0e\x32M.google.ads.googleads.v17.enums.OptimizationGoalTypeEnum.OptimizationGoalType\x1aR\n\x0f\x41udienceSetting\x12&\n\x14use_audience_grouped\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x17\n\x15_use_audience_grouped\x1ap\n\x1dLocalServicesCampaignSettings\x12O\n\rcategory_bids\x18\x01 \x03(\x0b\x32\x38.google.ads.googleads.v17.resources.Campaign.CategoryBid\x1au\n\x0b\x43\x61tegoryBid\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\"\n\x15manual_cpa_bid_micros\x18\x02 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_category_idB\x18\n\x16_manual_cpa_bid_micros\x1aS\n\x16TravelCampaignSettings\x12#\n\x11travel_account_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x14\n\x12_travel_account_id\x1aX\n\x19\x44\x65mandGenCampaignSettings\x12$\n\x12upgraded_targeting\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x15\n\x13_upgraded_targeting\x1a\xb6\x02\n\x16\x41ssetAutomationSetting\x12o\n\x15\x61sset_automation_type\x18\x01 \x01(\x0e\x32K.google.ads.googleads.v17.enums.AssetAutomationTypeEnum.AssetAutomationTypeH\x00\x88\x01\x01\x12u\n\x17\x61sset_automation_status\x18\x02 \x01(\x0e\x32O.google.ads.googleads.v17.enums.AssetAutomationStatusEnum.AssetAutomationStatusH\x01\x88\x01\x01\x42\x18\n\x16_asset_automation_typeB\x1a\n\x18_asset_automation_status:W\xea\x41T\n!googleads.googleapis.com/Campaign\x12/customers/{customer_id}/campaigns/{campaign_id}B\x1b\n\x19\x63\x61mpaign_bidding_strategyB\x05\n\x03_idB\x07\n\x05_nameB\x18\n\x16_tracking_url_templateB\x13\n\x11_audience_settingB\x10\n\x0e_base_campaignB\x12\n\x10_campaign_budgetB\r\n\x0b_start_dateB\x11\n\x0f_campaign_groupB\x0b\n\t_end_dateB\x13\n\x11_final_url_suffixB\x15\n\x13_optimization_scoreB\x18\n\x16_url_expansion_opt_outB\x1b\n\x19_hotel_property_asset_setB\x0f\n\r_listing_typeB\xff\x01\n&com.google.ads.googleads.v17.resourcesB\rCampaignProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" +descriptor_data = "\n1google/ads/googleads/v17/resources/campaign.proto\x12\"google.ads.googleads.v17.resources\x1a-google/ads/googleads/v17/common/bidding.proto\x1a\x36google/ads/googleads/v17/common/custom_parameter.proto\x1a\x33google/ads/googleads/v17/common/frequency_cap.proto\x1a?google/ads/googleads/v17/common/real_time_bidding_setting.proto\x1a\x37google/ads/googleads/v17/common/targeting_setting.proto\x1a\x43google/ads/googleads/v17/enums/ad_serving_optimization_status.proto\x1a\x41google/ads/googleads/v17/enums/advertising_channel_sub_type.proto\x1a=google/ads/googleads/v17/enums/advertising_channel_type.proto\x1a;google/ads/googleads/v17/enums/app_campaign_app_store.proto\x1aLgoogle/ads/googleads/v17/enums/app_campaign_bidding_strategy_goal_type.proto\x1a\n\x06labels\x18= \x03(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CampaignLabel\x12o\n\x0f\x65xperiment_type\x18\x11 \x01(\x0e\x32Q.google.ads.googleads.v17.enums.CampaignExperimentTypeEnum.CampaignExperimentTypeB\x03\xe0\x41\x03\x12\x45\n\rbase_campaign\x18\x38 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/CampaignH\x05\x88\x01\x01\x12J\n\x0f\x63\x61mpaign_budget\x18> \x01(\tB,\xfa\x41)\n\'googleads.googleapis.com/CampaignBudgetH\x06\x88\x01\x01\x12o\n\x15\x62idding_strategy_type\x18\x16 \x01(\x0e\x32K.google.ads.googleads.v17.enums.BiddingStrategyTypeEnum.BiddingStrategyTypeB\x03\xe0\x41\x03\x12_\n\x1b\x61\x63\x63\x65ssible_bidding_strategy\x18G \x01(\tB:\xe0\x41\x03\xfa\x41\x34\n2googleads.googleapis.com/AccessibleBiddingStrategy\x12\x17\n\nstart_date\x18? \x01(\tH\x07\x88\x01\x01\x12H\n\x0e\x63\x61mpaign_group\x18L \x01(\tB+\xfa\x41(\n&googleads.googleapis.com/CampaignGroupH\x08\x88\x01\x01\x12\x15\n\x08\x65nd_date\x18@ \x01(\tH\t\x88\x01\x01\x12\x1d\n\x10\x66inal_url_suffix\x18\x41 \x01(\tH\n\x88\x01\x01\x12J\n\x0e\x66requency_caps\x18( \x03(\x0b\x32\x32.google.ads.googleads.v17.common.FrequencyCapEntry\x12y\n\x1evideo_brand_safety_suitability\x18* \x01(\x0e\x32Q.google.ads.googleads.v17.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability\x12P\n\rvanity_pharma\x18, \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.Campaign.VanityPharma\x12\x62\n\x16selective_optimization\x18- \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.Campaign.SelectiveOptimization\x12g\n\x19optimization_goal_setting\x18\x36 \x01(\x0b\x32\x44.google.ads.googleads.v17.resources.Campaign.OptimizationGoalSetting\x12[\n\x10tracking_setting\x18. \x01(\x0b\x32<.google.ads.googleads.v17.resources.Campaign.TrackingSettingB\x03\xe0\x41\x03\x12Q\n\x0cpayment_mode\x18\x34 \x01(\x0e\x32;.google.ads.googleads.v17.enums.PaymentModeEnum.PaymentMode\x12$\n\x12optimization_score\x18\x42 \x01(\x01\x42\x03\xe0\x41\x03H\x0b\x88\x01\x01\x12l\n!excluded_parent_asset_field_types\x18\x45 \x03(\x0e\x32\x41.google.ads.googleads.v17.enums.AssetFieldTypeEnum.AssetFieldType\x12\x66\n\x1f\x65xcluded_parent_asset_set_types\x18P \x03(\x0e\x32=.google.ads.googleads.v17.enums.AssetSetTypeEnum.AssetSetType\x12\"\n\x15url_expansion_opt_out\x18H \x01(\x08H\x0c\x88\x01\x01\x12h\n\x17performance_max_upgrade\x18M \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.Campaign.PerformanceMaxUpgradeB\x03\xe0\x41\x03\x12P\n\x18hotel_property_asset_set\x18S \x01(\tB)\xe0\x41\x05\xfa\x41#\n!googleads.googleapis.com/AssetSetH\r\x88\x01\x01\x12[\n\x0clisting_type\x18V \x01(\x0e\x32;.google.ads.googleads.v17.enums.ListingTypeEnum.ListingTypeB\x03\xe0\x41\x05H\x0e\x88\x01\x01\x12\x66\n\x19\x61sset_automation_settings\x18X \x03(\x0b\x32\x43.google.ads.googleads.v17.resources.Campaign.AssetAutomationSetting\x12q\n\x12keyword_match_type\x18Z \x01(\x0e\x32U.google.ads.googleads.v17.enums.CampaignKeywordMatchTypeEnum.CampaignKeywordMatchType\x12I\n\x10\x62idding_strategy\x18\x43 \x01(\tB-\xfa\x41*\n(googleads.googleapis.com/BiddingStrategyH\x00\x12\x41\n\ncommission\x18\x31 \x01(\x0b\x32+.google.ads.googleads.v17.common.CommissionH\x00\x12@\n\nmanual_cpa\x18J \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpaH\x00\x12@\n\nmanual_cpc\x18\x18 \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpcH\x00\x12@\n\nmanual_cpm\x18\x19 \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpmH\x00\x12@\n\nmanual_cpv\x18% \x01(\x0b\x32*.google.ads.googleads.v17.common.ManualCpvH\x00\x12T\n\x14maximize_conversions\x18\x1e \x01(\x0b\x32\x34.google.ads.googleads.v17.common.MaximizeConversionsH\x00\x12]\n\x19maximize_conversion_value\x18\x1f \x01(\x0b\x32\x38.google.ads.googleads.v17.common.MaximizeConversionValueH\x00\x12@\n\ntarget_cpa\x18\x1a \x01(\x0b\x32*.google.ads.googleads.v17.common.TargetCpaH\x00\x12Y\n\x17target_impression_share\x18\x30 \x01(\x0b\x32\x36.google.ads.googleads.v17.common.TargetImpressionShareH\x00\x12\x42\n\x0btarget_roas\x18\x1d \x01(\x0b\x32+.google.ads.googleads.v17.common.TargetRoasH\x00\x12\x44\n\x0ctarget_spend\x18\x1b \x01(\x0b\x32,.google.ads.googleads.v17.common.TargetSpendH\x00\x12\x42\n\x0bpercent_cpc\x18\" \x01(\x0b\x32+.google.ads.googleads.v17.common.PercentCpcH\x00\x12@\n\ntarget_cpm\x18) \x01(\x0b\x32*.google.ads.googleads.v17.common.TargetCpmH\x00\x12>\n\tfixed_cpm\x18\\ \x01(\x0b\x32).google.ads.googleads.v17.common.FixedCpmH\x00\x12@\n\ntarget_cpv\x18] \x01(\x0b\x32*.google.ads.googleads.v17.common.TargetCpvH\x00\x1a\x9f\x02\n\x15PerformanceMaxUpgrade\x12K\n\x18performance_max_campaign\x18\x01 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/Campaign\x12G\n\x14pre_upgrade_campaign\x18\x02 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!googleads.googleapis.com/Campaign\x12p\n\x06status\x18\x03 \x01(\x0e\x32[.google.ads.googleads.v17.enums.PerformanceMaxUpgradeStatusEnum.PerformanceMaxUpgradeStatusB\x03\xe0\x41\x03\x1a\x8d\x03\n\x0fNetworkSettings\x12!\n\x14target_google_search\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\"\n\x15target_search_network\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12#\n\x16target_content_network\x18\x07 \x01(\x08H\x02\x88\x01\x01\x12*\n\x1dtarget_partner_search_network\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1b\n\x0etarget_youtube\x18\t \x01(\x08H\x04\x88\x01\x01\x12%\n\x18target_google_tv_network\x18\n \x01(\x08H\x05\x88\x01\x01\x42\x17\n\x15_target_google_searchB\x18\n\x16_target_search_networkB\x19\n\x17_target_content_networkB \n\x1e_target_partner_search_networkB\x11\n\x0f_target_youtubeB\x1b\n\x19_target_google_tv_network\x1aI\n\x10HotelSettingInfo\x12!\n\x0fhotel_center_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x12\n\x10_hotel_center_id\x1a\xc2\x01\n\x17\x44ynamicSearchAdsSetting\x12\x18\n\x0b\x64omain_name\x18\x06 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rlanguage_code\x18\x07 \x01(\tB\x03\xe0\x41\x02\x12#\n\x16use_supplied_urls_only\x18\x08 \x01(\x08H\x00\x88\x01\x01\x12\x31\n\x05\x66\x65\x65\x64s\x18\t \x03(\tB\"\xfa\x41\x1f\n\x1dgoogleads.googleapis.com/FeedB\x19\n\x17_use_supplied_urls_only\x1a\xb7\x02\n\x0fShoppingSetting\x12\x18\n\x0bmerchant_id\x18\x05 \x01(\x03H\x00\x88\x01\x01\x12\x12\n\nfeed_label\x18\n \x01(\t\x12\x1e\n\x11\x63\x61mpaign_priority\x18\x07 \x01(\x05H\x01\x88\x01\x01\x12\x19\n\x0c\x65nable_local\x18\x08 \x01(\x08H\x02\x88\x01\x01\x12\"\n\x15use_vehicle_inventory\x18\t \x01(\x08\x42\x03\xe0\x41\x05\x12$\n\x17\x61\x64vertising_partner_ids\x18\x0b \x03(\x03\x42\x03\xe0\x41\x05\x12!\n\x14\x64isable_product_feed\x18\x0c \x01(\x08H\x03\x88\x01\x01\x42\x0e\n\x0c_merchant_idB\x14\n\x12_campaign_priorityB\x0f\n\r_enable_localB\x17\n\x15_disable_product_feed\x1a\x42\n\x0fTrackingSetting\x12\x1e\n\x0ctracking_url\x18\x02 \x01(\tB\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x0f\n\r_tracking_url\x1a\xfc\x01\n\x14GeoTargetTypeSetting\x12q\n\x18positive_geo_target_type\x18\x01 \x01(\x0e\x32O.google.ads.googleads.v17.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType\x12q\n\x18negative_geo_target_type\x18\x02 \x01(\x0e\x32O.google.ads.googleads.v17.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType\x1a\x7f\n\x14LocalCampaignSetting\x12g\n\x14location_source_type\x18\x01 \x01(\x0e\x32I.google.ads.googleads.v17.enums.LocationSourceTypeEnum.LocationSourceType\x1a\xae\x02\n\x12\x41ppCampaignSetting\x12\x8d\x01\n\x1a\x62idding_strategy_goal_type\x18\x01 \x01(\x0e\x32i.google.ads.googleads.v17.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType\x12\x18\n\x06\x61pp_id\x18\x04 \x01(\tB\x03\xe0\x41\x05H\x00\x88\x01\x01\x12\x63\n\tapp_store\x18\x03 \x01(\x0e\x32K.google.ads.googleads.v17.enums.AppCampaignAppStoreEnum.AppCampaignAppStoreB\x03\xe0\x41\x05\x42\t\n\x07_app_id\x1a\xf5\x01\n\x0cVanityPharma\x12\x81\x01\n\x1evanity_pharma_display_url_mode\x18\x01 \x01(\x0e\x32Y.google.ads.googleads.v17.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode\x12\x61\n\x12vanity_pharma_text\x18\x02 \x01(\x0e\x32\x45.google.ads.googleads.v17.enums.VanityPharmaTextEnum.VanityPharmaText\x1a\x63\n\x15SelectiveOptimization\x12J\n\x12\x63onversion_actions\x18\x02 \x03(\tB.\xfa\x41+\n)googleads.googleapis.com/ConversionAction\x1a\x89\x01\n\x17OptimizationGoalSetting\x12n\n\x17optimization_goal_types\x18\x01 \x03(\x0e\x32M.google.ads.googleads.v17.enums.OptimizationGoalTypeEnum.OptimizationGoalType\x1aR\n\x0f\x41udienceSetting\x12&\n\x14use_audience_grouped\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x17\n\x15_use_audience_grouped\x1ap\n\x1dLocalServicesCampaignSettings\x12O\n\rcategory_bids\x18\x01 \x03(\x0b\x32\x38.google.ads.googleads.v17.resources.Campaign.CategoryBid\x1au\n\x0b\x43\x61tegoryBid\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\"\n\x15manual_cpa_bid_micros\x18\x02 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_category_idB\x18\n\x16_manual_cpa_bid_micros\x1aS\n\x16TravelCampaignSettings\x12#\n\x11travel_account_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x14\n\x12_travel_account_id\x1aX\n\x19\x44\x65mandGenCampaignSettings\x12$\n\x12upgraded_targeting\x18\x01 \x01(\x08\x42\x03\xe0\x41\x05H\x00\x88\x01\x01\x42\x15\n\x13_upgraded_targeting\x1a\xbf\x02\n\x15VideoCampaignSettings\x12~\n\x1avideo_ad_inventory_control\x18\x01 \x01(\x0b\x32Z.google.ads.googleads.v17.resources.Campaign.VideoCampaignSettings.VideoAdInventoryControl\x1a\xa5\x01\n\x17VideoAdInventoryControl\x12\x1c\n\x0f\x61llow_in_stream\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rallow_in_feed\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x19\n\x0c\x61llow_shorts\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x12\n\x10_allow_in_streamB\x10\n\x0e_allow_in_feedB\x0f\n\r_allow_shorts\x1a\xb6\x02\n\x16\x41ssetAutomationSetting\x12o\n\x15\x61sset_automation_type\x18\x01 \x01(\x0e\x32K.google.ads.googleads.v17.enums.AssetAutomationTypeEnum.AssetAutomationTypeH\x00\x88\x01\x01\x12u\n\x17\x61sset_automation_status\x18\x02 \x01(\x0e\x32O.google.ads.googleads.v17.enums.AssetAutomationStatusEnum.AssetAutomationStatusH\x01\x88\x01\x01\x42\x18\n\x16_asset_automation_typeB\x1a\n\x18_asset_automation_status:W\xea\x41T\n!googleads.googleapis.com/Campaign\x12/customers/{customer_id}/campaigns/{campaign_id}B\x1b\n\x19\x63\x61mpaign_bidding_strategyB\x05\n\x03_idB\x07\n\x05_nameB\x18\n\x16_tracking_url_templateB\x13\n\x11_audience_settingB\x10\n\x0e_base_campaignB\x12\n\x10_campaign_budgetB\r\n\x0b_start_dateB\x11\n\x0f_campaign_groupB\x0b\n\t_end_dateB\x13\n\x11_final_url_suffixB\x15\n\x13_optimization_scoreB\x18\n\x16_url_expansion_opt_outB\x1b\n\x19_hotel_property_asset_setB\x0f\n\r_listing_typeB\xff\x01\n&com.google.ads.googleads.v17.resourcesB\rCampaignProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -94,6 +94,8 @@ module Resources Campaign::CategoryBid = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.CategoryBid").msgclass Campaign::TravelCampaignSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.TravelCampaignSettings").msgclass Campaign::DemandGenCampaignSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.DemandGenCampaignSettings").msgclass + Campaign::VideoCampaignSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.VideoCampaignSettings").msgclass + Campaign::VideoCampaignSettings::VideoAdInventoryControl = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.VideoCampaignSettings.VideoAdInventoryControl").msgclass Campaign::AssetAutomationSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.Campaign.AssetAutomationSetting").msgclass end end diff --git a/lib/google/ads/google_ads/v17/resources/change_status_pb.rb b/lib/google/ads/google_ads/v17/resources/change_status_pb.rb index 92848139..7dad3596 100644 --- a/lib/google/ads/google_ads/v17/resources/change_status_pb.rb +++ b/lib/google/ads/google_ads/v17/resources/change_status_pb.rb @@ -10,7 +10,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n6google/ads/googleads/v17/resources/change_status.proto\x12\"google.ads.googleads.v17.resources\x1a\n\nshared_set\x18! \x01(\tB*\xe0\x41\x03\xfa\x41$\n\"googleads.googleapis.com/SharedSet\x12O\n\x13\x63\x61mpaign_shared_set\x18\" \x01(\tB2\xe0\x41\x03\xfa\x41,\n*googleads.googleapis.com/CampaignSharedSet\x12\x35\n\x05\x61sset\x18# \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1egoogleads.googleapis.com/Asset\x12\x46\n\x0e\x63ustomer_asset\x18$ \x01(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CustomerAsset\x12\x46\n\x0e\x63\x61mpaign_asset\x18% \x01(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CampaignAsset\x12\x45\n\x0e\x61\x64_group_asset\x18& \x01(\tB-\xe0\x41\x03\xfa\x41\'\n%googleads.googleapis.com/AdGroupAsset\x12L\n\x11\x63ombined_audience\x18( \x01(\tB1\xe0\x41\x03\xfa\x41+\n)googleads.googleapis.com/CombinedAudience:c\xea\x41`\n%googleads.googleapis.com/ChangeStatus\x12\x37\x63ustomers/{customer_id}/changeStatus/{change_status_id}B\x18\n\x16_last_change_date_timeB\x0b\n\t_campaignB\x0b\n\t_ad_groupB\x0e\n\x0c_ad_group_adB\x15\n\x13_ad_group_criterionB\x15\n\x13_campaign_criterionB\x07\n\x05_feedB\x0c\n\n_feed_itemB\x10\n\x0e_ad_group_feedB\x10\n\x0e_campaign_feedB\x18\n\x16_ad_group_bid_modifierB\x83\x02\n&com.google.ads.googleads.v17.resourcesB\x11\x43hangeStatusProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" +descriptor_data = "\n6google/ads/googleads/v17/resources/change_status.proto\x12\"google.ads.googleads.v17.resources\x1a\n\nshared_set\x18! \x01(\tB*\xe0\x41\x03\xfa\x41$\n\"googleads.googleapis.com/SharedSet\x12O\n\x13\x63\x61mpaign_shared_set\x18\" \x01(\tB2\xe0\x41\x03\xfa\x41,\n*googleads.googleapis.com/CampaignSharedSet\x12\x35\n\x05\x61sset\x18# \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1egoogleads.googleapis.com/Asset\x12\x46\n\x0e\x63ustomer_asset\x18$ \x01(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CustomerAsset\x12\x46\n\x0e\x63\x61mpaign_asset\x18% \x01(\tB.\xe0\x41\x03\xfa\x41(\n&googleads.googleapis.com/CampaignAsset\x12\x45\n\x0e\x61\x64_group_asset\x18& \x01(\tB-\xe0\x41\x03\xfa\x41\'\n%googleads.googleapis.com/AdGroupAsset\x12L\n\x11\x63ombined_audience\x18( \x01(\tB1\xe0\x41\x03\xfa\x41+\n)googleads.googleapis.com/CombinedAudience\x12@\n\x0b\x61sset_group\x18) \x01(\tB+\xe0\x41\x03\xfa\x41%\n#googleads.googleapis.com/AssetGroup:c\xea\x41`\n%googleads.googleapis.com/ChangeStatus\x12\x37\x63ustomers/{customer_id}/changeStatus/{change_status_id}B\x18\n\x16_last_change_date_timeB\x0b\n\t_campaignB\x0b\n\t_ad_groupB\x0e\n\x0c_ad_group_adB\x15\n\x13_ad_group_criterionB\x15\n\x13_campaign_criterionB\x07\n\x05_feedB\x0c\n\n_feed_itemB\x10\n\x0e_ad_group_feedB\x10\n\x0e_campaign_feedB\x18\n\x16_ad_group_bid_modifierB\x83\x02\n&com.google.ads.googleads.v17.resourcesB\x11\x43hangeStatusProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb b/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb index 7b16028a..2b343638 100644 --- a/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb +++ b/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb @@ -20,7 +20,7 @@ require 'google/api/resource_pb' -descriptor_data = "\nQgoogle/ads/googleads/v17/resources/offline_conversion_upload_client_summary.proto\x12\"google.ads.googleads.v17.resources\x1aNgoogle/ads/googleads/v17/enums/offline_conversion_diagnostic_status_enum.proto\x1a\x45google/ads/googleads/v17/enums/offline_event_upload_client_enum.proto\x1a;google/ads/googleads/v17/errors/collection_size_error.proto\x1aHgoogle/ads/googleads/v17/errors/conversion_adjustment_upload_error.proto\x1a=google/ads/googleads/v17/errors/conversion_upload_error.proto\x1a\x30google/ads/googleads/v17/errors/date_error.proto\x1a\x34google/ads/googleads/v17/errors/distinct_error.proto\x1a\x31google/ads/googleads/v17/errors/field_error.proto\x1a\x32google/ads/googleads/v17/errors/mutate_error.proto\x1a;google/ads/googleads/v17/errors/not_allowlisted_error.proto\x1a\x39google/ads/googleads/v17/errors/string_format_error.proto\x1a\x39google/ads/googleads/v17/errors/string_length_error.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\x88\x07\n$OfflineConversionUploadClientSummary\x12\\\n\rresource_name\x18\x01 \x01(\tBE\xe0\x41\x03\xfa\x41?\n=googleads.googleapis.com/OfflineConversionUploadClientSummary\x12j\n\x06\x63lient\x18\x02 \x01(\x0e\x32U.google.ads.googleads.v17.enums.OfflineEventUploadClientEnum.OfflineEventUploadClientB\x03\xe0\x41\x03\x12|\n\x06status\x18\x03 \x01(\x0e\x32g.google.ads.googleads.v17.enums.OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatusB\x03\xe0\x41\x03\x12\x1e\n\x11total_event_count\x18\x04 \x01(\x03\x42\x03\xe0\x41\x03\x12#\n\x16successful_event_count\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0csuccess_rate\x18\x06 \x01(\x01\x42\x03\xe0\x41\x03\x12\"\n\x15last_upload_date_time\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12Z\n\x0f\x64\x61ily_summaries\x18\x08 \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12X\n\rjob_summaries\x18\t \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12O\n\x06\x61lerts\x18\n \x03(\x0b\x32:.google.ads.googleads.v17.resources.OfflineConversionAlertB\x03\xe0\x41\x03:\x8c\x01\xea\x41\x88\x01\n=googleads.googleapis.com/OfflineConversionUploadClientSummary\x12Gcustomers/{customer_id}/offlineConversionUploadClientSummaries/{client}\"\x98\x01\n\x18OfflineConversionSummary\x12\x1d\n\x10successful_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0c\x66\x61iled_count\x18\x04 \x01(\x03\x42\x03\xe0\x41\x03\x12\x15\n\x06job_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03H\x00\x12\x1a\n\x0bupload_date\x18\x02 \x01(\tB\x03\xe0\x41\x03H\x00\x42\x0f\n\rdimension_key\"\x87\x01\n\x16OfflineConversionAlert\x12N\n\x05\x65rror\x18\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.OfflineConversionErrorB\x03\xe0\x41\x03\x12\x1d\n\x10\x65rror_percentage\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\"\xe7\x08\n\x16OfflineConversionError\x12r\n\x15\x63ollection_size_error\x18\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CollectionSizeErrorEnum.CollectionSizeErrorB\x03\xe0\x41\x03H\x00\x12\x97\x01\n\"conversion_adjustment_upload_error\x18\x02 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadErrorB\x03\xe0\x41\x03H\x00\x12x\n\x17\x63onversion_upload_error\x18\x03 \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionUploadErrorEnum.ConversionUploadErrorB\x03\xe0\x41\x03H\x00\x12S\n\ndate_error\x18\x04 \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.DateErrorEnum.DateErrorB\x03\xe0\x41\x03H\x00\x12_\n\x0e\x64istinct_error\x18\x05 \x01(\x0e\x32@.google.ads.googleads.v17.errors.DistinctErrorEnum.DistinctErrorB\x03\xe0\x41\x03H\x00\x12V\n\x0b\x66ield_error\x18\x06 \x01(\x0e\x32:.google.ads.googleads.v17.errors.FieldErrorEnum.FieldErrorB\x03\xe0\x41\x03H\x00\x12Y\n\x0cmutate_error\x18\x07 \x01(\x0e\x32<.google.ads.googleads.v17.errors.MutateErrorEnum.MutateErrorB\x03\xe0\x41\x03H\x00\x12r\n\x15not_allowlisted_error\x18\x08 \x01(\x0e\x32L.google.ads.googleads.v17.errors.NotAllowlistedErrorEnum.NotAllowlistedErrorB\x03\xe0\x41\x03H\x00\x12l\n\x13string_format_error\x18\t \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringFormatErrorEnum.StringFormatErrorB\x03\xe0\x41\x03H\x00\x12l\n\x13string_length_error\x18\n \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringLengthErrorEnum.StringLengthErrorB\x03\xe0\x41\x03H\x00\x42\x0c\n\nerror_codeB\x9b\x02\n&com.google.ads.googleads.v17.resourcesB)OfflineConversionUploadClientSummaryProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" +descriptor_data = "\nQgoogle/ads/googleads/v17/resources/offline_conversion_upload_client_summary.proto\x12\"google.ads.googleads.v17.resources\x1aNgoogle/ads/googleads/v17/enums/offline_conversion_diagnostic_status_enum.proto\x1a\x45google/ads/googleads/v17/enums/offline_event_upload_client_enum.proto\x1a;google/ads/googleads/v17/errors/collection_size_error.proto\x1aHgoogle/ads/googleads/v17/errors/conversion_adjustment_upload_error.proto\x1a=google/ads/googleads/v17/errors/conversion_upload_error.proto\x1a\x30google/ads/googleads/v17/errors/date_error.proto\x1a\x34google/ads/googleads/v17/errors/distinct_error.proto\x1a\x31google/ads/googleads/v17/errors/field_error.proto\x1a\x32google/ads/googleads/v17/errors/mutate_error.proto\x1a;google/ads/googleads/v17/errors/not_allowlisted_error.proto\x1a\x39google/ads/googleads/v17/errors/string_format_error.proto\x1a\x39google/ads/googleads/v17/errors/string_length_error.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\xc5\x07\n$OfflineConversionUploadClientSummary\x12\\\n\rresource_name\x18\x01 \x01(\tBE\xe0\x41\x03\xfa\x41?\n=googleads.googleapis.com/OfflineConversionUploadClientSummary\x12j\n\x06\x63lient\x18\x02 \x01(\x0e\x32U.google.ads.googleads.v17.enums.OfflineEventUploadClientEnum.OfflineEventUploadClientB\x03\xe0\x41\x03\x12|\n\x06status\x18\x03 \x01(\x0e\x32g.google.ads.googleads.v17.enums.OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatusB\x03\xe0\x41\x03\x12\x1e\n\x11total_event_count\x18\x04 \x01(\x03\x42\x03\xe0\x41\x03\x12#\n\x16successful_event_count\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0csuccess_rate\x18\x06 \x01(\x01\x42\x03\xe0\x41\x03\x12 \n\x13pending_event_count\x18\x0b \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0cpending_rate\x18\x0c \x01(\x01\x42\x03\xe0\x41\x03\x12\"\n\x15last_upload_date_time\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12Z\n\x0f\x64\x61ily_summaries\x18\x08 \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12X\n\rjob_summaries\x18\t \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12O\n\x06\x61lerts\x18\n \x03(\x0b\x32:.google.ads.googleads.v17.resources.OfflineConversionAlertB\x03\xe0\x41\x03:\x8c\x01\xea\x41\x88\x01\n=googleads.googleapis.com/OfflineConversionUploadClientSummary\x12Gcustomers/{customer_id}/offlineConversionUploadClientSummaries/{client}\"\xb4\x01\n\x18OfflineConversionSummary\x12\x1d\n\x10successful_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0c\x66\x61iled_count\x18\x04 \x01(\x03\x42\x03\xe0\x41\x03\x12\x1a\n\rpending_count\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12\x15\n\x06job_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03H\x00\x12\x1a\n\x0bupload_date\x18\x02 \x01(\tB\x03\xe0\x41\x03H\x00\x42\x0f\n\rdimension_key\"\x87\x01\n\x16OfflineConversionAlert\x12N\n\x05\x65rror\x18\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.OfflineConversionErrorB\x03\xe0\x41\x03\x12\x1d\n\x10\x65rror_percentage\x18\x02 \x01(\x01\x42\x03\xe0\x41\x03\"\xe7\x08\n\x16OfflineConversionError\x12r\n\x15\x63ollection_size_error\x18\x01 \x01(\x0e\x32L.google.ads.googleads.v17.errors.CollectionSizeErrorEnum.CollectionSizeErrorB\x03\xe0\x41\x03H\x00\x12\x97\x01\n\"conversion_adjustment_upload_error\x18\x02 \x01(\x0e\x32\x64.google.ads.googleads.v17.errors.ConversionAdjustmentUploadErrorEnum.ConversionAdjustmentUploadErrorB\x03\xe0\x41\x03H\x00\x12x\n\x17\x63onversion_upload_error\x18\x03 \x01(\x0e\x32P.google.ads.googleads.v17.errors.ConversionUploadErrorEnum.ConversionUploadErrorB\x03\xe0\x41\x03H\x00\x12S\n\ndate_error\x18\x04 \x01(\x0e\x32\x38.google.ads.googleads.v17.errors.DateErrorEnum.DateErrorB\x03\xe0\x41\x03H\x00\x12_\n\x0e\x64istinct_error\x18\x05 \x01(\x0e\x32@.google.ads.googleads.v17.errors.DistinctErrorEnum.DistinctErrorB\x03\xe0\x41\x03H\x00\x12V\n\x0b\x66ield_error\x18\x06 \x01(\x0e\x32:.google.ads.googleads.v17.errors.FieldErrorEnum.FieldErrorB\x03\xe0\x41\x03H\x00\x12Y\n\x0cmutate_error\x18\x07 \x01(\x0e\x32<.google.ads.googleads.v17.errors.MutateErrorEnum.MutateErrorB\x03\xe0\x41\x03H\x00\x12r\n\x15not_allowlisted_error\x18\x08 \x01(\x0e\x32L.google.ads.googleads.v17.errors.NotAllowlistedErrorEnum.NotAllowlistedErrorB\x03\xe0\x41\x03H\x00\x12l\n\x13string_format_error\x18\t \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringFormatErrorEnum.StringFormatErrorB\x03\xe0\x41\x03H\x00\x12l\n\x13string_length_error\x18\n \x01(\x0e\x32H.google.ads.googleads.v17.errors.StringLengthErrorEnum.StringLengthErrorB\x03\xe0\x41\x03H\x00\x42\x0c\n\nerror_codeB\x9b\x02\n&com.google.ads.googleads.v17.resourcesB)OfflineConversionUploadClientSummaryProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb.rb b/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb.rb new file mode 100644 index 00000000..af51ea74 --- /dev/null +++ b/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/resources/offline_conversion_upload_conversion_action_summary.proto + +require 'google/protobuf' + +require 'google/ads/google_ads/v17/enums/offline_conversion_diagnostic_status_enum_pb' +require 'google/ads/google_ads/v17/enums/offline_event_upload_client_enum_pb' +require 'google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb' +require 'google/api/field_behavior_pb' +require 'google/api/resource_pb' + + +descriptor_data = "\n\\google/ads/googleads/v17/resources/offline_conversion_upload_conversion_action_summary.proto\x12\"google.ads.googleads.v17.resources\x1aNgoogle/ads/googleads/v17/enums/offline_conversion_diagnostic_status_enum.proto\x1a\x45google/ads/googleads/v17/enums/offline_event_upload_client_enum.proto\x1aQgoogle/ads/googleads/v17/resources/offline_conversion_upload_client_summary.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\x94\x08\n.OfflineConversionUploadConversionActionSummary\x12\x66\n\rresource_name\x18\x01 \x01(\tBO\xe0\x41\x03\xfa\x41I\nGgoogleads.googleapis.com/OfflineConversionUploadConversionActionSummary\x12j\n\x06\x63lient\x18\x02 \x01(\x0e\x32U.google.ads.googleads.v17.enums.OfflineEventUploadClientEnum.OfflineEventUploadClientB\x03\xe0\x41\x03\x12!\n\x14\x63onversion_action_id\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03\x12#\n\x16\x63onversion_action_name\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12|\n\x06status\x18\x05 \x01(\x0e\x32g.google.ads.googleads.v17.enums.OfflineConversionDiagnosticStatusEnum.OfflineConversionDiagnosticStatusB\x03\xe0\x41\x03\x12\x1e\n\x11total_event_count\x18\x06 \x01(\x03\x42\x03\xe0\x41\x03\x12#\n\x16successful_event_count\x18\x07 \x01(\x03\x42\x03\xe0\x41\x03\x12 \n\x13pending_event_count\x18\x08 \x01(\x03\x42\x03\xe0\x41\x03\x12\"\n\x15last_upload_date_time\x18\t \x01(\tB\x03\xe0\x41\x03\x12Z\n\x0f\x64\x61ily_summaries\x18\n \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12X\n\rjob_summaries\x18\x0b \x03(\x0b\x32<.google.ads.googleads.v17.resources.OfflineConversionSummaryB\x03\xe0\x41\x03\x12O\n\x06\x61lerts\x18\x0c \x03(\x0b\x32:.google.ads.googleads.v17.resources.OfflineConversionAlertB\x03\xe0\x41\x03:\xb5\x01\xea\x41\xb1\x01\nGgoogleads.googleapis.com/OfflineConversionUploadConversionActionSummary\x12\x66\x63ustomers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_type_id}~{client}B\xa5\x02\n&com.google.ads.googleads.v17.resourcesB3OfflineConversionUploadConversionActionSummaryProtoP\x01ZKgoogle.golang.org/genproto/googleapis/ads/googleads/v17/resources;resources\xa2\x02\x03GAA\xaa\x02\"Google.Ads.GoogleAds.V17.Resources\xca\x02\"Google\\Ads\\GoogleAds\\V17\\Resources\xea\x02&Google::Ads::GoogleAds::V17::Resourcesb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.ads.googleads.v17.resources.OfflineConversionSummary", "google/ads/googleads/v17/resources/offline_conversion_upload_client_summary.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Resources + OfflineConversionUploadConversionActionSummary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.resources.OfflineConversionUploadConversionActionSummary").msgclass + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/services.rb b/lib/google/ads/google_ads/v17/services.rb index d534ac22..2f8b9c2b 100644 --- a/lib/google/ads/google_ads/v17/services.rb +++ b/lib/google/ads/google_ads/v17/services.rb @@ -124,6 +124,7 @@ require "google/ads/google_ads/v17/services/product_link_service" require "google/ads/google_ads/v17/services/reach_plan_service" require "google/ads/google_ads/v17/services/recommendation_service" +require "google/ads/google_ads/v17/services/shareable_preview_service" require "google/ads/google_ads/v17/services/smart_campaign_suggest_service" require "google/ads/google_ads/v17/services/third_party_app_analytics_link_service" require "google/ads/google_ads/v17/services/travel_asset_suggestion_service" diff --git a/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb b/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb index 611ea6d7..8564b405 100644 --- a/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb +++ b/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb @@ -308,6 +308,108 @@ def mutate_ad_group_ads request, options = nil # raise Google::Ads::GoogleAds::Error.new grpc_error.message end + ## + # Remove automatically created assets from an ad. + # + # List of thrown errors: + # [AdError]() + # [AuthenticationError]() + # [AuthorizationError]() + # [AutomaticallyCreatedAssetRemovalError]() + # [HeaderError]() + # [InternalError]() + # [MutateError]() + # [QuotaError]() + # [RequestError]() + # + # @overload remove_automatically_created_assets(request, options = nil) + # Pass arguments to `remove_automatically_created_assets` via a request object, either of type + # {::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest} or an equivalent Hash. + # + # @param request [::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload remove_automatically_created_assets(ad_group_ad: nil, assets_with_field_type: nil) + # Pass arguments to `remove_automatically_created_assets` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param ad_group_ad [::String] + # Required. The resource name of the AdGroupAd from which to remove + # automatically created assets. + # @param assets_with_field_type [::Array<::Google::Ads::GoogleAds::V17::Services::AssetsWithFieldType, ::Hash>] + # Required. List of assets with field type to be removed from the AdGroupAd. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Protobuf::Empty] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Protobuf::Empty] + # + # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/ads/google_ads/v17/services" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Ads::GoogleAds::V17::Services::AdGroupAdService::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest.new + # + # # Call the remove_automatically_created_assets method. + # result = client.remove_automatically_created_assets request + # + # # The returned object is of type Google::Protobuf::Empty. + # p result + # + def remove_automatically_created_assets request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, + to: ::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.remove_automatically_created_assets.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Ads::GoogleAds::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.ad_group_ad + header_params["ad_group_ad"] = request.ad_group_ad + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.remove_automatically_created_assets.timeout, + metadata: metadata, + retry_policy: @config.rpcs.remove_automatically_created_assets.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @ad_group_ad_service_stub.call_rpc :remove_automatically_created_assets, request, + options: options do |response, operation| + yield response, operation if block_given? + return response + end + # rescue GRPC::BadStatus => grpc_error + # raise Google::Ads::GoogleAds::Error.new grpc_error.message + end + ## # Configuration class for the AdGroupAdService API. # @@ -467,11 +569,18 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :mutate_ad_group_ads + ## + # RPC-specific configuration for `remove_automatically_created_assets` + # @return [::Gapic::Config::Method] + # + attr_reader :remove_automatically_created_assets # @private def initialize parent_rpcs = nil mutate_ad_group_ads_config = parent_rpcs.mutate_ad_group_ads if parent_rpcs.respond_to? :mutate_ad_group_ads @mutate_ad_group_ads = ::Gapic::Config::Method.new mutate_ad_group_ads_config + remove_automatically_created_assets_config = parent_rpcs.remove_automatically_created_assets if parent_rpcs.respond_to? :remove_automatically_created_assets + @remove_automatically_created_assets = ::Gapic::Config::Method.new remove_automatically_created_assets_config yield self if block_given? end diff --git a/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb b/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb index 9ef2a649..10fc474f 100644 --- a/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb +++ b/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb @@ -99,6 +99,23 @@ def ad_group_ad_label_path customer_id:, ad_group_id:, ad_id:, label_id: "customers/#{customer_id}/adGroupAdLabels/#{ad_group_id}~#{ad_id}~#{label_id}" end + ## + # Create a fully-qualified Asset resource string. + # + # The resource will be in the following format: + # + # `customers/{customer_id}/assets/{asset_id}` + # + # @param customer_id [String] + # @param asset_id [String] + # + # @return [::String] + def asset_path customer_id:, asset_id: + raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/" + + "customers/#{customer_id}/assets/#{asset_id}" + end + extend self end end diff --git a/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb b/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb index c5141eca..e4db2f9e 100644 --- a/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb +++ b/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb @@ -5,17 +5,19 @@ require 'google/protobuf' require 'google/ads/google_ads/v17/common/policy_pb' +require 'google/ads/google_ads/v17/enums/asset_field_type_pb' require 'google/ads/google_ads/v17/enums/response_content_type_pb' require 'google/ads/google_ads/v17/resources/ad_group_ad_pb' require 'google/api/annotations_pb' require 'google/api/client_pb' require 'google/api/field_behavior_pb' require 'google/api/resource_pb' +require 'google/protobuf/empty_pb' require 'google/protobuf/field_mask_pb' require 'google/rpc/status_pb' -descriptor_data = "\n;google/ads/googleads/v17/services/ad_group_ad_service.proto\x12!google.ads.googleads.v17.services\x1a,google/ads/googleads/v17/common/policy.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x17google/rpc/status.proto\"\x9f\x02\n\x17MutateAdGroupAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12N\n\noperations\x18\x02 \x03(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xf0\x02\n\x12\x41\x64GroupAdOperation\x12/\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12_\n\x1bpolicy_validation_parameter\x18\x05 \x01(\x0b\x32:.google.ads.googleads.v17.common.PolicyValidationParameter\x12?\n\x06\x63reate\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12?\n\x06update\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12\x39\n\x06remove\x18\x03 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAdH\x00\x42\x0b\n\toperation\"\x98\x01\n\x18MutateAdGroupAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12I\n\x07results\x18\x02 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResult\"\x9b\x01\n\x15MutateAdGroupAdResult\x12>\n\rresource_name\x18\x01 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12\x42\n\x0b\x61\x64_group_ad\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAd2\xbd\x02\n\x10\x41\x64GroupAdService\x12\xe1\x01\n\x10MutateAdGroupAds\x12:.google.ads.googleads.v17.services.MutateAdGroupAdsRequest\x1a;.google.ads.googleads.v17.services.MutateAdGroupAdsResponse\"T\xda\x41\x16\x63ustomer_id,operations\x82\xd3\xe4\x93\x02\x35\"0/v17/customers/{customer_id=*}/adGroupAds:mutate:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15\x41\x64GroupAdServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" +descriptor_data = "\n;google/ads/googleads/v17/services/ad_group_ad_service.proto\x12!google.ads.googleads.v17.services\x1a,google/ads/googleads/v17/common/policy.proto\x1a\x35google/ads/googleads/v17/enums/asset_field_type.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x17google/rpc/status.proto\"\x9f\x02\n\x17MutateAdGroupAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12N\n\noperations\x18\x02 \x03(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xf0\x02\n\x12\x41\x64GroupAdOperation\x12/\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12_\n\x1bpolicy_validation_parameter\x18\x05 \x01(\x0b\x32:.google.ads.googleads.v17.common.PolicyValidationParameter\x12?\n\x06\x63reate\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12?\n\x06update\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12\x39\n\x06remove\x18\x03 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAdH\x00\x42\x0b\n\toperation\"\x98\x01\n\x18MutateAdGroupAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12I\n\x07results\x18\x02 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResult\"\x9b\x01\n\x15MutateAdGroupAdResult\x12>\n\rresource_name\x18\x01 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12\x42\n\x0b\x61\x64_group_ad\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAd\"\xc7\x01\n\'RemoveAutomaticallyCreatedAssetsRequest\x12?\n\x0b\x61\x64_group_ad\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12[\n\x16\x61ssets_with_field_type\x18\x02 \x03(\x0b\x32\x36.google.ads.googleads.v17.services.AssetsWithFieldTypeB\x03\xe0\x41\x02\"\xae\x01\n\x13\x41ssetsWithFieldType\x12\x35\n\x05\x61sset\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1egoogleads.googleapis.com/Asset\x12`\n\x10\x61sset_field_type\x18\x02 \x01(\x0e\x32\x41.google.ads.googleads.v17.enums.AssetFieldTypeEnum.AssetFieldTypeB\x03\xe0\x41\x02\x32\xc4\x04\n\x10\x41\x64GroupAdService\x12\xe1\x01\n\x10MutateAdGroupAds\x12:.google.ads.googleads.v17.services.MutateAdGroupAdsRequest\x1a;.google.ads.googleads.v17.services.MutateAdGroupAdsResponse\"T\xda\x41\x16\x63ustomer_id,operations\x82\xd3\xe4\x93\x02\x35\"0/v17/customers/{customer_id=*}/adGroupAds:mutate:\x01*\x12\x84\x02\n RemoveAutomaticallyCreatedAssets\x12J.google.ads.googleads.v17.services.RemoveAutomaticallyCreatedAssetsRequest\x1a\x16.google.protobuf.Empty\"|\xda\x41\"ad_group_ad,assets_with_field_type\x82\xd3\xe4\x93\x02Q\"L/v17/{ad_group_ad=customers/*/adGroupAds/*}:removeAutomaticallyCreatedAssets:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15\x41\x64GroupAdServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -54,6 +56,8 @@ module Services AdGroupAdOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AdGroupAdOperation").msgclass MutateAdGroupAdsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.MutateAdGroupAdsResponse").msgclass MutateAdGroupAdResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.MutateAdGroupAdResult").msgclass + RemoveAutomaticallyCreatedAssetsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.RemoveAutomaticallyCreatedAssetsRequest").msgclass + AssetsWithFieldType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AssetsWithFieldType").msgclass end end end diff --git a/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb b/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb index c6841c1e..1c45c75c 100644 --- a/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb +++ b/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb @@ -83,6 +83,19 @@ class Service # [StringLengthError]() # [UrlFieldError]() rpc :MutateAdGroupAds, ::Google::Ads::GoogleAds::V17::Services::MutateAdGroupAdsRequest, ::Google::Ads::GoogleAds::V17::Services::MutateAdGroupAdsResponse + # Remove automatically created assets from an ad. + # + # List of thrown errors: + # [AdError]() + # [AuthenticationError]() + # [AuthorizationError]() + # [AutomaticallyCreatedAssetRemovalError]() + # [HeaderError]() + # [InternalError]() + # [MutateError]() + # [QuotaError]() + # [RequestError]() + rpc :RemoveAutomaticallyCreatedAssets, ::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest, ::Google::Protobuf::Empty end Stub = Service.rpc_stub_class diff --git a/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb b/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb index f4dffd42..d95353cb 100644 --- a/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb +++ b/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb @@ -292,7 +292,7 @@ def generate_insights_finder_report request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload list_audience_insights_attributes(customer_id: nil, dimensions: nil, query_text: nil, customer_insights_group: nil, location_country_filters: nil) + # @overload list_audience_insights_attributes(customer_id: nil, dimensions: nil, query_text: nil, customer_insights_group: nil, location_country_filters: nil, youtube_reach_location: nil) # Pass arguments to `list_audience_insights_attributes` via keyword arguments. Note that at # least one keyword argument is required. To specify no parameters, or to keep all # the default parameter values, pass an empty Hash as a request object (see above). @@ -315,6 +315,12 @@ def generate_insights_finder_report request, options = nil # will be located in these countries. If this field is absent, then location # attributes are not filtered by country. Setting this field when # SUB_COUNTRY_LOCATION attributes are not requested will return an error. + # @param youtube_reach_location [::Google::Ads::GoogleAds::V17::Common::LocationInfo, ::Hash] + # If present, potential YouTube reach estimates within the specified market + # will be returned for attributes for which they are available. Reach is + # only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and + # IN_MARKET_USER_INTEREST dimensions, and may not be available for every + # attribute of those dimensions in every market. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::ListAudienceInsightsAttributesResponse] @@ -692,6 +698,120 @@ def generate_suggested_targeting_insights request, options = nil # raise Google::Ads::GoogleAds::Error.new grpc_error.message end + ## + # Returns a collection of audience attributes along with estimates of the + # overlap between their potential YouTube reach and that of a given input + # attribute. + # + # List of thrown errors: + # [AudienceInsightsError]() + # [AuthenticationError]() + # [AuthorizationError]() + # [FieldError]() + # [HeaderError]() + # [InternalError]() + # [QuotaError]() + # [RangeError]() + # [RequestError]() + # + # @overload generate_audience_overlap_insights(request, options = nil) + # Pass arguments to `generate_audience_overlap_insights` via a request object, either of type + # {::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest} or an equivalent Hash. + # + # @param request [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload generate_audience_overlap_insights(customer_id: nil, country_location: nil, primary_attribute: nil, dimensions: nil, customer_insights_group: nil) + # Pass arguments to `generate_audience_overlap_insights` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param customer_id [::String] + # Required. The ID of the customer. + # @param country_location [::Google::Ads::GoogleAds::V17::Common::LocationInfo, ::Hash] + # Required. The country in which to calculate the sizes and overlaps of + # audiences. + # @param primary_attribute [::Google::Ads::GoogleAds::V17::Services::AudienceInsightsAttribute, ::Hash] + # Required. The audience attribute that should be intersected with all other + # eligible audiences. This must be an Affinity or In-Market UserInterest, an + # AgeRange or a Gender. + # @param dimensions [::Array<::Google::Ads::GoogleAds::V17::Enums::AudienceInsightsDimensionEnum::AudienceInsightsDimension>] + # Required. The types of attributes of which to calculate the overlap with + # the primary_attribute. The values must be a subset of + # AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER. + # @param customer_insights_group [::String] + # The name of the customer being planned for. This is a user-defined value. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse] + # + # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/ads/google_ads/v17/services" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Ads::GoogleAds::V17::Services::AudienceInsightsService::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest.new + # + # # Call the generate_audience_overlap_insights method. + # result = client.generate_audience_overlap_insights request + # + # # The returned object is of type Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse. + # p result + # + def generate_audience_overlap_insights request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, + to: ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.generate_audience_overlap_insights.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Ads::GoogleAds::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.customer_id + header_params["customer_id"] = request.customer_id + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.generate_audience_overlap_insights.timeout, + metadata: metadata, + retry_policy: @config.rpcs.generate_audience_overlap_insights.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @audience_insights_service_stub.call_rpc :generate_audience_overlap_insights, request, + options: options do |response, operation| + yield response, operation if block_given? + return response + end + # rescue GRPC::BadStatus => grpc_error + # raise Google::Ads::GoogleAds::Error.new grpc_error.message + end + ## # Configuration class for the AudienceInsightsService API. # @@ -871,6 +991,11 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :generate_suggested_targeting_insights + ## + # RPC-specific configuration for `generate_audience_overlap_insights` + # @return [::Gapic::Config::Method] + # + attr_reader :generate_audience_overlap_insights # @private def initialize parent_rpcs = nil @@ -884,6 +1009,8 @@ def initialize parent_rpcs = nil @generate_audience_composition_insights = ::Gapic::Config::Method.new generate_audience_composition_insights_config generate_suggested_targeting_insights_config = parent_rpcs.generate_suggested_targeting_insights if parent_rpcs.respond_to? :generate_suggested_targeting_insights @generate_suggested_targeting_insights = ::Gapic::Config::Method.new generate_suggested_targeting_insights_config + generate_audience_overlap_insights_config = parent_rpcs.generate_audience_overlap_insights if parent_rpcs.respond_to? :generate_audience_overlap_insights + @generate_audience_overlap_insights = ::Gapic::Config::Method.new generate_audience_overlap_insights_config yield self if block_given? end diff --git a/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb b/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb index fd9e6fcb..af116bf6 100644 --- a/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb +++ b/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb @@ -12,7 +12,7 @@ require 'google/api/field_behavior_pb' -descriptor_data = "\nAgoogle/ads/googleads/v17/services/audience_insights_service.proto\x12!google.ads.googleads.v17.services\x1a.google/ads/googleads/v17/common/criteria.proto\x1a+google/ads/googleads/v17/common/dates.proto\x1a@google/ads/googleads/v17/enums/audience_insights_dimension.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x94\x02\n#GenerateInsightsFinderReportRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12X\n\x11\x62\x61seline_audience\x18\x02 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12X\n\x11specific_audience\x18\x03 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\"@\n$GenerateInsightsFinderReportResponse\x12\x18\n\x10saved_report_url\x18\x01 \x01(\t\"\x89\x03\n*GenerateAudienceCompositionInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12N\n\x11\x62\x61seline_audience\x18\x06 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudience\x12\x12\n\ndata_month\x18\x03 \x01(\t\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"~\n+GenerateAudienceCompositionInsightsResponse\x12O\n\x08sections\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionSection\"\xa5\x02\n)GenerateSuggestedTargetingInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12S\n\x11\x62\x61seline_audience\x18\x03 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x01\x12\x17\n\ndata_month\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12$\n\x17\x63ustomer_insights_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n*GenerateSuggestedTargetingInsightsResponse\x12R\n\x0bsuggestions\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.TargetingSuggestionMetrics\"\x95\x03\n\x1aTargetingSuggestionMetrics\x12W\n\tlocations\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x41\n\nage_ranges\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\\\n\x0euser_interests\x18\x04 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x10\n\x08\x63overage\x18\x05 \x01(\x01\x12\r\n\x05index\x18\x06 \x01(\x01\x12\x1f\n\x17potential_youtube_reach\x18\x07 \x01(\x03\"\xbe\x02\n%ListAudienceInsightsAttributesRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x02 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x17\n\nquery_text\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\x12O\n\x18location_country_filters\x18\x05 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x82\x01\n&ListAudienceInsightsAttributesResponse\x12X\n\nattributes\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\"\"\n ListInsightsEligibleDatesRequest\"~\n!ListInsightsEligibleDatesResponse\x12\x13\n\x0b\x64\x61ta_months\x18\x01 \x03(\t\x12\x44\n\x10last_thirty_days\x18\x02 \x01(\x0b\x32*.google.ads.googleads.v17.common.DateRange\"\x9e\x06\n\x19\x41udienceInsightsAttribute\x12\x42\n\tage_range\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfoH\x00\x12=\n\x06gender\x18\x02 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfoH\x00\x12\x41\n\x08location\x18\x03 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoH\x00\x12J\n\ruser_interest\x18\x04 \x01(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfoH\x00\x12K\n\x06\x65ntity\x18\x05 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x12Z\n\x0e\x64ynamic_lineup\x18\x07 \x01(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineupH\x00\x12N\n\x0fparental_status\x18\x08 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfoH\x00\x12H\n\x0cincome_range\x18\t \x01(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfoH\x00\x12N\n\x0fyoutube_channel\x18\n \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfoH\x00\x42\x0b\n\tattribute\"\xbe\x01\n\x15\x41udienceInsightsTopic\x12K\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x02 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x42\x07\n\x05topic\"A\n\x16\x41udienceInsightsEntity\x12\'\n\x1aknowledge_graph_machine_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"4\n\x18\x41udienceInsightsCategory\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n\x1d\x41udienceInsightsDynamicLineup\x12\x1e\n\x11\x64ynamic_lineup_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xc8\x03\n\x15\x42\x61sicInsightsAudience\x12L\n\x10\x63ountry_location\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12I\n\x0euser_interests\x18\x05 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfo\x12H\n\x06topics\x18\x06 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.AudienceInsightsTopic\"\xd8\x04\n!AudienceInsightsAttributeMetadata\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12O\n\tattribute\x18\x02 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttribute\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_info\x18\x05 \x01(\t\x12\x66\n\x18youtube_channel_metadata\x18\x06 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataH\x00\x12g\n\x1a\x64ynamic_attribute_metadata\x18\x07 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.DynamicLineupAttributeMetadataH\x00\x12\x63\n\x1blocation_attribute_metadata\x18\x08 \x01(\x0b\x32<.google.ads.googleads.v17.services.LocationAttributeMetadataH\x00\x42\x14\n\x12\x64imension_metadata\";\n\x1fYouTubeChannelAttributeMetadata\x12\x18\n\x10subscriber_count\x18\x01 \x01(\x03\"\x80\x05\n\x1e\x44ynamicLineupAttributeMetadata\x12H\n\x11inventory_country\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12%\n\x18median_monthly_inventory\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12&\n\x19\x63hannel_count_lower_bound\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12&\n\x19\x63hannel_count_upper_bound\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12h\n\x0fsample_channels\x18\x05 \x03(\x0b\x32O.google.ads.googleads.v17.services.DynamicLineupAttributeMetadata.SampleChannel\x1a\xd9\x01\n\rSampleChannel\x12L\n\x0fyoutube_channel\x18\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfo\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x64\n\x18youtube_channel_metadata\x18\x03 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataB\x1b\n\x19_median_monthly_inventoryB\x1c\n\x1a_channel_count_lower_boundB\x1c\n\x1a_channel_count_upper_bound\"d\n\x19LocationAttributeMetadata\x12G\n\x10\x63ountry_location\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x89\x05\n\x10InsightsAudience\x12M\n\x11\x63ountry_locations\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12L\n\x0fparental_status\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfo\x12G\n\rincome_ranges\x18\x06 \x03(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfo\x12Y\n\x0f\x64ynamic_lineups\x18\x07 \x03(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineup\x12\x66\n\x1btopic_audience_combinations\x18\x08 \x03(\x0b\x32\x41.google.ads.googleads.v17.services.InsightsAudienceAttributeGroup\"w\n\x1eInsightsAudienceAttributeGroup\x12U\n\nattributes\x18\x01 \x03(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\"\xc7\x02\n\x1a\x41udienceCompositionSection\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12W\n\x0etop_attributes\x18\x03 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\x12\x64\n\x14\x63lustered_attributes\x18\x04 \x03(\x0b\x32\x46.google.ads.googleads.v17.services.AudienceCompositionAttributeCluster\"\xf0\x01\n#AudienceCompositionAttributeCluster\x12\x1c\n\x14\x63luster_display_name\x18\x01 \x01(\t\x12V\n\x0f\x63luster_metrics\x18\x03 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics\x12S\n\nattributes\x18\x04 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\"s\n\x1a\x41udienceCompositionMetrics\x12\x1f\n\x17\x62\x61seline_audience_share\x18\x01 \x01(\x01\x12\x16\n\x0e\x61udience_share\x18\x02 \x01(\x01\x12\r\n\x05index\x18\x03 \x01(\x01\x12\r\n\x05score\x18\x04 \x01(\x01\"\xd0\x01\n\x1c\x41udienceCompositionAttribute\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12N\n\x07metrics\x18\x02 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics2\xfa\x0b\n\x17\x41udienceInsightsService\x12\xa9\x02\n\x1cGenerateInsightsFinderReport\x12\x46.google.ads.googleads.v17.services.GenerateInsightsFinderReportRequest\x1aG.google.ads.googleads.v17.services.GenerateInsightsFinderReportResponse\"x\xda\x41/customer_id,baseline_audience,specific_audience\x82\xd3\xe4\x93\x02@\";/v17/customers/{customer_id=*}:generateInsightsFinderReport:\x01*\x12\xa5\x02\n\x1eListAudienceInsightsAttributes\x12H.google.ads.googleads.v17.services.ListAudienceInsightsAttributesRequest\x1aI.google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse\"n\xda\x41!customer_id,dimensions,query_text\x82\xd3\xe4\x93\x02\x44\"?/v17/customers/{customer_id=*}:searchAudienceInsightsAttributes:\x01*\x12\xe2\x01\n\x19ListInsightsEligibleDates\x12\x43.google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest\x1a\x44.google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse\":\x82\xd3\xe4\x93\x02\x34\"//v17/audienceInsights:listInsightsEligibleDates:\x01*\x12\xb5\x02\n#GenerateAudienceCompositionInsights\x12M.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsRequest\x1aN.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsResponse\"o\xda\x41\x1f\x63ustomer_id,audience,dimensions\x82\xd3\xe4\x93\x02G\"B/v17/customers/{customer_id=*}:generateAudienceCompositionInsights:\x01*\x12\xa6\x02\n\"GenerateSuggestedTargetingInsights\x12L.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsRequest\x1aM.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsResponse\"c\xda\x41\x14\x63ustomer_id,audience\x82\xd3\xe4\x93\x02\x46\"A/v17/customers/{customer_id=*}:generateSuggestedTargetingInsights:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1c\x41udienceInsightsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" +descriptor_data = "\nAgoogle/ads/googleads/v17/services/audience_insights_service.proto\x12!google.ads.googleads.v17.services\x1a.google/ads/googleads/v17/common/criteria.proto\x1a+google/ads/googleads/v17/common/dates.proto\x1a@google/ads/googleads/v17/enums/audience_insights_dimension.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x94\x02\n#GenerateInsightsFinderReportRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12X\n\x11\x62\x61seline_audience\x18\x02 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12X\n\x11specific_audience\x18\x03 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\"@\n$GenerateInsightsFinderReportResponse\x12\x18\n\x10saved_report_url\x18\x01 \x01(\t\"\x89\x03\n*GenerateAudienceCompositionInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12N\n\x11\x62\x61seline_audience\x18\x06 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudience\x12\x12\n\ndata_month\x18\x03 \x01(\t\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"~\n+GenerateAudienceCompositionInsightsResponse\x12O\n\x08sections\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionSection\"\xa5\x02\n)GenerateSuggestedTargetingInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12S\n\x11\x62\x61seline_audience\x18\x03 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x01\x12\x17\n\ndata_month\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12$\n\x17\x63ustomer_insights_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n*GenerateSuggestedTargetingInsightsResponse\x12R\n\x0bsuggestions\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.TargetingSuggestionMetrics\"\x95\x03\n\x1aTargetingSuggestionMetrics\x12W\n\tlocations\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x41\n\nage_ranges\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\\\n\x0euser_interests\x18\x04 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x10\n\x08\x63overage\x18\x05 \x01(\x01\x12\r\n\x05index\x18\x06 \x01(\x01\x12\x1f\n\x17potential_youtube_reach\x18\x07 \x01(\x03\"\x8d\x03\n%ListAudienceInsightsAttributesRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x02 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x17\n\nquery_text\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\x12O\n\x18location_country_filters\x18\x05 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12M\n\x16youtube_reach_location\x18\x06 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x82\x01\n&ListAudienceInsightsAttributesResponse\x12X\n\nattributes\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\"\"\n ListInsightsEligibleDatesRequest\"~\n!ListInsightsEligibleDatesResponse\x12\x13\n\x0b\x64\x61ta_months\x18\x01 \x03(\t\x12\x44\n\x10last_thirty_days\x18\x02 \x01(\x0b\x32*.google.ads.googleads.v17.common.DateRange\"\x81\x03\n&GenerateAudienceOverlapInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12L\n\x10\x63ountry_location\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12\\\n\x11primary_attribute\x18\x03 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"\xe9\x01\n\'GenerateAudienceOverlapInsightsResponse\x12h\n\x1aprimary_attribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12T\n\x11\x64imension_results\x18\x02 \x03(\x0b\x32\x39.google.ads.googleads.v17.services.DimensionOverlapResult\"\xcb\x01\n\x16\x44imensionOverlapResult\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12\x45\n\x05items\x18\x02 \x03(\x0b\x32\x36.google.ads.googleads.v17.services.AudienceOverlapItem\"\xa5\x01\n\x13\x41udienceOverlapItem\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12,\n$potential_youtube_reach_intersection\x18\x02 \x01(\x03\"\x9e\x06\n\x19\x41udienceInsightsAttribute\x12\x42\n\tage_range\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfoH\x00\x12=\n\x06gender\x18\x02 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfoH\x00\x12\x41\n\x08location\x18\x03 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoH\x00\x12J\n\ruser_interest\x18\x04 \x01(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfoH\x00\x12K\n\x06\x65ntity\x18\x05 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x12Z\n\x0e\x64ynamic_lineup\x18\x07 \x01(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineupH\x00\x12N\n\x0fparental_status\x18\x08 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfoH\x00\x12H\n\x0cincome_range\x18\t \x01(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfoH\x00\x12N\n\x0fyoutube_channel\x18\n \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfoH\x00\x42\x0b\n\tattribute\"\xbe\x01\n\x15\x41udienceInsightsTopic\x12K\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x02 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x42\x07\n\x05topic\"A\n\x16\x41udienceInsightsEntity\x12\'\n\x1aknowledge_graph_machine_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"4\n\x18\x41udienceInsightsCategory\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n\x1d\x41udienceInsightsDynamicLineup\x12\x1e\n\x11\x64ynamic_lineup_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xc8\x03\n\x15\x42\x61sicInsightsAudience\x12L\n\x10\x63ountry_location\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12I\n\x0euser_interests\x18\x05 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfo\x12H\n\x06topics\x18\x06 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.AudienceInsightsTopic\"\xf9\x04\n!AudienceInsightsAttributeMetadata\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12O\n\tattribute\x18\x02 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttribute\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_info\x18\x05 \x01(\t\x12\x1f\n\x17potential_youtube_reach\x18\t \x01(\x03\x12\x66\n\x18youtube_channel_metadata\x18\x06 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataH\x00\x12g\n\x1a\x64ynamic_attribute_metadata\x18\x07 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.DynamicLineupAttributeMetadataH\x00\x12\x63\n\x1blocation_attribute_metadata\x18\x08 \x01(\x0b\x32<.google.ads.googleads.v17.services.LocationAttributeMetadataH\x00\x42\x14\n\x12\x64imension_metadata\";\n\x1fYouTubeChannelAttributeMetadata\x12\x18\n\x10subscriber_count\x18\x01 \x01(\x03\"\x80\x05\n\x1e\x44ynamicLineupAttributeMetadata\x12H\n\x11inventory_country\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12%\n\x18median_monthly_inventory\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12&\n\x19\x63hannel_count_lower_bound\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12&\n\x19\x63hannel_count_upper_bound\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12h\n\x0fsample_channels\x18\x05 \x03(\x0b\x32O.google.ads.googleads.v17.services.DynamicLineupAttributeMetadata.SampleChannel\x1a\xd9\x01\n\rSampleChannel\x12L\n\x0fyoutube_channel\x18\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfo\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x64\n\x18youtube_channel_metadata\x18\x03 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataB\x1b\n\x19_median_monthly_inventoryB\x1c\n\x1a_channel_count_lower_boundB\x1c\n\x1a_channel_count_upper_bound\"d\n\x19LocationAttributeMetadata\x12G\n\x10\x63ountry_location\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x89\x05\n\x10InsightsAudience\x12M\n\x11\x63ountry_locations\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12L\n\x0fparental_status\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfo\x12G\n\rincome_ranges\x18\x06 \x03(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfo\x12Y\n\x0f\x64ynamic_lineups\x18\x07 \x03(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineup\x12\x66\n\x1btopic_audience_combinations\x18\x08 \x03(\x0b\x32\x41.google.ads.googleads.v17.services.InsightsAudienceAttributeGroup\"w\n\x1eInsightsAudienceAttributeGroup\x12U\n\nattributes\x18\x01 \x03(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\"\xc7\x02\n\x1a\x41udienceCompositionSection\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12W\n\x0etop_attributes\x18\x03 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\x12\x64\n\x14\x63lustered_attributes\x18\x04 \x03(\x0b\x32\x46.google.ads.googleads.v17.services.AudienceCompositionAttributeCluster\"\xf0\x01\n#AudienceCompositionAttributeCluster\x12\x1c\n\x14\x63luster_display_name\x18\x01 \x01(\t\x12V\n\x0f\x63luster_metrics\x18\x03 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics\x12S\n\nattributes\x18\x04 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\"s\n\x1a\x41udienceCompositionMetrics\x12\x1f\n\x17\x62\x61seline_audience_share\x18\x01 \x01(\x01\x12\x16\n\x0e\x61udience_share\x18\x02 \x01(\x01\x12\r\n\x05index\x18\x03 \x01(\x01\x12\r\n\x05score\x18\x04 \x01(\x01\"\xd0\x01\n\x1c\x41udienceCompositionAttribute\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12N\n\x07metrics\x18\x02 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics2\xbd\x0e\n\x17\x41udienceInsightsService\x12\xa9\x02\n\x1cGenerateInsightsFinderReport\x12\x46.google.ads.googleads.v17.services.GenerateInsightsFinderReportRequest\x1aG.google.ads.googleads.v17.services.GenerateInsightsFinderReportResponse\"x\xda\x41/customer_id,baseline_audience,specific_audience\x82\xd3\xe4\x93\x02@\";/v17/customers/{customer_id=*}:generateInsightsFinderReport:\x01*\x12\xa5\x02\n\x1eListAudienceInsightsAttributes\x12H.google.ads.googleads.v17.services.ListAudienceInsightsAttributesRequest\x1aI.google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse\"n\xda\x41!customer_id,dimensions,query_text\x82\xd3\xe4\x93\x02\x44\"?/v17/customers/{customer_id=*}:searchAudienceInsightsAttributes:\x01*\x12\xe2\x01\n\x19ListInsightsEligibleDates\x12\x43.google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest\x1a\x44.google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse\":\x82\xd3\xe4\x93\x02\x34\"//v17/audienceInsights:listInsightsEligibleDates:\x01*\x12\xb5\x02\n#GenerateAudienceCompositionInsights\x12M.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsRequest\x1aN.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsResponse\"o\xda\x41\x1f\x63ustomer_id,audience,dimensions\x82\xd3\xe4\x93\x02G\"B/v17/customers/{customer_id=*}:generateAudienceCompositionInsights:\x01*\x12\xa6\x02\n\"GenerateSuggestedTargetingInsights\x12L.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsRequest\x1aM.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsResponse\"c\xda\x41\x14\x63ustomer_id,audience\x82\xd3\xe4\x93\x02\x46\"A/v17/customers/{customer_id=*}:generateSuggestedTargetingInsights:\x01*\x12\xc0\x02\n\x1fGenerateAudienceOverlapInsights\x12I.google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsRequest\x1aJ.google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsResponse\"\x85\x01\xda\x41\x39\x63ustomer_id,country_location,primary_attribute,dimensions\x82\xd3\xe4\x93\x02\x43\">/v17/customers/{customer_id=*}:generateAudienceOverlapInsights:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1c\x41udienceInsightsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -56,6 +56,10 @@ module Services ListAudienceInsightsAttributesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse").msgclass ListInsightsEligibleDatesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest").msgclass ListInsightsEligibleDatesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse").msgclass + GenerateAudienceOverlapInsightsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsRequest").msgclass + GenerateAudienceOverlapInsightsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsResponse").msgclass + DimensionOverlapResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.DimensionOverlapResult").msgclass + AudienceOverlapItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceOverlapItem").msgclass AudienceInsightsAttribute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsAttribute").msgclass AudienceInsightsTopic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsTopic").msgclass AudienceInsightsEntity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsEntity").msgclass diff --git a/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb b/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb index 85a58443..54640a08 100644 --- a/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb +++ b/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb @@ -103,6 +103,21 @@ class Service # [RangeError]() # [RequestError]() rpc :GenerateSuggestedTargetingInsights, ::Google::Ads::GoogleAds::V17::Services::GenerateSuggestedTargetingInsightsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateSuggestedTargetingInsightsResponse + # Returns a collection of audience attributes along with estimates of the + # overlap between their potential YouTube reach and that of a given input + # attribute. + # + # List of thrown errors: + # [AudienceInsightsError]() + # [AuthenticationError]() + # [AuthorizationError]() + # [FieldError]() + # [HeaderError]() + # [InternalError]() + # [QuotaError]() + # [RangeError]() + # [RequestError]() + rpc :GenerateAudienceOverlapInsights, ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse end Stub = Service.rpc_stub_class diff --git a/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb b/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb index 4365188b..fbb55ffb 100644 --- a/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb +++ b/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb @@ -2750,6 +2750,25 @@ def offline_conversion_upload_client_summary_path customer_id:, client: "customers/#{customer_id}/offlineConversionUploadClientSummaries/#{client}" end + ## + # Create a fully-qualified OfflineConversionUploadConversionActionSummary resource string. + # + # The resource will be in the following format: + # + # `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_type_id}~{client}` + # + # @param customer_id [String] + # @param conversion_type_id [String] + # @param client [String] + # + # @return [::String] + def offline_conversion_upload_conversion_action_summary_path customer_id:, conversion_type_id:, client: + raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/" + raise ::ArgumentError, "conversion_type_id cannot contain /" if conversion_type_id.to_s.include? "/" + + "customers/#{customer_id}/offlineConversionUploadConversionActionSummaries/#{conversion_type_id}~#{client}" + end + ## # Create a fully-qualified OfflineUserDataJob resource string. # diff --git a/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb b/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb index 871ae44a..e7d315f9 100644 --- a/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb +++ b/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb @@ -154,6 +154,7 @@ require 'google/ads/google_ads/v17/resources/mobile_app_category_constant_pb' require 'google/ads/google_ads/v17/resources/mobile_device_constant_pb' require 'google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb' +require 'google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb' require 'google/ads/google_ads/v17/resources/offline_user_data_job_pb' require 'google/ads/google_ads/v17/resources/operating_system_version_constant_pb' require 'google/ads/google_ads/v17/resources/paid_organic_search_term_view_pb' @@ -267,7 +268,7 @@ require 'google/rpc/status_pb' -descriptor_data = "\n:google/ads/googleads/v17/services/google_ads_service.proto\x12!google.ads.googleads.v17.services\x1a-google/ads/googleads/v17/common/metrics.proto\x1a.google/ads/googleads/v17/common/segments.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x38google/ads/googleads/v17/enums/summary_row_setting.proto\x1a\x44google/ads/googleads/v17/resources/accessible_bidding_strategy.proto\x1a\x37google/ads/googleads/v17/resources/account_budget.proto\x1a@google/ads/googleads/v17/resources/account_budget_proposal.proto\x1a\x35google/ads/googleads/v17/resources/account_link.proto\x1a+google/ads/googleads/v17/resources/ad.proto\x1a\x31google/ads/googleads/v17/resources/ad_group.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1aKgoogle/ads/googleads/v17/resources/ad_group_ad_asset_combination_view.proto\x1a?google/ads/googleads/v17/resources/ad_group_ad_asset_view.proto\x1a:google/ads/googleads/v17/resources/ad_group_ad_label.proto\x1a\x37google/ads/googleads/v17/resources/ad_group_asset.proto\x1a;google/ads/googleads/v17/resources/ad_group_asset_set.proto\x1a?google/ads/googleads/v17/resources/ad_group_audience_view.proto\x1a>google/ads/googleads/v17/resources/ad_group_bid_modifier.proto\x1a;google/ads/googleads/v17/resources/ad_group_criterion.proto\x1a\x46google/ads/googleads/v17/resources/ad_group_criterion_customizer.proto\x1a\x41google/ads/googleads/v17/resources/ad_group_criterion_label.proto\x1a\x46google/ads/googleads/v17/resources/ad_group_criterion_simulation.proto\x1agoogle/ads/googleads/v17/resources/asset_field_type_view.proto\x1a\x34google/ads/googleads/v17/resources/asset_group.proto\x1a:google/ads/googleads/v17/resources/asset_group_asset.proto\x1aIgoogle/ads/googleads/v17/resources/asset_group_listing_group_filter.proto\x1aGgoogle/ads/googleads/v17/resources/asset_group_product_group_view.proto\x1a;google/ads/googleads/v17/resources/asset_group_signal.proto\x1aIgoogle/ads/googleads/v17/resources/asset_group_top_combination_view.proto\x1a\x32google/ads/googleads/v17/resources/asset_set.proto\x1a\x38google/ads/googleads/v17/resources/asset_set_asset.proto\x1agoogle/ads/googleads/v17/resources/campaign_bid_modifier.proto\x1a\x38google/ads/googleads/v17/resources/campaign_budget.proto\x1a\x41google/ads/googleads/v17/resources/campaign_conversion_goal.proto\x1a;google/ads/googleads/v17/resources/campaign_criterion.proto\x1agoogle/ads/googleads/v17/resources/conversion_value_rule.proto\x1a\x42google/ads/googleads/v17/resources/conversion_value_rule_set.proto\x1a:google/ads/googleads/v17/resources/currency_constant.proto\x1a\x38google/ads/googleads/v17/resources/custom_audience.proto\x1a?google/ads/googleads/v17/resources/custom_conversion_goal.proto\x1a\x38google/ads/googleads/v17/resources/custom_interest.proto\x1a\x31google/ads/googleads/v17/resources/customer.proto\x1a\x37google/ads/googleads/v17/resources/customer_asset.proto\x1a;google/ads/googleads/v17/resources/customer_asset_set.proto\x1a\x38google/ads/googleads/v17/resources/customer_client.proto\x1a=google/ads/googleads/v17/resources/customer_client_link.proto\x1a\x41google/ads/googleads/v17/resources/customer_conversion_goal.proto\x1agoogle/ads/googleads/v17/resources/customer_manager_link.proto\x1a\x44google/ads/googleads/v17/resources/customer_negative_criterion.proto\x1a\x45google/ads/googleads/v17/resources/customer_search_term_insight.proto\x1a=google/ads/googleads/v17/resources/customer_user_access.proto\x1aHgoogle/ads/googleads/v17/resources/customer_user_access_invitation.proto\x1a=google/ads/googleads/v17/resources/customizer_attribute.proto\x1a>google/ads/googleads/v17/resources/detail_placement_view.proto\x1a=google/ads/googleads/v17/resources/detailed_demographic.proto\x1a=google/ads/googleads/v17/resources/display_keyword_view.proto\x1a\x36google/ads/googleads/v17/resources/distance_view.proto\x1a\x38google/ads/googleads/v17/resources/domain_category.proto\x1aLgoogle/ads/googleads/v17/resources/dynamic_search_ads_search_term_view.proto\x1a\x43google/ads/googleads/v17/resources/expanded_landing_page_view.proto\x1a\x33google/ads/googleads/v17/resources/experiment.proto\x1a\x37google/ads/googleads/v17/resources/experiment_arm.proto\x1agoogle/ads/googleads/v17/resources/feed_placeholder_view.proto\x1a\x34google/ads/googleads/v17/resources/gender_view.proto\x1agoogle/ads/googleads/v17/resources/keyword_plan_ad_group.proto\x1a\x46google/ads/googleads/v17/resources/keyword_plan_ad_group_keyword.proto\x1a>google/ads/googleads/v17/resources/keyword_plan_campaign.proto\x1a\x46google/ads/googleads/v17/resources/keyword_plan_campaign_keyword.proto\x1a?google/ads/googleads/v17/resources/keyword_theme_constant.proto\x1a\x35google/ads/googleads/v17/resources/keyword_view.proto\x1a.google/ads/googleads/v17/resources/label.proto\x1a:google/ads/googleads/v17/resources/landing_page_view.proto\x1a:google/ads/googleads/v17/resources/language_constant.proto\x1a\x42google/ads/googleads/v17/resources/lead_form_submission_data.proto\x1a\x33google/ads/googleads/v17/resources/life_event.proto\x1a@google/ads/googleads/v17/resources/local_services_employee.proto\x1agoogle/ads/googleads/v17/resources/offline_user_data_job.proto\x1aJgoogle/ads/googleads/v17/resources/operating_system_version_constant.proto\x1a\x46google/ads/googleads/v17/resources/paid_organic_search_term_view.proto\x1a=google/ads/googleads/v17/resources/parental_status_view.proto\x1a\x37google/ads/googleads/v17/resources/per_store_view.proto\x1a\x42google/ads/googleads/v17/resources/product_category_constant.proto\x1a;google/ads/googleads/v17/resources/product_group_view.proto\x1a\x35google/ads/googleads/v17/resources/product_link.proto\x1a@google/ads/googleads/v17/resources/product_link_invitation.proto\x1agoogle/ads/googleads/v17/services/ad_group_asset_service.proto\x1a\x45google/ads/googleads/v17/services/ad_group_bid_modifier_service.proto\x1aMgoogle/ads/googleads/v17/services/ad_group_criterion_customizer_service.proto\x1aHgoogle/ads/googleads/v17/services/ad_group_criterion_label_service.proto\x1a\x42google/ads/googleads/v17/services/ad_group_criterion_service.proto\x1a\x43google/ads/googleads/v17/services/ad_group_customizer_service.proto\x1aJgoogle/ads/googleads/v17/services/ad_group_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/ad_group_feed_service.proto\x1a>google/ads/googleads/v17/services/ad_group_label_service.proto\x1a\x38google/ads/googleads/v17/services/ad_group_service.proto\x1agoogle/ads/googleads/v17/services/campaign_asset_service.proto\x1a\x42google/ads/googleads/v17/services/campaign_asset_set_service.proto\x1a\x45google/ads/googleads/v17/services/campaign_bid_modifier_service.proto\x1a?google/ads/googleads/v17/services/campaign_budget_service.proto\x1aHgoogle/ads/googleads/v17/services/campaign_conversion_goal_service.proto\x1a\x42google/ads/googleads/v17/services/campaign_criterion_service.proto\x1a\x43google/ads/googleads/v17/services/campaign_customizer_service.proto\x1a>google/ads/googleads/v17/services/campaign_draft_service.proto\x1aJgoogle/ads/googleads/v17/services/campaign_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/campaign_feed_service.proto\x1a>google/ads/googleads/v17/services/campaign_group_service.proto\x1a>google/ads/googleads/v17/services/campaign_label_service.proto\x1a\x38google/ads/googleads/v17/services/campaign_service.proto\x1a\x43google/ads/googleads/v17/services/campaign_shared_set_service.proto\x1a\x41google/ads/googleads/v17/services/conversion_action_service.proto\x1aJgoogle/ads/googleads/v17/services/conversion_custom_variable_service.proto\x1aOgoogle/ads/googleads/v17/services/conversion_goal_campaign_config_service.proto\x1a\x45google/ads/googleads/v17/services/conversion_value_rule_service.proto\x1aIgoogle/ads/googleads/v17/services/conversion_value_rule_set_service.proto\x1a\x46google/ads/googleads/v17/services/custom_conversion_goal_service.proto\x1a>google/ads/googleads/v17/services/customer_asset_service.proto\x1aHgoogle/ads/googleads/v17/services/customer_conversion_goal_service.proto\x1a\x43google/ads/googleads/v17/services/customer_customizer_service.proto\x1aJgoogle/ads/googleads/v17/services/customer_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/customer_feed_service.proto\x1a>google/ads/googleads/v17/services/customer_label_service.proto\x1aKgoogle/ads/googleads/v17/services/customer_negative_criterion_service.proto\x1a\x38google/ads/googleads/v17/services/customer_service.proto\x1a\x44google/ads/googleads/v17/services/customizer_attribute_service.proto\x1a>google/ads/googleads/v17/services/experiment_arm_service.proto\x1a:google/ads/googleads/v17/services/experiment_service.proto\x1a\x43google/ads/googleads/v17/services/extension_feed_item_service.proto\x1a\x39google/ads/googleads/v17/services/feed_item_service.proto\x1a\x42google/ads/googleads/v17/services/feed_item_set_link_service.proto\x1a=google/ads/googleads/v17/services/feed_item_set_service.proto\x1a@google/ads/googleads/v17/services/feed_item_target_service.proto\x1a.google.ads.googleads.v17.resources.AdGroupCriterionCustomizer\x12[\n\x18\x61\x64_group_criterion_label\x18y \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.AdGroupCriterionLabel\x12\x65\n\x1d\x61\x64_group_criterion_simulation\x18n \x01(\x0b\x32>.google.ads.googleads.v17.resources.AdGroupCriterionSimulation\x12S\n\x13\x61\x64_group_customizer\x18\xb9\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.AdGroupCustomizer\x12_\n\x1a\x61\x64_group_extension_setting\x18p \x01(\x0b\x32;.google.ads.googleads.v17.resources.AdGroupExtensionSetting\x12\x46\n\rad_group_feed\x18\x43 \x01(\x0b\x32/.google.ads.googleads.v17.resources.AdGroupFeed\x12H\n\x0e\x61\x64_group_label\x18s \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.AdGroupLabel\x12R\n\x13\x61\x64_group_simulation\x18k \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.AdGroupSimulation\x12\x46\n\x0c\x61\x64_parameter\x18\x82\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.AdParameter\x12H\n\x0e\x61ge_range_view\x18\x30 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.AgeRangeView\x12L\n\x10\x61\x64_schedule_view\x18Y \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.AdScheduleView\x12K\n\x0f\x64omain_category\x18[ \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.DomainCategory\x12\x38\n\x05\x61sset\x18i \x01(\x0b\x32).google.ads.googleads.v17.resources.Asset\x12V\n\x15\x61sset_field_type_view\x18\xa8\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.AssetFieldTypeView\x12\x64\n\x1c\x63hannel_aggregate_asset_view\x18\xde\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.ChannelAggregateAssetView\x12\x66\n\x1d\x63\x61mpaign_aggregate_asset_view\x18\xe0\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.CampaignAggregateAssetView\x12O\n\x11\x61sset_group_asset\x18\xad\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.AssetGroupAsset\x12Q\n\x12\x61sset_group_signal\x18\xbf\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.AssetGroupSignal\x12k\n asset_group_listing_group_filter\x18\xb6\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.AssetGroupListingGroupFilter\x12g\n\x1e\x61sset_group_product_group_view\x18\xbd\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.AssetGroupProductGroupView\x12k\n asset_group_top_combination_view\x18\xc7\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.AssetGroupTopCombinationView\x12\x44\n\x0b\x61sset_group\x18\xac\x01 \x01(\x0b\x32..google.ads.googleads.v17.resources.AssetGroup\x12K\n\x0f\x61sset_set_asset\x18\xb4\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.AssetSetAsset\x12@\n\tasset_set\x18\xb3\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.AssetSet\x12R\n\x13\x61sset_set_type_view\x18\xc5\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.AssetSetTypeView\x12@\n\tbatch_job\x18\x8b\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.BatchJob\x12Y\n\x16\x62idding_data_exclusion\x18\x9f\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.BiddingDataExclusion\x12i\n\x1e\x62idding_seasonality_adjustment\x18\xa0\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.BiddingSeasonalityAdjustment\x12M\n\x10\x62idding_strategy\x18\x12 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.BiddingStrategy\x12\x63\n\x1b\x62idding_strategy_simulation\x18\x9e\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.BiddingStrategySimulation\x12G\n\rbilling_setup\x18) \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.BillingSetup\x12@\n\tcall_view\x18\x98\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.CallView\x12K\n\x0f\x63\x61mpaign_budget\x18\x13 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CampaignBudget\x12>\n\x08\x63\x61mpaign\x18\x02 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Campaign\x12J\n\x0e\x63\x61mpaign_asset\x18\x8e\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignAsset\x12Q\n\x12\x63\x61mpaign_asset_set\x18\xb5\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CampaignAssetSet\x12X\n\x16\x63\x61mpaign_audience_view\x18\x45 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.CampaignAudienceView\x12V\n\x15\x63\x61mpaign_bid_modifier\x18\x1a \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CampaignBidModifier\x12]\n\x18\x63\x61mpaign_conversion_goal\x18\xaf\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.CampaignConversionGoal\x12Q\n\x12\x63\x61mpaign_criterion\x18\x14 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.CampaignCriterion\x12T\n\x13\x63\x61mpaign_customizer\x18\xba\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CampaignCustomizer\x12I\n\x0e\x63\x61mpaign_draft\x18\x31 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignDraft\x12`\n\x1a\x63\x61mpaign_extension_setting\x18q \x01(\x0b\x32<.google.ads.googleads.v17.resources.CampaignExtensionSetting\x12G\n\rcampaign_feed\x18? \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.CampaignFeed\x12I\n\x0e\x63\x61mpaign_group\x18\x19 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignGroup\x12I\n\x0e\x63\x61mpaign_label\x18l \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignLabel\x12[\n\x17\x63\x61mpaign_lifecycle_goal\x18\xd5\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.CampaignLifecycleGoal\x12\x64\n\x1c\x63\x61mpaign_search_term_insight\x18\xcc\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.CampaignSearchTermInsight\x12R\n\x13\x63\x61mpaign_shared_set\x18\x1e \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.CampaignSharedSet\x12T\n\x13\x63\x61mpaign_simulation\x18\x9d\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CampaignSimulation\x12M\n\x10\x63\x61rrier_constant\x18\x42 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.CarrierConstant\x12\x46\n\x0c\x63hange_event\x18\x91\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.ChangeEvent\x12G\n\rchange_status\x18% \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.ChangeStatus\x12P\n\x11\x63ombined_audience\x18\x94\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CombinedAudience\x12?\n\x08\x61udience\x18\xbe\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Audience\x12O\n\x11\x63onversion_action\x18g \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.ConversionAction\x12\x61\n\x1a\x63onversion_custom_variable\x18\x99\x01 \x01(\x0b\x32<.google.ads.googleads.v17.resources.ConversionCustomVariable\x12j\n\x1f\x63onversion_goal_campaign_config\x18\xb1\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.ConversionGoalCampaignConfig\x12W\n\x15\x63onversion_value_rule\x18\xa4\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.ConversionValueRule\x12^\n\x19\x63onversion_value_rule_set\x18\xa5\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.ConversionValueRuleSet\x12\x41\n\nclick_view\x18z \x01(\x0b\x32-.google.ads.googleads.v17.resources.ClickView\x12P\n\x11\x63urrency_constant\x18\x86\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CurrencyConstant\x12L\n\x0f\x63ustom_audience\x18\x93\x01 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomAudience\x12Y\n\x16\x63ustom_conversion_goal\x18\xb0\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.CustomConversionGoal\x12K\n\x0f\x63ustom_interest\x18h \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomInterest\x12>\n\x08\x63ustomer\x18\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Customer\x12J\n\x0e\x63ustomer_asset\x18\x9b\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CustomerAsset\x12Q\n\x12\x63ustomer_asset_set\x18\xc3\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CustomerAssetSet\x12\x63\n\x1b\x61\x63\x63\x65ssible_bidding_strategy\x18\xa9\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.AccessibleBiddingStrategy\x12T\n\x13\x63ustomer_customizer\x18\xb8\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerCustomizer\x12V\n\x15\x63ustomer_manager_link\x18= \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CustomerManagerLink\x12T\n\x14\x63ustomer_client_link\x18> \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerClientLink\x12K\n\x0f\x63ustomer_client\x18\x46 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomerClient\x12]\n\x18\x63ustomer_conversion_goal\x18\xae\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.CustomerConversionGoal\x12`\n\x1a\x63ustomer_extension_setting\x18r \x01(\x0b\x32<.google.ads.googleads.v17.resources.CustomerExtensionSetting\x12G\n\rcustomer_feed\x18@ \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.CustomerFeed\x12I\n\x0e\x63ustomer_label\x18| \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CustomerLabel\x12[\n\x17\x63ustomer_lifecycle_goal\x18\xd4\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.CustomerLifecycleGoal\x12\x62\n\x1b\x63ustomer_negative_criterion\x18X \x01(\x0b\x32=.google.ads.googleads.v17.resources.CustomerNegativeCriterion\x12\x64\n\x1c\x63ustomer_search_term_insight\x18\xcd\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.CustomerSearchTermInsight\x12U\n\x14\x63ustomer_user_access\x18\x92\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerUserAccess\x12j\n\x1f\x63ustomer_user_access_invitation\x18\x96\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.CustomerUserAccessInvitation\x12V\n\x14\x63ustomizer_attribute\x18\xb2\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CustomizerAttribute\x12V\n\x15\x64\x65tail_placement_view\x18v \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.DetailPlacementView\x12V\n\x14\x64\x65tailed_demographic\x18\xa6\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.DetailedDemographic\x12T\n\x14\x64isplay_keyword_view\x18/ \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.DisplayKeywordView\x12H\n\rdistance_view\x18\x84\x01 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.DistanceView\x12o\n#dynamic_search_ads_search_term_view\x18j \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.DynamicSearchAdsSearchTermView\x12`\n\x1a\x65xpanded_landing_page_view\x18\x80\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.ExpandedLandingPageView\x12R\n\x13\x65xtension_feed_item\x18U \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.ExtensionFeedItem\x12\x36\n\x04\x66\x65\x65\x64\x18. \x01(\x0b\x32(.google.ads.googleads.v17.resources.Feed\x12?\n\tfeed_item\x18\x32 \x01(\x0b\x32,.google.ads.googleads.v17.resources.FeedItem\x12G\n\rfeed_item_set\x18\x95\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.FeedItemSet\x12P\n\x12\x66\x65\x65\x64_item_set_link\x18\x97\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.FeedItemSetLink\x12L\n\x10\x66\x65\x65\x64_item_target\x18t \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.FeedItemTarget\x12\x45\n\x0c\x66\x65\x65\x64_mapping\x18: \x01(\x0b\x32/.google.ads.googleads.v17.resources.FeedMapping\x12V\n\x15\x66\x65\x65\x64_placeholder_view\x18\x61 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.FeedPlaceholderView\x12\x43\n\x0bgender_view\x18( \x01(\x0b\x32..google.ads.googleads.v17.resources.GenderView\x12R\n\x13geo_target_constant\x18\x17 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.GeoTargetConstant\x12K\n\x0fgeographic_view\x18} \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.GeographicView\x12T\n\x14group_placement_view\x18w \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.GroupPlacementView\x12L\n\x10hotel_group_view\x18\x33 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.HotelGroupView\x12X\n\x16hotel_performance_view\x18G \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.HotelPerformanceView\x12V\n\x14hotel_reconciliation\x18\xbc\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.HotelReconciliation\x12O\n\x11income_range_view\x18\x8a\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.IncomeRangeView\x12\x45\n\x0ckeyword_view\x18\x15 \x01(\x0b\x32/.google.ads.googleads.v17.resources.KeywordView\x12\x45\n\x0ckeyword_plan\x18 \x01(\x0b\x32/.google.ads.googleads.v17.resources.KeywordPlan\x12V\n\x15keyword_plan_campaign\x18! \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.KeywordPlanCampaign\x12\x66\n\x1dkeyword_plan_campaign_keyword\x18\x8c\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.KeywordPlanCampaignKeyword\x12U\n\x15keyword_plan_ad_group\x18# \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.KeywordPlanAdGroup\x12\x65\n\x1dkeyword_plan_ad_group_keyword\x18\x8d\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.KeywordPlanAdGroupKeyword\x12Y\n\x16keyword_theme_constant\x18\xa3\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.KeywordThemeConstant\x12\x38\n\x05label\x18\x34 \x01(\x0b\x32).google.ads.googleads.v17.resources.Label\x12N\n\x11landing_page_view\x18~ \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.LandingPageView\x12O\n\x11language_constant\x18\x37 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.LanguageConstant\x12G\n\rlocation_view\x18{ \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.LocationView\x12X\n\x16managed_placement_view\x18\x35 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.ManagedPlacementView\x12\x41\n\nmedia_file\x18Z \x01(\x0b\x32-.google.ads.googleads.v17.resources.MediaFile\x12[\n\x17local_services_employee\x18\xdf\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.LocalServicesEmployee\x12t\n$local_services_verification_artifact\x18\xd3\x01 \x01(\x0b\x32\x45.google.ads.googleads.v17.resources.LocalServicesVerificationArtifact\x12\x63\n\x1cmobile_app_category_constant\x18W \x01(\x0b\x32=.google.ads.googleads.v17.resources.MobileAppCategoryConstant\x12X\n\x16mobile_device_constant\x18\x62 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.MobileDeviceConstant\x12{\n(offline_conversion_upload_client_summary\x18\xd8\x01 \x01(\x0b\x32H.google.ads.googleads.v17.resources.OfflineConversionUploadClientSummary\x12V\n\x15offline_user_data_job\x18\x89\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.OfflineUserDataJob\x12m\n!operating_system_version_constant\x18V \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.OperatingSystemVersionConstant\x12\x65\n\x1dpaid_organic_search_term_view\x18\x81\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.PaidOrganicSearchTermView\x12T\n\x13qualifying_question\x18\xca\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.QualifyingQuestion\x12T\n\x14parental_status_view\x18- \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.ParentalStatusView\x12I\n\x0eper_store_view\x18\xc6\x01 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.PerStoreView\x12_\n\x19product_category_constant\x18\xd0\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.ProductCategoryConstant\x12P\n\x12product_group_view\x18\x36 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.ProductGroupView\x12\x46\n\x0cproduct_link\x18\xc2\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.ProductLink\x12[\n\x17product_link_invitation\x18\xd1\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.ProductLinkInvitation\x12J\n\x0erecommendation\x18\x16 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.Recommendation\x12\x64\n\x1brecommendation_subscription\x18\xdc\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.RecommendationSubscription\x12L\n\x10search_term_view\x18\x44 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.SearchTermView\x12M\n\x10shared_criterion\x18\x1d \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.SharedCriterion\x12\x41\n\nshared_set\x18\x1b \x01(\x0b\x32-.google.ads.googleads.v17.resources.SharedSet\x12Y\n\x16smart_campaign_setting\x18\xa7\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.SmartCampaignSetting\x12^\n\x19shopping_performance_view\x18u \x01(\x0b\x32;.google.ads.googleads.v17.resources.ShoppingPerformanceView\x12N\n\x10shopping_product\x18\xe2\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.ShoppingProduct\x12i\n\x1fsmart_campaign_search_term_view\x18\xaa\x01 \x01(\x0b\x32?.google.ads.googleads.v17.resources.SmartCampaignSearchTermView\x12g\n\x1ethird_party_app_analytics_link\x18\x90\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.ThirdPartyAppAnalyticsLink\x12\x41\n\ntopic_view\x18, \x01(\x0b\x32-.google.ads.googleads.v17.resources.TopicView\x12`\n\x1atravel_activity_group_view\x18\xc9\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.TravelActivityGroupView\x12l\n travel_activity_performance_view\x18\xc8\x01 \x01(\x0b\x32\x41.google.ads.googleads.v17.resources.TravelActivityPerformanceView\x12\x43\n\nexperiment\x18\x85\x01 \x01(\x0b\x32..google.ads.googleads.v17.resources.Experiment\x12J\n\x0e\x65xperiment_arm\x18\xb7\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.ExperimentArm\x12G\n\ruser_interest\x18; \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.UserInterest\x12\x42\n\nlife_event\x18\xa1\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.LifeEvent\x12?\n\tuser_list\x18& \x01(\x0b\x32,.google.ads.googleads.v17.resources.UserList\x12Z\n\x17user_list_customer_type\x18\xe1\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.UserListCustomerType\x12Q\n\x12user_location_view\x18\x87\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.UserLocationView\x12Q\n\x12remarketing_action\x18< \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.RemarketingAction\x12I\n\x0etopic_constant\x18\x1f \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.TopicConstant\x12\x38\n\x05video\x18\' \x01(\x0b\x32).google.ads.googleads.v17.resources.Video\x12\x46\n\x0cwebpage_view\x18\xa2\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.WebpageView\x12^\n\x19lead_form_submission_data\x18\xc0\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.LeadFormSubmissionData\x12S\n\x13local_services_lead\x18\xd2\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.LocalServicesLead\x12l\n local_services_lead_conversation\x18\xd6\x01 \x01(\x0b\x32\x41.google.ads.googleads.v17.resources.LocalServicesLeadConversation\x12}\n*android_privacy_shared_key_google_ad_group\x18\xd9\x01 \x01(\x0b\x32H.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleAdGroup\x12~\n*android_privacy_shared_key_google_campaign\x18\xda\x01 \x01(\x0b\x32I.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleCampaign\x12\x85\x01\n.android_privacy_shared_key_google_network_type\x18\xdb\x01 \x01(\x0b\x32L.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleNetworkType\x12\x39\n\x07metrics\x18\x04 \x01(\x0b\x32(.google.ads.googleads.v17.common.Metrics\x12;\n\x08segments\x18\x66 \x01(\x0b\x32).google.ads.googleads.v17.common.Segments\"\xa2\x02\n\x16MutateGoogleAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12R\n\x11mutate_operations\x18\x02 \x03(\x0b\x32\x32.google.ads.googleads.v17.services.MutateOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xac\x01\n\x17MutateGoogleAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12^\n\x1amutate_operation_responses\x18\x01 \x03(\x0b\x32:.google.ads.googleads.v17.services.MutateOperationResponse\"\xa4;\n\x0fMutateOperation\x12\x61\n\x1b\x61\x64_group_ad_label_operation\x18\x11 \x01(\x0b\x32:.google.ads.googleads.v17.services.AdGroupAdLabelOperationH\x00\x12V\n\x15\x61\x64_group_ad_operation\x18\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationH\x00\x12\\\n\x18\x61\x64_group_asset_operation\x18\x38 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.AdGroupAssetOperationH\x00\x12i\n\x1f\x61\x64_group_bid_modifier_operation\x18\x02 \x01(\x0b\x32>.google.ads.googleads.v17.services.AdGroupBidModifierOperationH\x00\x12y\n\'ad_group_criterion_customizer_operation\x18M \x01(\x0b\x32\x46.google.ads.googleads.v17.services.AdGroupCriterionCustomizerOperationH\x00\x12o\n\"ad_group_criterion_label_operation\x18\x12 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.AdGroupCriterionLabelOperationH\x00\x12\x64\n\x1c\x61\x64_group_criterion_operation\x18\x03 \x01(\x0b\x32<.google.ads.googleads.v17.services.AdGroupCriterionOperationH\x00\x12\x66\n\x1d\x61\x64_group_customizer_operation\x18K \x01(\x0b\x32=.google.ads.googleads.v17.services.AdGroupCustomizerOperationH\x00\x12s\n$ad_group_extension_setting_operation\x18\x13 \x01(\x0b\x32\x43.google.ads.googleads.v17.services.AdGroupExtensionSettingOperationH\x00\x12Z\n\x17\x61\x64_group_feed_operation\x18\x14 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AdGroupFeedOperationH\x00\x12\\\n\x18\x61\x64_group_label_operation\x18\x15 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.AdGroupLabelOperationH\x00\x12Q\n\x12\x61\x64_group_operation\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.AdGroupOperationH\x00\x12\x46\n\x0c\x61\x64_operation\x18\x31 \x01(\x0b\x32..google.ads.googleads.v17.services.AdOperationH\x00\x12Y\n\x16\x61\x64_parameter_operation\x18\x16 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AdParameterOperationH\x00\x12L\n\x0f\x61sset_operation\x18\x17 \x01(\x0b\x32\x31.google.ads.googleads.v17.services.AssetOperationH\x00\x12\x62\n\x1b\x61sset_group_asset_operation\x18\x41 \x01(\x0b\x32;.google.ads.googleads.v17.services.AssetGroupAssetOperationH\x00\x12~\n*asset_group_listing_group_filter_operation\x18N \x01(\x0b\x32H.google.ads.googleads.v17.services.AssetGroupListingGroupFilterOperationH\x00\x12\x64\n\x1c\x61sset_group_signal_operation\x18P \x01(\x0b\x32<.google.ads.googleads.v17.services.AssetGroupSignalOperationH\x00\x12W\n\x15\x61sset_group_operation\x18> \x01(\x0b\x32\x36.google.ads.googleads.v17.services.AssetGroupOperationH\x00\x12^\n\x19\x61sset_set_asset_operation\x18G \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AssetSetAssetOperationH\x00\x12S\n\x13\x61sset_set_operation\x18H \x01(\x0b\x32\x34.google.ads.googleads.v17.services.AssetSetOperationH\x00\x12R\n\x12\x61udience_operation\x18Q \x01(\x0b\x32\x34.google.ads.googleads.v17.services.AudienceOperationH\x00\x12l\n bidding_data_exclusion_operation\x18: \x01(\x0b\x32@.google.ads.googleads.v17.services.BiddingDataExclusionOperationH\x00\x12|\n(bidding_seasonality_adjustment_operation\x18; \x01(\x0b\x32H.google.ads.googleads.v17.services.BiddingSeasonalityAdjustmentOperationH\x00\x12\x61\n\x1a\x62idding_strategy_operation\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.BiddingStrategyOperationH\x00\x12]\n\x18\x63\x61mpaign_asset_operation\x18\x34 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignAssetOperationH\x00\x12\x64\n\x1c\x63\x61mpaign_asset_set_operation\x18I \x01(\x0b\x32<.google.ads.googleads.v17.services.CampaignAssetSetOperationH\x00\x12j\n\x1f\x63\x61mpaign_bid_modifier_operation\x18\x07 \x01(\x0b\x32?.google.ads.googleads.v17.services.CampaignBidModifierOperationH\x00\x12_\n\x19\x63\x61mpaign_budget_operation\x18\x08 \x01(\x0b\x32:.google.ads.googleads.v17.services.CampaignBudgetOperationH\x00\x12p\n\"campaign_conversion_goal_operation\x18\x43 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.CampaignConversionGoalOperationH\x00\x12\x65\n\x1c\x63\x61mpaign_criterion_operation\x18\r \x01(\x0b\x32=.google.ads.googleads.v17.services.CampaignCriterionOperationH\x00\x12g\n\x1d\x63\x61mpaign_customizer_operation\x18L \x01(\x0b\x32>.google.ads.googleads.v17.services.CampaignCustomizerOperationH\x00\x12]\n\x18\x63\x61mpaign_draft_operation\x18\x18 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignDraftOperationH\x00\x12t\n$campaign_extension_setting_operation\x18\x1a \x01(\x0b\x32\x44.google.ads.googleads.v17.services.CampaignExtensionSettingOperationH\x00\x12[\n\x17\x63\x61mpaign_feed_operation\x18\x1b \x01(\x0b\x32\x38.google.ads.googleads.v17.services.CampaignFeedOperationH\x00\x12]\n\x18\x63\x61mpaign_group_operation\x18\t \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignGroupOperationH\x00\x12]\n\x18\x63\x61mpaign_label_operation\x18\x1c \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignLabelOperationH\x00\x12R\n\x12\x63\x61mpaign_operation\x18\n \x01(\x0b\x32\x34.google.ads.googleads.v17.services.CampaignOperationH\x00\x12\x66\n\x1d\x63\x61mpaign_shared_set_operation\x18\x0b \x01(\x0b\x32=.google.ads.googleads.v17.services.CampaignSharedSetOperationH\x00\x12\x63\n\x1b\x63onversion_action_operation\x18\x0c \x01(\x0b\x32<.google.ads.googleads.v17.services.ConversionActionOperationH\x00\x12t\n$conversion_custom_variable_operation\x18\x37 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.ConversionCustomVariableOperationH\x00\x12}\n)conversion_goal_campaign_config_operation\x18\x45 \x01(\x0b\x32H.google.ads.googleads.v17.services.ConversionGoalCampaignConfigOperationH\x00\x12j\n\x1f\x63onversion_value_rule_operation\x18? \x01(\x0b\x32?.google.ads.googleads.v17.services.ConversionValueRuleOperationH\x00\x12q\n#conversion_value_rule_set_operation\x18@ \x01(\x0b\x32\x42.google.ads.googleads.v17.services.ConversionValueRuleSetOperationH\x00\x12l\n custom_conversion_goal_operation\x18\x44 \x01(\x0b\x32@.google.ads.googleads.v17.services.CustomConversionGoalOperationH\x00\x12]\n\x18\x63ustomer_asset_operation\x18\x39 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CustomerAssetOperationH\x00\x12p\n\"customer_conversion_goal_operation\x18\x42 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.CustomerConversionGoalOperationH\x00\x12g\n\x1d\x63ustomer_customizer_operation\x18O \x01(\x0b\x32>.google.ads.googleads.v17.services.CustomerCustomizerOperationH\x00\x12t\n$customer_extension_setting_operation\x18\x1e \x01(\x0b\x32\x44.google.ads.googleads.v17.services.CustomerExtensionSettingOperationH\x00\x12[\n\x17\x63ustomer_feed_operation\x18\x1f \x01(\x0b\x32\x38.google.ads.googleads.v17.services.CustomerFeedOperationH\x00\x12]\n\x18\x63ustomer_label_operation\x18 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CustomerLabelOperationH\x00\x12v\n%customer_negative_criterion_operation\x18\" \x01(\x0b\x32\x45.google.ads.googleads.v17.services.CustomerNegativeCriterionOperationH\x00\x12R\n\x12\x63ustomer_operation\x18# \x01(\x0b\x32\x34.google.ads.googleads.v17.services.CustomerOperationH\x00\x12i\n\x1e\x63ustomizer_attribute_operation\x18\x46 \x01(\x0b\x32?.google.ads.googleads.v17.services.CustomizerAttributeOperationH\x00\x12V\n\x14\x65xperiment_operation\x18R \x01(\x0b\x32\x36.google.ads.googleads.v17.services.ExperimentOperationH\x00\x12]\n\x18\x65xperiment_arm_operation\x18S \x01(\x0b\x32\x39.google.ads.googleads.v17.services.ExperimentArmOperationH\x00\x12\x66\n\x1d\x65xtension_feed_item_operation\x18$ \x01(\x0b\x32=.google.ads.googleads.v17.services.ExtensionFeedItemOperationH\x00\x12S\n\x13\x66\x65\x65\x64_item_operation\x18% \x01(\x0b\x32\x34.google.ads.googleads.v17.services.FeedItemOperationH\x00\x12Z\n\x17\x66\x65\x65\x64_item_set_operation\x18\x35 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.FeedItemSetOperationH\x00\x12\x63\n\x1c\x66\x65\x65\x64_item_set_link_operation\x18\x36 \x01(\x0b\x32;.google.ads.googleads.v17.services.FeedItemSetLinkOperationH\x00\x12`\n\x1a\x66\x65\x65\x64_item_target_operation\x18& \x01(\x0b\x32:.google.ads.googleads.v17.services.FeedItemTargetOperationH\x00\x12Y\n\x16\x66\x65\x65\x64_mapping_operation\x18\' \x01(\x0b\x32\x37.google.ads.googleads.v17.services.FeedMappingOperationH\x00\x12J\n\x0e\x66\x65\x65\x64_operation\x18( \x01(\x0b\x32\x30.google.ads.googleads.v17.services.FeedOperationH\x00\x12i\n\x1fkeyword_plan_ad_group_operation\x18, \x01(\x0b\x32>.google.ads.googleads.v17.services.KeywordPlanAdGroupOperationH\x00\x12x\n\'keyword_plan_ad_group_keyword_operation\x18\x32 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.KeywordPlanAdGroupKeywordOperationH\x00\x12y\n\'keyword_plan_campaign_keyword_operation\x18\x33 \x01(\x0b\x32\x46.google.ads.googleads.v17.services.KeywordPlanCampaignKeywordOperationH\x00\x12j\n\x1fkeyword_plan_campaign_operation\x18- \x01(\x0b\x32?.google.ads.googleads.v17.services.KeywordPlanCampaignOperationH\x00\x12Y\n\x16keyword_plan_operation\x18\x30 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.KeywordPlanOperationH\x00\x12L\n\x0flabel_operation\x18) \x01(\x0b\x32\x31.google.ads.googleads.v17.services.LabelOperationH\x00\x12w\n%recommendation_subscription_operation\x18V \x01(\x0b\x32\x46.google.ads.googleads.v17.services.RecommendationSubscriptionOperationH\x00\x12\x65\n\x1cremarketing_action_operation\x18+ \x01(\x0b\x32=.google.ads.googleads.v17.services.RemarketingActionOperationH\x00\x12\x61\n\x1ashared_criterion_operation\x18\x0e \x01(\x0b\x32;.google.ads.googleads.v17.services.SharedCriterionOperationH\x00\x12U\n\x14shared_set_operation\x18\x0f \x01(\x0b\x32\x35.google.ads.googleads.v17.services.SharedSetOperationH\x00\x12l\n smart_campaign_setting_operation\x18= \x01(\x0b\x32@.google.ads.googleads.v17.services.SmartCampaignSettingOperationH\x00\x12S\n\x13user_list_operation\x18\x10 \x01(\x0b\x32\x34.google.ads.googleads.v17.services.UserListOperationH\x00\x42\x0b\n\toperation\"\xad;\n\x17MutateOperationResponse\x12\x61\n\x18\x61\x64_group_ad_label_result\x18\x11 \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateAdGroupAdLabelResultH\x00\x12V\n\x12\x61\x64_group_ad_result\x18\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResultH\x00\x12\\\n\x15\x61\x64_group_asset_result\x18\x38 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateAdGroupAssetResultH\x00\x12i\n\x1c\x61\x64_group_bid_modifier_result\x18\x02 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateAdGroupBidModifierResultH\x00\x12y\n$ad_group_criterion_customizer_result\x18M \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateAdGroupCriterionCustomizerResultH\x00\x12o\n\x1f\x61\x64_group_criterion_label_result\x18\x12 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.MutateAdGroupCriterionLabelResultH\x00\x12\x64\n\x19\x61\x64_group_criterion_result\x18\x03 \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateAdGroupCriterionResultH\x00\x12\x66\n\x1a\x61\x64_group_customizer_result\x18K \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateAdGroupCustomizerResultH\x00\x12s\n!ad_group_extension_setting_result\x18\x13 \x01(\x0b\x32\x46.google.ads.googleads.v17.services.MutateAdGroupExtensionSettingResultH\x00\x12Z\n\x14\x61\x64_group_feed_result\x18\x14 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateAdGroupFeedResultH\x00\x12\\\n\x15\x61\x64_group_label_result\x18\x15 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateAdGroupLabelResultH\x00\x12Q\n\x0f\x61\x64_group_result\x18\x05 \x01(\x0b\x32\x36.google.ads.googleads.v17.services.MutateAdGroupResultH\x00\x12Y\n\x13\x61\x64_parameter_result\x18\x16 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateAdParameterResultH\x00\x12\x46\n\tad_result\x18\x31 \x01(\x0b\x32\x31.google.ads.googleads.v17.services.MutateAdResultH\x00\x12L\n\x0c\x61sset_result\x18\x17 \x01(\x0b\x32\x34.google.ads.googleads.v17.services.MutateAssetResultH\x00\x12\x62\n\x18\x61sset_group_asset_result\x18\x41 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateAssetGroupAssetResultH\x00\x12~\n\'asset_group_listing_group_filter_result\x18N \x01(\x0b\x32K.google.ads.googleads.v17.services.MutateAssetGroupListingGroupFilterResultH\x00\x12\x64\n\x19\x61sset_group_signal_result\x18O \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateAssetGroupSignalResultH\x00\x12W\n\x12\x61sset_group_result\x18> \x01(\x0b\x32\x39.google.ads.googleads.v17.services.MutateAssetGroupResultH\x00\x12^\n\x16\x61sset_set_asset_result\x18G \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateAssetSetAssetResultH\x00\x12S\n\x10\x61sset_set_result\x18H \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateAssetSetResultH\x00\x12R\n\x0f\x61udience_result\x18P \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateAudienceResultH\x00\x12m\n\x1d\x62idding_data_exclusion_result\x18: \x01(\x0b\x32\x44.google.ads.googleads.v17.services.MutateBiddingDataExclusionsResultH\x00\x12}\n%bidding_seasonality_adjustment_result\x18; \x01(\x0b\x32L.google.ads.googleads.v17.services.MutateBiddingSeasonalityAdjustmentsResultH\x00\x12\x61\n\x17\x62idding_strategy_result\x18\x06 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateBiddingStrategyResultH\x00\x12]\n\x15\x63\x61mpaign_asset_result\x18\x34 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignAssetResultH\x00\x12\x64\n\x19\x63\x61mpaign_asset_set_result\x18I \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateCampaignAssetSetResultH\x00\x12j\n\x1c\x63\x61mpaign_bid_modifier_result\x18\x07 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateCampaignBidModifierResultH\x00\x12_\n\x16\x63\x61mpaign_budget_result\x18\x08 \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateCampaignBudgetResultH\x00\x12p\n\x1f\x63\x61mpaign_conversion_goal_result\x18\x43 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateCampaignConversionGoalResultH\x00\x12\x65\n\x19\x63\x61mpaign_criterion_result\x18\r \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateCampaignCriterionResultH\x00\x12g\n\x1a\x63\x61mpaign_customizer_result\x18L \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateCampaignCustomizerResultH\x00\x12]\n\x15\x63\x61mpaign_draft_result\x18\x18 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignDraftResultH\x00\x12t\n!campaign_extension_setting_result\x18\x1a \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCampaignExtensionSettingResultH\x00\x12[\n\x14\x63\x61mpaign_feed_result\x18\x1b \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateCampaignFeedResultH\x00\x12]\n\x15\x63\x61mpaign_group_result\x18\t \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignGroupResultH\x00\x12]\n\x15\x63\x61mpaign_label_result\x18\x1c \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignLabelResultH\x00\x12R\n\x0f\x63\x61mpaign_result\x18\n \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateCampaignResultH\x00\x12\x66\n\x1a\x63\x61mpaign_shared_set_result\x18\x0b \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateCampaignSharedSetResultH\x00\x12\x63\n\x18\x63onversion_action_result\x18\x0c \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateConversionActionResultH\x00\x12t\n!conversion_custom_variable_result\x18\x37 \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateConversionCustomVariableResultH\x00\x12}\n&conversion_goal_campaign_config_result\x18\x45 \x01(\x0b\x32K.google.ads.googleads.v17.services.MutateConversionGoalCampaignConfigResultH\x00\x12j\n\x1c\x63onversion_value_rule_result\x18? \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateConversionValueRuleResultH\x00\x12q\n conversion_value_rule_set_result\x18@ \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateConversionValueRuleSetResultH\x00\x12l\n\x1d\x63ustom_conversion_goal_result\x18\x44 \x01(\x0b\x32\x43.google.ads.googleads.v17.services.MutateCustomConversionGoalResultH\x00\x12]\n\x15\x63ustomer_asset_result\x18\x39 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCustomerAssetResultH\x00\x12p\n\x1f\x63ustomer_conversion_goal_result\x18\x42 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateCustomerConversionGoalResultH\x00\x12g\n\x1a\x63ustomer_customizer_result\x18J \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateCustomerCustomizerResultH\x00\x12t\n!customer_extension_setting_result\x18\x1e \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCustomerExtensionSettingResultH\x00\x12[\n\x14\x63ustomer_feed_result\x18\x1f \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateCustomerFeedResultH\x00\x12]\n\x15\x63ustomer_label_result\x18 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCustomerLabelResultH\x00\x12u\n\"customer_negative_criterion_result\x18\" \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCustomerNegativeCriteriaResultH\x00\x12R\n\x0f\x63ustomer_result\x18# \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateCustomerResultH\x00\x12i\n\x1b\x63ustomizer_attribute_result\x18\x46 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateCustomizerAttributeResultH\x00\x12V\n\x11\x65xperiment_result\x18Q \x01(\x0b\x32\x39.google.ads.googleads.v17.services.MutateExperimentResultH\x00\x12]\n\x15\x65xperiment_arm_result\x18R \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateExperimentArmResultH\x00\x12\x66\n\x1a\x65xtension_feed_item_result\x18$ \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateExtensionFeedItemResultH\x00\x12S\n\x10\x66\x65\x65\x64_item_result\x18% \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateFeedItemResultH\x00\x12Z\n\x14\x66\x65\x65\x64_item_set_result\x18\x35 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateFeedItemSetResultH\x00\x12\x63\n\x19\x66\x65\x65\x64_item_set_link_result\x18\x36 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateFeedItemSetLinkResultH\x00\x12`\n\x17\x66\x65\x65\x64_item_target_result\x18& \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateFeedItemTargetResultH\x00\x12Y\n\x13\x66\x65\x65\x64_mapping_result\x18\' \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateFeedMappingResultH\x00\x12J\n\x0b\x66\x65\x65\x64_result\x18( \x01(\x0b\x32\x33.google.ads.googleads.v17.services.MutateFeedResultH\x00\x12i\n\x1ckeyword_plan_ad_group_result\x18, \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateKeywordPlanAdGroupResultH\x00\x12j\n\x1ckeyword_plan_campaign_result\x18- \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateKeywordPlanCampaignResultH\x00\x12x\n$keyword_plan_ad_group_keyword_result\x18\x32 \x01(\x0b\x32H.google.ads.googleads.v17.services.MutateKeywordPlanAdGroupKeywordResultH\x00\x12y\n$keyword_plan_campaign_keyword_result\x18\x33 \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateKeywordPlanCampaignKeywordResultH\x00\x12Z\n\x13keyword_plan_result\x18\x30 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateKeywordPlansResultH\x00\x12L\n\x0clabel_result\x18) \x01(\x0b\x32\x34.google.ads.googleads.v17.services.MutateLabelResultH\x00\x12w\n\"recommendation_subscription_result\x18U \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateRecommendationSubscriptionResultH\x00\x12\x65\n\x19remarketing_action_result\x18+ \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateRemarketingActionResultH\x00\x12\x61\n\x17shared_criterion_result\x18\x0e \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateSharedCriterionResultH\x00\x12U\n\x11shared_set_result\x18\x0f \x01(\x0b\x32\x38.google.ads.googleads.v17.services.MutateSharedSetResultH\x00\x12l\n\x1dsmart_campaign_setting_result\x18= \x01(\x0b\x32\x43.google.ads.googleads.v17.services.MutateSmartCampaignSettingResultH\x00\x12S\n\x10user_list_result\x18\x10 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateUserListResultH\x00\x42\n\n\x08response2\xf5\x05\n\x10GoogleAdsService\x12\xcf\x01\n\x06Search\x12\x39.google.ads.googleads.v17.services.SearchGoogleAdsRequest\x1a:.google.ads.googleads.v17.services.SearchGoogleAdsResponse\"N\xda\x41\x11\x63ustomer_id,query\x82\xd3\xe4\x93\x02\x34\"//v17/customers/{customer_id=*}/googleAds:search:\x01*\x12\xe9\x01\n\x0cSearchStream\x12?.google.ads.googleads.v17.services.SearchGoogleAdsStreamRequest\x1a@.google.ads.googleads.v17.services.SearchGoogleAdsStreamResponse\"T\xda\x41\x11\x63ustomer_id,query\x82\xd3\xe4\x93\x02:\"5/v17/customers/{customer_id=*}/googleAds:searchStream:\x01*0\x01\x12\xdb\x01\n\x06Mutate\x12\x39.google.ads.googleads.v17.services.MutateGoogleAdsRequest\x1a:.google.ads.googleads.v17.services.MutateGoogleAdsResponse\"Z\xda\x41\x1d\x63ustomer_id,mutate_operations\x82\xd3\xe4\x93\x02\x34\"//v17/customers/{customer_id=*}/googleAds:mutate:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15GoogleAdsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" +descriptor_data = "\n:google/ads/googleads/v17/services/google_ads_service.proto\x12!google.ads.googleads.v17.services\x1a-google/ads/googleads/v17/common/metrics.proto\x1a.google/ads/googleads/v17/common/segments.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x38google/ads/googleads/v17/enums/summary_row_setting.proto\x1a\x44google/ads/googleads/v17/resources/accessible_bidding_strategy.proto\x1a\x37google/ads/googleads/v17/resources/account_budget.proto\x1a@google/ads/googleads/v17/resources/account_budget_proposal.proto\x1a\x35google/ads/googleads/v17/resources/account_link.proto\x1a+google/ads/googleads/v17/resources/ad.proto\x1a\x31google/ads/googleads/v17/resources/ad_group.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1aKgoogle/ads/googleads/v17/resources/ad_group_ad_asset_combination_view.proto\x1a?google/ads/googleads/v17/resources/ad_group_ad_asset_view.proto\x1a:google/ads/googleads/v17/resources/ad_group_ad_label.proto\x1a\x37google/ads/googleads/v17/resources/ad_group_asset.proto\x1a;google/ads/googleads/v17/resources/ad_group_asset_set.proto\x1a?google/ads/googleads/v17/resources/ad_group_audience_view.proto\x1a>google/ads/googleads/v17/resources/ad_group_bid_modifier.proto\x1a;google/ads/googleads/v17/resources/ad_group_criterion.proto\x1a\x46google/ads/googleads/v17/resources/ad_group_criterion_customizer.proto\x1a\x41google/ads/googleads/v17/resources/ad_group_criterion_label.proto\x1a\x46google/ads/googleads/v17/resources/ad_group_criterion_simulation.proto\x1agoogle/ads/googleads/v17/resources/asset_field_type_view.proto\x1a\x34google/ads/googleads/v17/resources/asset_group.proto\x1a:google/ads/googleads/v17/resources/asset_group_asset.proto\x1aIgoogle/ads/googleads/v17/resources/asset_group_listing_group_filter.proto\x1aGgoogle/ads/googleads/v17/resources/asset_group_product_group_view.proto\x1a;google/ads/googleads/v17/resources/asset_group_signal.proto\x1aIgoogle/ads/googleads/v17/resources/asset_group_top_combination_view.proto\x1a\x32google/ads/googleads/v17/resources/asset_set.proto\x1a\x38google/ads/googleads/v17/resources/asset_set_asset.proto\x1agoogle/ads/googleads/v17/resources/campaign_bid_modifier.proto\x1a\x38google/ads/googleads/v17/resources/campaign_budget.proto\x1a\x41google/ads/googleads/v17/resources/campaign_conversion_goal.proto\x1a;google/ads/googleads/v17/resources/campaign_criterion.proto\x1agoogle/ads/googleads/v17/resources/conversion_value_rule.proto\x1a\x42google/ads/googleads/v17/resources/conversion_value_rule_set.proto\x1a:google/ads/googleads/v17/resources/currency_constant.proto\x1a\x38google/ads/googleads/v17/resources/custom_audience.proto\x1a?google/ads/googleads/v17/resources/custom_conversion_goal.proto\x1a\x38google/ads/googleads/v17/resources/custom_interest.proto\x1a\x31google/ads/googleads/v17/resources/customer.proto\x1a\x37google/ads/googleads/v17/resources/customer_asset.proto\x1a;google/ads/googleads/v17/resources/customer_asset_set.proto\x1a\x38google/ads/googleads/v17/resources/customer_client.proto\x1a=google/ads/googleads/v17/resources/customer_client_link.proto\x1a\x41google/ads/googleads/v17/resources/customer_conversion_goal.proto\x1agoogle/ads/googleads/v17/resources/customer_manager_link.proto\x1a\x44google/ads/googleads/v17/resources/customer_negative_criterion.proto\x1a\x45google/ads/googleads/v17/resources/customer_search_term_insight.proto\x1a=google/ads/googleads/v17/resources/customer_user_access.proto\x1aHgoogle/ads/googleads/v17/resources/customer_user_access_invitation.proto\x1a=google/ads/googleads/v17/resources/customizer_attribute.proto\x1a>google/ads/googleads/v17/resources/detail_placement_view.proto\x1a=google/ads/googleads/v17/resources/detailed_demographic.proto\x1a=google/ads/googleads/v17/resources/display_keyword_view.proto\x1a\x36google/ads/googleads/v17/resources/distance_view.proto\x1a\x38google/ads/googleads/v17/resources/domain_category.proto\x1aLgoogle/ads/googleads/v17/resources/dynamic_search_ads_search_term_view.proto\x1a\x43google/ads/googleads/v17/resources/expanded_landing_page_view.proto\x1a\x33google/ads/googleads/v17/resources/experiment.proto\x1a\x37google/ads/googleads/v17/resources/experiment_arm.proto\x1agoogle/ads/googleads/v17/resources/feed_placeholder_view.proto\x1a\x34google/ads/googleads/v17/resources/gender_view.proto\x1agoogle/ads/googleads/v17/resources/keyword_plan_ad_group.proto\x1a\x46google/ads/googleads/v17/resources/keyword_plan_ad_group_keyword.proto\x1a>google/ads/googleads/v17/resources/keyword_plan_campaign.proto\x1a\x46google/ads/googleads/v17/resources/keyword_plan_campaign_keyword.proto\x1a?google/ads/googleads/v17/resources/keyword_theme_constant.proto\x1a\x35google/ads/googleads/v17/resources/keyword_view.proto\x1a.google/ads/googleads/v17/resources/label.proto\x1a:google/ads/googleads/v17/resources/landing_page_view.proto\x1a:google/ads/googleads/v17/resources/language_constant.proto\x1a\x42google/ads/googleads/v17/resources/lead_form_submission_data.proto\x1a\x33google/ads/googleads/v17/resources/life_event.proto\x1a@google/ads/googleads/v17/resources/local_services_employee.proto\x1agoogle/ads/googleads/v17/resources/offline_user_data_job.proto\x1aJgoogle/ads/googleads/v17/resources/operating_system_version_constant.proto\x1a\x46google/ads/googleads/v17/resources/paid_organic_search_term_view.proto\x1a=google/ads/googleads/v17/resources/parental_status_view.proto\x1a\x37google/ads/googleads/v17/resources/per_store_view.proto\x1a\x42google/ads/googleads/v17/resources/product_category_constant.proto\x1a;google/ads/googleads/v17/resources/product_group_view.proto\x1a\x35google/ads/googleads/v17/resources/product_link.proto\x1a@google/ads/googleads/v17/resources/product_link_invitation.proto\x1agoogle/ads/googleads/v17/services/ad_group_asset_service.proto\x1a\x45google/ads/googleads/v17/services/ad_group_bid_modifier_service.proto\x1aMgoogle/ads/googleads/v17/services/ad_group_criterion_customizer_service.proto\x1aHgoogle/ads/googleads/v17/services/ad_group_criterion_label_service.proto\x1a\x42google/ads/googleads/v17/services/ad_group_criterion_service.proto\x1a\x43google/ads/googleads/v17/services/ad_group_customizer_service.proto\x1aJgoogle/ads/googleads/v17/services/ad_group_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/ad_group_feed_service.proto\x1a>google/ads/googleads/v17/services/ad_group_label_service.proto\x1a\x38google/ads/googleads/v17/services/ad_group_service.proto\x1agoogle/ads/googleads/v17/services/campaign_asset_service.proto\x1a\x42google/ads/googleads/v17/services/campaign_asset_set_service.proto\x1a\x45google/ads/googleads/v17/services/campaign_bid_modifier_service.proto\x1a?google/ads/googleads/v17/services/campaign_budget_service.proto\x1aHgoogle/ads/googleads/v17/services/campaign_conversion_goal_service.proto\x1a\x42google/ads/googleads/v17/services/campaign_criterion_service.proto\x1a\x43google/ads/googleads/v17/services/campaign_customizer_service.proto\x1a>google/ads/googleads/v17/services/campaign_draft_service.proto\x1aJgoogle/ads/googleads/v17/services/campaign_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/campaign_feed_service.proto\x1a>google/ads/googleads/v17/services/campaign_group_service.proto\x1a>google/ads/googleads/v17/services/campaign_label_service.proto\x1a\x38google/ads/googleads/v17/services/campaign_service.proto\x1a\x43google/ads/googleads/v17/services/campaign_shared_set_service.proto\x1a\x41google/ads/googleads/v17/services/conversion_action_service.proto\x1aJgoogle/ads/googleads/v17/services/conversion_custom_variable_service.proto\x1aOgoogle/ads/googleads/v17/services/conversion_goal_campaign_config_service.proto\x1a\x45google/ads/googleads/v17/services/conversion_value_rule_service.proto\x1aIgoogle/ads/googleads/v17/services/conversion_value_rule_set_service.proto\x1a\x46google/ads/googleads/v17/services/custom_conversion_goal_service.proto\x1a>google/ads/googleads/v17/services/customer_asset_service.proto\x1aHgoogle/ads/googleads/v17/services/customer_conversion_goal_service.proto\x1a\x43google/ads/googleads/v17/services/customer_customizer_service.proto\x1aJgoogle/ads/googleads/v17/services/customer_extension_setting_service.proto\x1a=google/ads/googleads/v17/services/customer_feed_service.proto\x1a>google/ads/googleads/v17/services/customer_label_service.proto\x1aKgoogle/ads/googleads/v17/services/customer_negative_criterion_service.proto\x1a\x38google/ads/googleads/v17/services/customer_service.proto\x1a\x44google/ads/googleads/v17/services/customizer_attribute_service.proto\x1a>google/ads/googleads/v17/services/experiment_arm_service.proto\x1a:google/ads/googleads/v17/services/experiment_service.proto\x1a\x43google/ads/googleads/v17/services/extension_feed_item_service.proto\x1a\x39google/ads/googleads/v17/services/feed_item_service.proto\x1a\x42google/ads/googleads/v17/services/feed_item_set_link_service.proto\x1a=google/ads/googleads/v17/services/feed_item_set_service.proto\x1a@google/ads/googleads/v17/services/feed_item_target_service.proto\x1a.google.ads.googleads.v17.resources.AdGroupCriterionCustomizer\x12[\n\x18\x61\x64_group_criterion_label\x18y \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.AdGroupCriterionLabel\x12\x65\n\x1d\x61\x64_group_criterion_simulation\x18n \x01(\x0b\x32>.google.ads.googleads.v17.resources.AdGroupCriterionSimulation\x12S\n\x13\x61\x64_group_customizer\x18\xb9\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.AdGroupCustomizer\x12_\n\x1a\x61\x64_group_extension_setting\x18p \x01(\x0b\x32;.google.ads.googleads.v17.resources.AdGroupExtensionSetting\x12\x46\n\rad_group_feed\x18\x43 \x01(\x0b\x32/.google.ads.googleads.v17.resources.AdGroupFeed\x12H\n\x0e\x61\x64_group_label\x18s \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.AdGroupLabel\x12R\n\x13\x61\x64_group_simulation\x18k \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.AdGroupSimulation\x12\x46\n\x0c\x61\x64_parameter\x18\x82\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.AdParameter\x12H\n\x0e\x61ge_range_view\x18\x30 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.AgeRangeView\x12L\n\x10\x61\x64_schedule_view\x18Y \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.AdScheduleView\x12K\n\x0f\x64omain_category\x18[ \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.DomainCategory\x12\x38\n\x05\x61sset\x18i \x01(\x0b\x32).google.ads.googleads.v17.resources.Asset\x12V\n\x15\x61sset_field_type_view\x18\xa8\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.AssetFieldTypeView\x12\x64\n\x1c\x63hannel_aggregate_asset_view\x18\xde\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.ChannelAggregateAssetView\x12\x66\n\x1d\x63\x61mpaign_aggregate_asset_view\x18\xe0\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.CampaignAggregateAssetView\x12O\n\x11\x61sset_group_asset\x18\xad\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.AssetGroupAsset\x12Q\n\x12\x61sset_group_signal\x18\xbf\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.AssetGroupSignal\x12k\n asset_group_listing_group_filter\x18\xb6\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.AssetGroupListingGroupFilter\x12g\n\x1e\x61sset_group_product_group_view\x18\xbd\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.AssetGroupProductGroupView\x12k\n asset_group_top_combination_view\x18\xc7\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.AssetGroupTopCombinationView\x12\x44\n\x0b\x61sset_group\x18\xac\x01 \x01(\x0b\x32..google.ads.googleads.v17.resources.AssetGroup\x12K\n\x0f\x61sset_set_asset\x18\xb4\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.AssetSetAsset\x12@\n\tasset_set\x18\xb3\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.AssetSet\x12R\n\x13\x61sset_set_type_view\x18\xc5\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.AssetSetTypeView\x12@\n\tbatch_job\x18\x8b\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.BatchJob\x12Y\n\x16\x62idding_data_exclusion\x18\x9f\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.BiddingDataExclusion\x12i\n\x1e\x62idding_seasonality_adjustment\x18\xa0\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.BiddingSeasonalityAdjustment\x12M\n\x10\x62idding_strategy\x18\x12 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.BiddingStrategy\x12\x63\n\x1b\x62idding_strategy_simulation\x18\x9e\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.BiddingStrategySimulation\x12G\n\rbilling_setup\x18) \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.BillingSetup\x12@\n\tcall_view\x18\x98\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.CallView\x12K\n\x0f\x63\x61mpaign_budget\x18\x13 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CampaignBudget\x12>\n\x08\x63\x61mpaign\x18\x02 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Campaign\x12J\n\x0e\x63\x61mpaign_asset\x18\x8e\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignAsset\x12Q\n\x12\x63\x61mpaign_asset_set\x18\xb5\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CampaignAssetSet\x12X\n\x16\x63\x61mpaign_audience_view\x18\x45 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.CampaignAudienceView\x12V\n\x15\x63\x61mpaign_bid_modifier\x18\x1a \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CampaignBidModifier\x12]\n\x18\x63\x61mpaign_conversion_goal\x18\xaf\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.CampaignConversionGoal\x12Q\n\x12\x63\x61mpaign_criterion\x18\x14 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.CampaignCriterion\x12T\n\x13\x63\x61mpaign_customizer\x18\xba\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CampaignCustomizer\x12I\n\x0e\x63\x61mpaign_draft\x18\x31 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignDraft\x12`\n\x1a\x63\x61mpaign_extension_setting\x18q \x01(\x0b\x32<.google.ads.googleads.v17.resources.CampaignExtensionSetting\x12G\n\rcampaign_feed\x18? \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.CampaignFeed\x12I\n\x0e\x63\x61mpaign_group\x18\x19 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignGroup\x12I\n\x0e\x63\x61mpaign_label\x18l \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CampaignLabel\x12[\n\x17\x63\x61mpaign_lifecycle_goal\x18\xd5\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.CampaignLifecycleGoal\x12\x64\n\x1c\x63\x61mpaign_search_term_insight\x18\xcc\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.CampaignSearchTermInsight\x12R\n\x13\x63\x61mpaign_shared_set\x18\x1e \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.CampaignSharedSet\x12T\n\x13\x63\x61mpaign_simulation\x18\x9d\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CampaignSimulation\x12M\n\x10\x63\x61rrier_constant\x18\x42 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.CarrierConstant\x12\x46\n\x0c\x63hange_event\x18\x91\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.ChangeEvent\x12G\n\rchange_status\x18% \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.ChangeStatus\x12P\n\x11\x63ombined_audience\x18\x94\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CombinedAudience\x12?\n\x08\x61udience\x18\xbe\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Audience\x12O\n\x11\x63onversion_action\x18g \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.ConversionAction\x12\x61\n\x1a\x63onversion_custom_variable\x18\x99\x01 \x01(\x0b\x32<.google.ads.googleads.v17.resources.ConversionCustomVariable\x12j\n\x1f\x63onversion_goal_campaign_config\x18\xb1\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.ConversionGoalCampaignConfig\x12W\n\x15\x63onversion_value_rule\x18\xa4\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.ConversionValueRule\x12^\n\x19\x63onversion_value_rule_set\x18\xa5\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.ConversionValueRuleSet\x12\x41\n\nclick_view\x18z \x01(\x0b\x32-.google.ads.googleads.v17.resources.ClickView\x12P\n\x11\x63urrency_constant\x18\x86\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CurrencyConstant\x12L\n\x0f\x63ustom_audience\x18\x93\x01 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomAudience\x12Y\n\x16\x63ustom_conversion_goal\x18\xb0\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.CustomConversionGoal\x12K\n\x0f\x63ustom_interest\x18h \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomInterest\x12>\n\x08\x63ustomer\x18\x01 \x01(\x0b\x32,.google.ads.googleads.v17.resources.Customer\x12J\n\x0e\x63ustomer_asset\x18\x9b\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CustomerAsset\x12Q\n\x12\x63ustomer_asset_set\x18\xc3\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.CustomerAssetSet\x12\x63\n\x1b\x61\x63\x63\x65ssible_bidding_strategy\x18\xa9\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.AccessibleBiddingStrategy\x12T\n\x13\x63ustomer_customizer\x18\xb8\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerCustomizer\x12V\n\x15\x63ustomer_manager_link\x18= \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CustomerManagerLink\x12T\n\x14\x63ustomer_client_link\x18> \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerClientLink\x12K\n\x0f\x63ustomer_client\x18\x46 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.CustomerClient\x12]\n\x18\x63ustomer_conversion_goal\x18\xae\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.CustomerConversionGoal\x12`\n\x1a\x63ustomer_extension_setting\x18r \x01(\x0b\x32<.google.ads.googleads.v17.resources.CustomerExtensionSetting\x12G\n\rcustomer_feed\x18@ \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.CustomerFeed\x12I\n\x0e\x63ustomer_label\x18| \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.CustomerLabel\x12[\n\x17\x63ustomer_lifecycle_goal\x18\xd4\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.CustomerLifecycleGoal\x12\x62\n\x1b\x63ustomer_negative_criterion\x18X \x01(\x0b\x32=.google.ads.googleads.v17.resources.CustomerNegativeCriterion\x12\x64\n\x1c\x63ustomer_search_term_insight\x18\xcd\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.CustomerSearchTermInsight\x12U\n\x14\x63ustomer_user_access\x18\x92\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.CustomerUserAccess\x12j\n\x1f\x63ustomer_user_access_invitation\x18\x96\x01 \x01(\x0b\x32@.google.ads.googleads.v17.resources.CustomerUserAccessInvitation\x12V\n\x14\x63ustomizer_attribute\x18\xb2\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.CustomizerAttribute\x12V\n\x15\x64\x65tail_placement_view\x18v \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.DetailPlacementView\x12V\n\x14\x64\x65tailed_demographic\x18\xa6\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.DetailedDemographic\x12T\n\x14\x64isplay_keyword_view\x18/ \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.DisplayKeywordView\x12H\n\rdistance_view\x18\x84\x01 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.DistanceView\x12o\n#dynamic_search_ads_search_term_view\x18j \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.DynamicSearchAdsSearchTermView\x12`\n\x1a\x65xpanded_landing_page_view\x18\x80\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.ExpandedLandingPageView\x12R\n\x13\x65xtension_feed_item\x18U \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.ExtensionFeedItem\x12\x36\n\x04\x66\x65\x65\x64\x18. \x01(\x0b\x32(.google.ads.googleads.v17.resources.Feed\x12?\n\tfeed_item\x18\x32 \x01(\x0b\x32,.google.ads.googleads.v17.resources.FeedItem\x12G\n\rfeed_item_set\x18\x95\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.FeedItemSet\x12P\n\x12\x66\x65\x65\x64_item_set_link\x18\x97\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.FeedItemSetLink\x12L\n\x10\x66\x65\x65\x64_item_target\x18t \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.FeedItemTarget\x12\x45\n\x0c\x66\x65\x65\x64_mapping\x18: \x01(\x0b\x32/.google.ads.googleads.v17.resources.FeedMapping\x12V\n\x15\x66\x65\x65\x64_placeholder_view\x18\x61 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.FeedPlaceholderView\x12\x43\n\x0bgender_view\x18( \x01(\x0b\x32..google.ads.googleads.v17.resources.GenderView\x12R\n\x13geo_target_constant\x18\x17 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.GeoTargetConstant\x12K\n\x0fgeographic_view\x18} \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.GeographicView\x12T\n\x14group_placement_view\x18w \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.GroupPlacementView\x12L\n\x10hotel_group_view\x18\x33 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.HotelGroupView\x12X\n\x16hotel_performance_view\x18G \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.HotelPerformanceView\x12V\n\x14hotel_reconciliation\x18\xbc\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.HotelReconciliation\x12O\n\x11income_range_view\x18\x8a\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.IncomeRangeView\x12\x45\n\x0ckeyword_view\x18\x15 \x01(\x0b\x32/.google.ads.googleads.v17.resources.KeywordView\x12\x45\n\x0ckeyword_plan\x18 \x01(\x0b\x32/.google.ads.googleads.v17.resources.KeywordPlan\x12V\n\x15keyword_plan_campaign\x18! \x01(\x0b\x32\x37.google.ads.googleads.v17.resources.KeywordPlanCampaign\x12\x66\n\x1dkeyword_plan_campaign_keyword\x18\x8c\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.KeywordPlanCampaignKeyword\x12U\n\x15keyword_plan_ad_group\x18# \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.KeywordPlanAdGroup\x12\x65\n\x1dkeyword_plan_ad_group_keyword\x18\x8d\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.KeywordPlanAdGroupKeyword\x12Y\n\x16keyword_theme_constant\x18\xa3\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.KeywordThemeConstant\x12\x38\n\x05label\x18\x34 \x01(\x0b\x32).google.ads.googleads.v17.resources.Label\x12N\n\x11landing_page_view\x18~ \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.LandingPageView\x12O\n\x11language_constant\x18\x37 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.LanguageConstant\x12G\n\rlocation_view\x18{ \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.LocationView\x12X\n\x16managed_placement_view\x18\x35 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.ManagedPlacementView\x12\x41\n\nmedia_file\x18Z \x01(\x0b\x32-.google.ads.googleads.v17.resources.MediaFile\x12[\n\x17local_services_employee\x18\xdf\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.LocalServicesEmployee\x12t\n$local_services_verification_artifact\x18\xd3\x01 \x01(\x0b\x32\x45.google.ads.googleads.v17.resources.LocalServicesVerificationArtifact\x12\x63\n\x1cmobile_app_category_constant\x18W \x01(\x0b\x32=.google.ads.googleads.v17.resources.MobileAppCategoryConstant\x12X\n\x16mobile_device_constant\x18\x62 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.MobileDeviceConstant\x12{\n(offline_conversion_upload_client_summary\x18\xd8\x01 \x01(\x0b\x32H.google.ads.googleads.v17.resources.OfflineConversionUploadClientSummary\x12\x90\x01\n3offline_conversion_upload_conversion_action_summary\x18\xe4\x01 \x01(\x0b\x32R.google.ads.googleads.v17.resources.OfflineConversionUploadConversionActionSummary\x12V\n\x15offline_user_data_job\x18\x89\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.OfflineUserDataJob\x12m\n!operating_system_version_constant\x18V \x01(\x0b\x32\x42.google.ads.googleads.v17.resources.OperatingSystemVersionConstant\x12\x65\n\x1dpaid_organic_search_term_view\x18\x81\x01 \x01(\x0b\x32=.google.ads.googleads.v17.resources.PaidOrganicSearchTermView\x12T\n\x13qualifying_question\x18\xca\x01 \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.QualifyingQuestion\x12T\n\x14parental_status_view\x18- \x01(\x0b\x32\x36.google.ads.googleads.v17.resources.ParentalStatusView\x12I\n\x0eper_store_view\x18\xc6\x01 \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.PerStoreView\x12_\n\x19product_category_constant\x18\xd0\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.ProductCategoryConstant\x12P\n\x12product_group_view\x18\x36 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.ProductGroupView\x12\x46\n\x0cproduct_link\x18\xc2\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.ProductLink\x12[\n\x17product_link_invitation\x18\xd1\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.resources.ProductLinkInvitation\x12J\n\x0erecommendation\x18\x16 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.Recommendation\x12\x64\n\x1brecommendation_subscription\x18\xdc\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.RecommendationSubscription\x12L\n\x10search_term_view\x18\x44 \x01(\x0b\x32\x32.google.ads.googleads.v17.resources.SearchTermView\x12M\n\x10shared_criterion\x18\x1d \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.SharedCriterion\x12\x41\n\nshared_set\x18\x1b \x01(\x0b\x32-.google.ads.googleads.v17.resources.SharedSet\x12Y\n\x16smart_campaign_setting\x18\xa7\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.SmartCampaignSetting\x12^\n\x19shopping_performance_view\x18u \x01(\x0b\x32;.google.ads.googleads.v17.resources.ShoppingPerformanceView\x12N\n\x10shopping_product\x18\xe2\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.resources.ShoppingProduct\x12i\n\x1fsmart_campaign_search_term_view\x18\xaa\x01 \x01(\x0b\x32?.google.ads.googleads.v17.resources.SmartCampaignSearchTermView\x12g\n\x1ethird_party_app_analytics_link\x18\x90\x01 \x01(\x0b\x32>.google.ads.googleads.v17.resources.ThirdPartyAppAnalyticsLink\x12\x41\n\ntopic_view\x18, \x01(\x0b\x32-.google.ads.googleads.v17.resources.TopicView\x12`\n\x1atravel_activity_group_view\x18\xc9\x01 \x01(\x0b\x32;.google.ads.googleads.v17.resources.TravelActivityGroupView\x12l\n travel_activity_performance_view\x18\xc8\x01 \x01(\x0b\x32\x41.google.ads.googleads.v17.resources.TravelActivityPerformanceView\x12\x43\n\nexperiment\x18\x85\x01 \x01(\x0b\x32..google.ads.googleads.v17.resources.Experiment\x12J\n\x0e\x65xperiment_arm\x18\xb7\x01 \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.ExperimentArm\x12G\n\ruser_interest\x18; \x01(\x0b\x32\x30.google.ads.googleads.v17.resources.UserInterest\x12\x42\n\nlife_event\x18\xa1\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.LifeEvent\x12?\n\tuser_list\x18& \x01(\x0b\x32,.google.ads.googleads.v17.resources.UserList\x12Z\n\x17user_list_customer_type\x18\xe1\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.resources.UserListCustomerType\x12Q\n\x12user_location_view\x18\x87\x01 \x01(\x0b\x32\x34.google.ads.googleads.v17.resources.UserLocationView\x12Q\n\x12remarketing_action\x18< \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.RemarketingAction\x12I\n\x0etopic_constant\x18\x1f \x01(\x0b\x32\x31.google.ads.googleads.v17.resources.TopicConstant\x12\x38\n\x05video\x18\' \x01(\x0b\x32).google.ads.googleads.v17.resources.Video\x12\x46\n\x0cwebpage_view\x18\xa2\x01 \x01(\x0b\x32/.google.ads.googleads.v17.resources.WebpageView\x12^\n\x19lead_form_submission_data\x18\xc0\x01 \x01(\x0b\x32:.google.ads.googleads.v17.resources.LeadFormSubmissionData\x12S\n\x13local_services_lead\x18\xd2\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.resources.LocalServicesLead\x12l\n local_services_lead_conversation\x18\xd6\x01 \x01(\x0b\x32\x41.google.ads.googleads.v17.resources.LocalServicesLeadConversation\x12}\n*android_privacy_shared_key_google_ad_group\x18\xd9\x01 \x01(\x0b\x32H.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleAdGroup\x12~\n*android_privacy_shared_key_google_campaign\x18\xda\x01 \x01(\x0b\x32I.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleCampaign\x12\x85\x01\n.android_privacy_shared_key_google_network_type\x18\xdb\x01 \x01(\x0b\x32L.google.ads.googleads.v17.resources.AndroidPrivacySharedKeyGoogleNetworkType\x12\x39\n\x07metrics\x18\x04 \x01(\x0b\x32(.google.ads.googleads.v17.common.Metrics\x12;\n\x08segments\x18\x66 \x01(\x0b\x32).google.ads.googleads.v17.common.Segments\"\xa2\x02\n\x16MutateGoogleAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12R\n\x11mutate_operations\x18\x02 \x03(\x0b\x32\x32.google.ads.googleads.v17.services.MutateOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xac\x01\n\x17MutateGoogleAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12^\n\x1amutate_operation_responses\x18\x01 \x03(\x0b\x32:.google.ads.googleads.v17.services.MutateOperationResponse\"\xa4;\n\x0fMutateOperation\x12\x61\n\x1b\x61\x64_group_ad_label_operation\x18\x11 \x01(\x0b\x32:.google.ads.googleads.v17.services.AdGroupAdLabelOperationH\x00\x12V\n\x15\x61\x64_group_ad_operation\x18\x01 \x01(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationH\x00\x12\\\n\x18\x61\x64_group_asset_operation\x18\x38 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.AdGroupAssetOperationH\x00\x12i\n\x1f\x61\x64_group_bid_modifier_operation\x18\x02 \x01(\x0b\x32>.google.ads.googleads.v17.services.AdGroupBidModifierOperationH\x00\x12y\n\'ad_group_criterion_customizer_operation\x18M \x01(\x0b\x32\x46.google.ads.googleads.v17.services.AdGroupCriterionCustomizerOperationH\x00\x12o\n\"ad_group_criterion_label_operation\x18\x12 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.AdGroupCriterionLabelOperationH\x00\x12\x64\n\x1c\x61\x64_group_criterion_operation\x18\x03 \x01(\x0b\x32<.google.ads.googleads.v17.services.AdGroupCriterionOperationH\x00\x12\x66\n\x1d\x61\x64_group_customizer_operation\x18K \x01(\x0b\x32=.google.ads.googleads.v17.services.AdGroupCustomizerOperationH\x00\x12s\n$ad_group_extension_setting_operation\x18\x13 \x01(\x0b\x32\x43.google.ads.googleads.v17.services.AdGroupExtensionSettingOperationH\x00\x12Z\n\x17\x61\x64_group_feed_operation\x18\x14 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AdGroupFeedOperationH\x00\x12\\\n\x18\x61\x64_group_label_operation\x18\x15 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.AdGroupLabelOperationH\x00\x12Q\n\x12\x61\x64_group_operation\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.AdGroupOperationH\x00\x12\x46\n\x0c\x61\x64_operation\x18\x31 \x01(\x0b\x32..google.ads.googleads.v17.services.AdOperationH\x00\x12Y\n\x16\x61\x64_parameter_operation\x18\x16 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AdParameterOperationH\x00\x12L\n\x0f\x61sset_operation\x18\x17 \x01(\x0b\x32\x31.google.ads.googleads.v17.services.AssetOperationH\x00\x12\x62\n\x1b\x61sset_group_asset_operation\x18\x41 \x01(\x0b\x32;.google.ads.googleads.v17.services.AssetGroupAssetOperationH\x00\x12~\n*asset_group_listing_group_filter_operation\x18N \x01(\x0b\x32H.google.ads.googleads.v17.services.AssetGroupListingGroupFilterOperationH\x00\x12\x64\n\x1c\x61sset_group_signal_operation\x18P \x01(\x0b\x32<.google.ads.googleads.v17.services.AssetGroupSignalOperationH\x00\x12W\n\x15\x61sset_group_operation\x18> \x01(\x0b\x32\x36.google.ads.googleads.v17.services.AssetGroupOperationH\x00\x12^\n\x19\x61sset_set_asset_operation\x18G \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AssetSetAssetOperationH\x00\x12S\n\x13\x61sset_set_operation\x18H \x01(\x0b\x32\x34.google.ads.googleads.v17.services.AssetSetOperationH\x00\x12R\n\x12\x61udience_operation\x18Q \x01(\x0b\x32\x34.google.ads.googleads.v17.services.AudienceOperationH\x00\x12l\n bidding_data_exclusion_operation\x18: \x01(\x0b\x32@.google.ads.googleads.v17.services.BiddingDataExclusionOperationH\x00\x12|\n(bidding_seasonality_adjustment_operation\x18; \x01(\x0b\x32H.google.ads.googleads.v17.services.BiddingSeasonalityAdjustmentOperationH\x00\x12\x61\n\x1a\x62idding_strategy_operation\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.BiddingStrategyOperationH\x00\x12]\n\x18\x63\x61mpaign_asset_operation\x18\x34 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignAssetOperationH\x00\x12\x64\n\x1c\x63\x61mpaign_asset_set_operation\x18I \x01(\x0b\x32<.google.ads.googleads.v17.services.CampaignAssetSetOperationH\x00\x12j\n\x1f\x63\x61mpaign_bid_modifier_operation\x18\x07 \x01(\x0b\x32?.google.ads.googleads.v17.services.CampaignBidModifierOperationH\x00\x12_\n\x19\x63\x61mpaign_budget_operation\x18\x08 \x01(\x0b\x32:.google.ads.googleads.v17.services.CampaignBudgetOperationH\x00\x12p\n\"campaign_conversion_goal_operation\x18\x43 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.CampaignConversionGoalOperationH\x00\x12\x65\n\x1c\x63\x61mpaign_criterion_operation\x18\r \x01(\x0b\x32=.google.ads.googleads.v17.services.CampaignCriterionOperationH\x00\x12g\n\x1d\x63\x61mpaign_customizer_operation\x18L \x01(\x0b\x32>.google.ads.googleads.v17.services.CampaignCustomizerOperationH\x00\x12]\n\x18\x63\x61mpaign_draft_operation\x18\x18 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignDraftOperationH\x00\x12t\n$campaign_extension_setting_operation\x18\x1a \x01(\x0b\x32\x44.google.ads.googleads.v17.services.CampaignExtensionSettingOperationH\x00\x12[\n\x17\x63\x61mpaign_feed_operation\x18\x1b \x01(\x0b\x32\x38.google.ads.googleads.v17.services.CampaignFeedOperationH\x00\x12]\n\x18\x63\x61mpaign_group_operation\x18\t \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignGroupOperationH\x00\x12]\n\x18\x63\x61mpaign_label_operation\x18\x1c \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CampaignLabelOperationH\x00\x12R\n\x12\x63\x61mpaign_operation\x18\n \x01(\x0b\x32\x34.google.ads.googleads.v17.services.CampaignOperationH\x00\x12\x66\n\x1d\x63\x61mpaign_shared_set_operation\x18\x0b \x01(\x0b\x32=.google.ads.googleads.v17.services.CampaignSharedSetOperationH\x00\x12\x63\n\x1b\x63onversion_action_operation\x18\x0c \x01(\x0b\x32<.google.ads.googleads.v17.services.ConversionActionOperationH\x00\x12t\n$conversion_custom_variable_operation\x18\x37 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.ConversionCustomVariableOperationH\x00\x12}\n)conversion_goal_campaign_config_operation\x18\x45 \x01(\x0b\x32H.google.ads.googleads.v17.services.ConversionGoalCampaignConfigOperationH\x00\x12j\n\x1f\x63onversion_value_rule_operation\x18? \x01(\x0b\x32?.google.ads.googleads.v17.services.ConversionValueRuleOperationH\x00\x12q\n#conversion_value_rule_set_operation\x18@ \x01(\x0b\x32\x42.google.ads.googleads.v17.services.ConversionValueRuleSetOperationH\x00\x12l\n custom_conversion_goal_operation\x18\x44 \x01(\x0b\x32@.google.ads.googleads.v17.services.CustomConversionGoalOperationH\x00\x12]\n\x18\x63ustomer_asset_operation\x18\x39 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CustomerAssetOperationH\x00\x12p\n\"customer_conversion_goal_operation\x18\x42 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.CustomerConversionGoalOperationH\x00\x12g\n\x1d\x63ustomer_customizer_operation\x18O \x01(\x0b\x32>.google.ads.googleads.v17.services.CustomerCustomizerOperationH\x00\x12t\n$customer_extension_setting_operation\x18\x1e \x01(\x0b\x32\x44.google.ads.googleads.v17.services.CustomerExtensionSettingOperationH\x00\x12[\n\x17\x63ustomer_feed_operation\x18\x1f \x01(\x0b\x32\x38.google.ads.googleads.v17.services.CustomerFeedOperationH\x00\x12]\n\x18\x63ustomer_label_operation\x18 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.CustomerLabelOperationH\x00\x12v\n%customer_negative_criterion_operation\x18\" \x01(\x0b\x32\x45.google.ads.googleads.v17.services.CustomerNegativeCriterionOperationH\x00\x12R\n\x12\x63ustomer_operation\x18# \x01(\x0b\x32\x34.google.ads.googleads.v17.services.CustomerOperationH\x00\x12i\n\x1e\x63ustomizer_attribute_operation\x18\x46 \x01(\x0b\x32?.google.ads.googleads.v17.services.CustomizerAttributeOperationH\x00\x12V\n\x14\x65xperiment_operation\x18R \x01(\x0b\x32\x36.google.ads.googleads.v17.services.ExperimentOperationH\x00\x12]\n\x18\x65xperiment_arm_operation\x18S \x01(\x0b\x32\x39.google.ads.googleads.v17.services.ExperimentArmOperationH\x00\x12\x66\n\x1d\x65xtension_feed_item_operation\x18$ \x01(\x0b\x32=.google.ads.googleads.v17.services.ExtensionFeedItemOperationH\x00\x12S\n\x13\x66\x65\x65\x64_item_operation\x18% \x01(\x0b\x32\x34.google.ads.googleads.v17.services.FeedItemOperationH\x00\x12Z\n\x17\x66\x65\x65\x64_item_set_operation\x18\x35 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.FeedItemSetOperationH\x00\x12\x63\n\x1c\x66\x65\x65\x64_item_set_link_operation\x18\x36 \x01(\x0b\x32;.google.ads.googleads.v17.services.FeedItemSetLinkOperationH\x00\x12`\n\x1a\x66\x65\x65\x64_item_target_operation\x18& \x01(\x0b\x32:.google.ads.googleads.v17.services.FeedItemTargetOperationH\x00\x12Y\n\x16\x66\x65\x65\x64_mapping_operation\x18\' \x01(\x0b\x32\x37.google.ads.googleads.v17.services.FeedMappingOperationH\x00\x12J\n\x0e\x66\x65\x65\x64_operation\x18( \x01(\x0b\x32\x30.google.ads.googleads.v17.services.FeedOperationH\x00\x12i\n\x1fkeyword_plan_ad_group_operation\x18, \x01(\x0b\x32>.google.ads.googleads.v17.services.KeywordPlanAdGroupOperationH\x00\x12x\n\'keyword_plan_ad_group_keyword_operation\x18\x32 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.KeywordPlanAdGroupKeywordOperationH\x00\x12y\n\'keyword_plan_campaign_keyword_operation\x18\x33 \x01(\x0b\x32\x46.google.ads.googleads.v17.services.KeywordPlanCampaignKeywordOperationH\x00\x12j\n\x1fkeyword_plan_campaign_operation\x18- \x01(\x0b\x32?.google.ads.googleads.v17.services.KeywordPlanCampaignOperationH\x00\x12Y\n\x16keyword_plan_operation\x18\x30 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.KeywordPlanOperationH\x00\x12L\n\x0flabel_operation\x18) \x01(\x0b\x32\x31.google.ads.googleads.v17.services.LabelOperationH\x00\x12w\n%recommendation_subscription_operation\x18V \x01(\x0b\x32\x46.google.ads.googleads.v17.services.RecommendationSubscriptionOperationH\x00\x12\x65\n\x1cremarketing_action_operation\x18+ \x01(\x0b\x32=.google.ads.googleads.v17.services.RemarketingActionOperationH\x00\x12\x61\n\x1ashared_criterion_operation\x18\x0e \x01(\x0b\x32;.google.ads.googleads.v17.services.SharedCriterionOperationH\x00\x12U\n\x14shared_set_operation\x18\x0f \x01(\x0b\x32\x35.google.ads.googleads.v17.services.SharedSetOperationH\x00\x12l\n smart_campaign_setting_operation\x18= \x01(\x0b\x32@.google.ads.googleads.v17.services.SmartCampaignSettingOperationH\x00\x12S\n\x13user_list_operation\x18\x10 \x01(\x0b\x32\x34.google.ads.googleads.v17.services.UserListOperationH\x00\x42\x0b\n\toperation\"\xad;\n\x17MutateOperationResponse\x12\x61\n\x18\x61\x64_group_ad_label_result\x18\x11 \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateAdGroupAdLabelResultH\x00\x12V\n\x12\x61\x64_group_ad_result\x18\x01 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResultH\x00\x12\\\n\x15\x61\x64_group_asset_result\x18\x38 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateAdGroupAssetResultH\x00\x12i\n\x1c\x61\x64_group_bid_modifier_result\x18\x02 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateAdGroupBidModifierResultH\x00\x12y\n$ad_group_criterion_customizer_result\x18M \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateAdGroupCriterionCustomizerResultH\x00\x12o\n\x1f\x61\x64_group_criterion_label_result\x18\x12 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.MutateAdGroupCriterionLabelResultH\x00\x12\x64\n\x19\x61\x64_group_criterion_result\x18\x03 \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateAdGroupCriterionResultH\x00\x12\x66\n\x1a\x61\x64_group_customizer_result\x18K \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateAdGroupCustomizerResultH\x00\x12s\n!ad_group_extension_setting_result\x18\x13 \x01(\x0b\x32\x46.google.ads.googleads.v17.services.MutateAdGroupExtensionSettingResultH\x00\x12Z\n\x14\x61\x64_group_feed_result\x18\x14 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateAdGroupFeedResultH\x00\x12\\\n\x15\x61\x64_group_label_result\x18\x15 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateAdGroupLabelResultH\x00\x12Q\n\x0f\x61\x64_group_result\x18\x05 \x01(\x0b\x32\x36.google.ads.googleads.v17.services.MutateAdGroupResultH\x00\x12Y\n\x13\x61\x64_parameter_result\x18\x16 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateAdParameterResultH\x00\x12\x46\n\tad_result\x18\x31 \x01(\x0b\x32\x31.google.ads.googleads.v17.services.MutateAdResultH\x00\x12L\n\x0c\x61sset_result\x18\x17 \x01(\x0b\x32\x34.google.ads.googleads.v17.services.MutateAssetResultH\x00\x12\x62\n\x18\x61sset_group_asset_result\x18\x41 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateAssetGroupAssetResultH\x00\x12~\n\'asset_group_listing_group_filter_result\x18N \x01(\x0b\x32K.google.ads.googleads.v17.services.MutateAssetGroupListingGroupFilterResultH\x00\x12\x64\n\x19\x61sset_group_signal_result\x18O \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateAssetGroupSignalResultH\x00\x12W\n\x12\x61sset_group_result\x18> \x01(\x0b\x32\x39.google.ads.googleads.v17.services.MutateAssetGroupResultH\x00\x12^\n\x16\x61sset_set_asset_result\x18G \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateAssetSetAssetResultH\x00\x12S\n\x10\x61sset_set_result\x18H \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateAssetSetResultH\x00\x12R\n\x0f\x61udience_result\x18P \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateAudienceResultH\x00\x12m\n\x1d\x62idding_data_exclusion_result\x18: \x01(\x0b\x32\x44.google.ads.googleads.v17.services.MutateBiddingDataExclusionsResultH\x00\x12}\n%bidding_seasonality_adjustment_result\x18; \x01(\x0b\x32L.google.ads.googleads.v17.services.MutateBiddingSeasonalityAdjustmentsResultH\x00\x12\x61\n\x17\x62idding_strategy_result\x18\x06 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateBiddingStrategyResultH\x00\x12]\n\x15\x63\x61mpaign_asset_result\x18\x34 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignAssetResultH\x00\x12\x64\n\x19\x63\x61mpaign_asset_set_result\x18I \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateCampaignAssetSetResultH\x00\x12j\n\x1c\x63\x61mpaign_bid_modifier_result\x18\x07 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateCampaignBidModifierResultH\x00\x12_\n\x16\x63\x61mpaign_budget_result\x18\x08 \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateCampaignBudgetResultH\x00\x12p\n\x1f\x63\x61mpaign_conversion_goal_result\x18\x43 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateCampaignConversionGoalResultH\x00\x12\x65\n\x19\x63\x61mpaign_criterion_result\x18\r \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateCampaignCriterionResultH\x00\x12g\n\x1a\x63\x61mpaign_customizer_result\x18L \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateCampaignCustomizerResultH\x00\x12]\n\x15\x63\x61mpaign_draft_result\x18\x18 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignDraftResultH\x00\x12t\n!campaign_extension_setting_result\x18\x1a \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCampaignExtensionSettingResultH\x00\x12[\n\x14\x63\x61mpaign_feed_result\x18\x1b \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateCampaignFeedResultH\x00\x12]\n\x15\x63\x61mpaign_group_result\x18\t \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignGroupResultH\x00\x12]\n\x15\x63\x61mpaign_label_result\x18\x1c \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCampaignLabelResultH\x00\x12R\n\x0f\x63\x61mpaign_result\x18\n \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateCampaignResultH\x00\x12\x66\n\x1a\x63\x61mpaign_shared_set_result\x18\x0b \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateCampaignSharedSetResultH\x00\x12\x63\n\x18\x63onversion_action_result\x18\x0c \x01(\x0b\x32?.google.ads.googleads.v17.services.MutateConversionActionResultH\x00\x12t\n!conversion_custom_variable_result\x18\x37 \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateConversionCustomVariableResultH\x00\x12}\n&conversion_goal_campaign_config_result\x18\x45 \x01(\x0b\x32K.google.ads.googleads.v17.services.MutateConversionGoalCampaignConfigResultH\x00\x12j\n\x1c\x63onversion_value_rule_result\x18? \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateConversionValueRuleResultH\x00\x12q\n conversion_value_rule_set_result\x18@ \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateConversionValueRuleSetResultH\x00\x12l\n\x1d\x63ustom_conversion_goal_result\x18\x44 \x01(\x0b\x32\x43.google.ads.googleads.v17.services.MutateCustomConversionGoalResultH\x00\x12]\n\x15\x63ustomer_asset_result\x18\x39 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCustomerAssetResultH\x00\x12p\n\x1f\x63ustomer_conversion_goal_result\x18\x42 \x01(\x0b\x32\x45.google.ads.googleads.v17.services.MutateCustomerConversionGoalResultH\x00\x12g\n\x1a\x63ustomer_customizer_result\x18J \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateCustomerCustomizerResultH\x00\x12t\n!customer_extension_setting_result\x18\x1e \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCustomerExtensionSettingResultH\x00\x12[\n\x14\x63ustomer_feed_result\x18\x1f \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateCustomerFeedResultH\x00\x12]\n\x15\x63ustomer_label_result\x18 \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateCustomerLabelResultH\x00\x12u\n\"customer_negative_criterion_result\x18\" \x01(\x0b\x32G.google.ads.googleads.v17.services.MutateCustomerNegativeCriteriaResultH\x00\x12R\n\x0f\x63ustomer_result\x18# \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateCustomerResultH\x00\x12i\n\x1b\x63ustomizer_attribute_result\x18\x46 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateCustomizerAttributeResultH\x00\x12V\n\x11\x65xperiment_result\x18Q \x01(\x0b\x32\x39.google.ads.googleads.v17.services.MutateExperimentResultH\x00\x12]\n\x15\x65xperiment_arm_result\x18R \x01(\x0b\x32<.google.ads.googleads.v17.services.MutateExperimentArmResultH\x00\x12\x66\n\x1a\x65xtension_feed_item_result\x18$ \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateExtensionFeedItemResultH\x00\x12S\n\x10\x66\x65\x65\x64_item_result\x18% \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateFeedItemResultH\x00\x12Z\n\x14\x66\x65\x65\x64_item_set_result\x18\x35 \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateFeedItemSetResultH\x00\x12\x63\n\x19\x66\x65\x65\x64_item_set_link_result\x18\x36 \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateFeedItemSetLinkResultH\x00\x12`\n\x17\x66\x65\x65\x64_item_target_result\x18& \x01(\x0b\x32=.google.ads.googleads.v17.services.MutateFeedItemTargetResultH\x00\x12Y\n\x13\x66\x65\x65\x64_mapping_result\x18\' \x01(\x0b\x32:.google.ads.googleads.v17.services.MutateFeedMappingResultH\x00\x12J\n\x0b\x66\x65\x65\x64_result\x18( \x01(\x0b\x32\x33.google.ads.googleads.v17.services.MutateFeedResultH\x00\x12i\n\x1ckeyword_plan_ad_group_result\x18, \x01(\x0b\x32\x41.google.ads.googleads.v17.services.MutateKeywordPlanAdGroupResultH\x00\x12j\n\x1ckeyword_plan_campaign_result\x18- \x01(\x0b\x32\x42.google.ads.googleads.v17.services.MutateKeywordPlanCampaignResultH\x00\x12x\n$keyword_plan_ad_group_keyword_result\x18\x32 \x01(\x0b\x32H.google.ads.googleads.v17.services.MutateKeywordPlanAdGroupKeywordResultH\x00\x12y\n$keyword_plan_campaign_keyword_result\x18\x33 \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateKeywordPlanCampaignKeywordResultH\x00\x12Z\n\x13keyword_plan_result\x18\x30 \x01(\x0b\x32;.google.ads.googleads.v17.services.MutateKeywordPlansResultH\x00\x12L\n\x0clabel_result\x18) \x01(\x0b\x32\x34.google.ads.googleads.v17.services.MutateLabelResultH\x00\x12w\n\"recommendation_subscription_result\x18U \x01(\x0b\x32I.google.ads.googleads.v17.services.MutateRecommendationSubscriptionResultH\x00\x12\x65\n\x19remarketing_action_result\x18+ \x01(\x0b\x32@.google.ads.googleads.v17.services.MutateRemarketingActionResultH\x00\x12\x61\n\x17shared_criterion_result\x18\x0e \x01(\x0b\x32>.google.ads.googleads.v17.services.MutateSharedCriterionResultH\x00\x12U\n\x11shared_set_result\x18\x0f \x01(\x0b\x32\x38.google.ads.googleads.v17.services.MutateSharedSetResultH\x00\x12l\n\x1dsmart_campaign_setting_result\x18= \x01(\x0b\x32\x43.google.ads.googleads.v17.services.MutateSmartCampaignSettingResultH\x00\x12S\n\x10user_list_result\x18\x10 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.MutateUserListResultH\x00\x42\n\n\x08response2\xf5\x05\n\x10GoogleAdsService\x12\xcf\x01\n\x06Search\x12\x39.google.ads.googleads.v17.services.SearchGoogleAdsRequest\x1a:.google.ads.googleads.v17.services.SearchGoogleAdsResponse\"N\xda\x41\x11\x63ustomer_id,query\x82\xd3\xe4\x93\x02\x34\"//v17/customers/{customer_id=*}/googleAds:search:\x01*\x12\xe9\x01\n\x0cSearchStream\x12?.google.ads.googleads.v17.services.SearchGoogleAdsStreamRequest\x1a@.google.ads.googleads.v17.services.SearchGoogleAdsStreamResponse\"T\xda\x41\x11\x63ustomer_id,query\x82\xd3\xe4\x93\x02:\"5/v17/customers/{customer_id=*}/googleAds:searchStream:\x01*0\x01\x12\xdb\x01\n\x06Mutate\x12\x39.google.ads.googleads.v17.services.MutateGoogleAdsRequest\x1a:.google.ads.googleads.v17.services.MutateGoogleAdsResponse\"Z\xda\x41\x1d\x63ustomer_id,mutate_operations\x82\xd3\xe4\x93\x02\x34\"//v17/customers/{customer_id=*}/googleAds:mutate:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15GoogleAdsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -420,6 +421,7 @@ ["google.ads.googleads.v17.resources.MobileAppCategoryConstant", "google/ads/googleads/v17/resources/mobile_app_category_constant.proto"], ["google.ads.googleads.v17.resources.MobileDeviceConstant", "google/ads/googleads/v17/resources/mobile_device_constant.proto"], ["google.ads.googleads.v17.resources.OfflineConversionUploadClientSummary", "google/ads/googleads/v17/resources/offline_conversion_upload_client_summary.proto"], + ["google.ads.googleads.v17.resources.OfflineConversionUploadConversionActionSummary", "google/ads/googleads/v17/resources/offline_conversion_upload_conversion_action_summary.proto"], ["google.ads.googleads.v17.resources.OfflineUserDataJob", "google/ads/googleads/v17/resources/offline_user_data_job.proto"], ["google.ads.googleads.v17.resources.OperatingSystemVersionConstant", "google/ads/googleads/v17/resources/operating_system_version_constant.proto"], ["google.ads.googleads.v17.resources.PaidOrganicSearchTermView", "google/ads/googleads/v17/resources/paid_organic_search_term_view.proto"], diff --git a/lib/google/ads/google_ads/v17/services/shareable_preview_service.rb b/lib/google/ads/google_ads/v17/services/shareable_preview_service.rb new file mode 100644 index 00000000..08a57e31 --- /dev/null +++ b/lib/google/ads/google_ads/v17/services/shareable_preview_service.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "gapic/common" +require "gapic/config" +require "gapic/config/method" + +require "google/ads/google_ads/version" + +require "google/ads/google_ads/v17/services/shareable_preview_service/credentials" +require "google/ads/google_ads/v17/services/shareable_preview_service/client" + +module Google + module Ads + module GoogleAds + module V17 + module Services + ## + # Service to generate Shareable Previews. + # + # @example Load this service and instantiate a gRPC client + # + # require "google/ads/google_ads/v17/services/shareable_preview_service" + # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new + # + module ShareablePreviewService + end + end + end + end + end +end + +helper_path = ::File.join __dir__, "shareable_preview_service", "helpers.rb" +require "google/ads/google_ads/v17/services/shareable_preview_service/helpers" if ::File.file? helper_path diff --git a/lib/google/ads/google_ads/v17/services/shareable_preview_service/client.rb b/lib/google/ads/google_ads/v17/services/shareable_preview_service/client.rb new file mode 100644 index 00000000..e2aed492 --- /dev/null +++ b/lib/google/ads/google_ads/v17/services/shareable_preview_service/client.rb @@ -0,0 +1,428 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# require "google/ads/google_ads/error" +require "google/ads/google_ads/v17/services/shareable_preview_service_pb" + +module Google + module Ads + module GoogleAds + module V17 + module Services + module ShareablePreviewService + ## + # Client for the ShareablePreviewService service. + # + # Service to generate Shareable Previews. + # + class Client + # @private + API_VERSION = "" + + # @private + DEFAULT_ENDPOINT_TEMPLATE = "googleads.$UNIVERSE_DOMAIN$" + + # @private + attr_reader :shareable_preview_service_stub + + ## + # Configure the ShareablePreviewService Client class. + # + # See {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration} + # for a description of the configuration fields. + # + # @example + # + # # Modify the configuration for all ShareablePreviewService clients + # ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.configure do |config| + # config.timeout = 10.0 + # end + # + # @yield [config] Configure the Client client. + # @yieldparam config [Client::Configuration] + # + # @return [Client::Configuration] + # + def self.configure + @configure ||= begin + default_config = Client::Configuration.new + + default_config.timeout = 14_400.0 + default_config.retry_policy = { + initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config + end + yield @configure if block_given? + @configure + end + + ## + # Configure the ShareablePreviewService Client instance. + # + # The configuration is set to the derived mode, meaning that values can be changed, + # but structural changes (adding new fields, etc.) are not allowed. Structural changes + # should be made on {Client.configure}. + # + # See {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration} + # for a description of the configuration fields. + # + # @yield [config] Configure the Client client. + # @yieldparam config [Client::Configuration] + # + # @return [Client::Configuration] + # + def configure + yield @config if block_given? + @config + end + + ## + # The effective universe domain + # + # @return [String] + # + def universe_domain + @shareable_preview_service_stub.universe_domain + end + + ## + # Create a new ShareablePreviewService client object. + # + # @example + # + # # Create a client using the default configuration + # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new + # + # # Create a client using a custom configuration + # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new do |config| + # config.timeout = 10.0 + # end + # + # @yield [config] Configure the ShareablePreviewService client. + # @yieldparam config [Client::Configuration] + # + def initialize + # These require statements are intentionally placed here to initialize + # the gRPC module only when it's required. + # See https://github.com/googleapis/toolkit/issues/446 + require "gapic/grpc" + require "google/ads/google_ads/v17/services/shareable_preview_service_services_pb" + + # Create the configuration object + @config = Configuration.new Client.configure + + # Yield the configuration if needed + yield @config if block_given? + + # Create credentials + credentials = @config.credentials + # Use self-signed JWT if the endpoint is unchanged from default, + # but only if the default endpoint does not have a region prefix. + enable_self_signed_jwt = @config.endpoint.nil? || + (@config.endpoint == Configuration::DEFAULT_ENDPOINT && + !@config.endpoint.split(".").first.include?("-")) + credentials ||= Credentials.default scope: @config.scope, + enable_self_signed_jwt: enable_self_signed_jwt + if credentials.is_a?(::String) || credentials.is_a?(::Hash) + credentials = Credentials.new credentials, scope: @config.scope + end + @quota_project_id = @config.quota_project + @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id + + @shareable_preview_service_stub = ::Gapic::ServiceStub.new( + ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Stub, + credentials: credentials, + endpoint: @config.endpoint, + endpoint_template: DEFAULT_ENDPOINT_TEMPLATE, + universe_domain: @config.universe_domain, + channel_args: @config.channel_args, + interceptors: @config.interceptors, + channel_pool_config: @config.channel_pool + ) + end + + # Service calls + + ## + # Returns the requested Shareable Preview. + # + # @overload generate_shareable_previews(request, options = nil) + # Pass arguments to `generate_shareable_previews` via a request object, either of type + # {::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest} or an equivalent Hash. + # + # @param request [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload generate_shareable_previews(customer_id: nil, shareable_previews: nil) + # Pass arguments to `generate_shareable_previews` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param customer_id [::String] + # Required. The customer creating the shareable previews request. + # @param shareable_previews [::Array<::Google::Ads::GoogleAds::V17::Services::ShareablePreview, ::Hash>] + # Required. The list of shareable previews to generate. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse] + # + # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/ads/google_ads/v17/services" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest.new + # + # # Call the generate_shareable_previews method. + # result = client.generate_shareable_previews request + # + # # The returned object is of type Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse. + # p result + # + def generate_shareable_previews request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, + to: ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.generate_shareable_previews.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Ads::GoogleAds::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.customer_id + header_params["customer_id"] = request.customer_id + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.generate_shareable_previews.timeout, + metadata: metadata, + retry_policy: @config.rpcs.generate_shareable_previews.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @shareable_preview_service_stub.call_rpc :generate_shareable_previews, request, + options: options do |response, operation| + yield response, operation if block_given? + return response + end + # rescue GRPC::BadStatus => grpc_error + # raise Google::Ads::GoogleAds::Error.new grpc_error.message + end + + ## + # Configuration class for the ShareablePreviewService API. + # + # This class represents the configuration for ShareablePreviewService, + # providing control over timeouts, retry behavior, logging, transport + # parameters, and other low-level controls. Certain parameters can also be + # applied individually to specific RPCs. See + # {::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client::Configuration::Rpcs} + # for a list of RPCs that can be configured independently. + # + # Configuration can be applied globally to all clients, or to a single client + # on construction. + # + # @example + # + # # Modify the global config, setting the timeout for + # # generate_shareable_previews to 20 seconds, + # # and all remaining timeouts to 10 seconds. + # ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.configure do |config| + # config.timeout = 10.0 + # config.rpcs.generate_shareable_previews.timeout = 20.0 + # end + # + # # Apply the above configuration only to a new client. + # client = ::Google::Ads::GoogleAds::V17::Services::ShareablePreviewService::Client.new do |config| + # config.timeout = 10.0 + # config.rpcs.generate_shareable_previews.timeout = 20.0 + # end + # + # @!attribute [rw] endpoint + # A custom service endpoint, as a hostname or hostname:port. The default is + # nil, indicating to use the default endpoint in the current universe domain. + # @return [::String,nil] + # @!attribute [rw] credentials + # Credentials to send with calls. You may provide any of the following types: + # * (`String`) The path to a service account key file in JSON format + # * (`Hash`) A service account key as a Hash + # * (`Google::Auth::Credentials`) A googleauth credentials object + # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials)) + # * (`Signet::OAuth2::Client`) A signet oauth2 client object + # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client)) + # * (`GRPC::Core::Channel`) a gRPC channel with included credentials + # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object + # * (`nil`) indicating no credentials + # @return [::Object] + # @!attribute [rw] scope + # The OAuth scopes + # @return [::Array<::String>] + # @!attribute [rw] lib_name + # The library name as recorded in instrumentation and logging + # @return [::String] + # @!attribute [rw] lib_version + # The library version as recorded in instrumentation and logging + # @return [::String] + # @!attribute [rw] channel_args + # Extra parameters passed to the gRPC channel. Note: this is ignored if a + # `GRPC::Core::Channel` object is provided as the credential. + # @return [::Hash] + # @!attribute [rw] interceptors + # An array of interceptors that are run before calls are executed. + # @return [::Array<::GRPC::ClientInterceptor>] + # @!attribute [rw] timeout + # The call timeout in seconds. + # @return [::Numeric] + # @!attribute [rw] metadata + # Additional gRPC headers to be sent with the call. + # @return [::Hash{::Symbol=>::String}] + # @!attribute [rw] retry_policy + # The retry policy. The value is a hash with the following keys: + # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. + # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. + # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. + # * `:retry_codes` (*type:* `Array`) - The error codes that should + # trigger a retry. + # @return [::Hash] + # @!attribute [rw] quota_project + # A separate project against which to charge quota. + # @return [::String] + # @!attribute [rw] universe_domain + # The universe domain within which to make requests. This determines the + # default endpoint URL. The default value of nil uses the environment + # universe (usually the default "googleapis.com" universe). + # @return [::String,nil] + # + class Configuration + extend ::Gapic::Config + + # @private + # The endpoint specific to the default "googleapis.com" universe. Deprecated. + DEFAULT_ENDPOINT = "googleads.googleapis.com" + + config_attr :endpoint, nil, ::String, nil + config_attr :credentials, nil do |value| + allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, + nil] + allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC + allowed.any? { |klass| klass === value } + end + config_attr :scope, nil, ::String, ::Array, nil + config_attr :lib_name, nil, ::String, nil + config_attr :lib_version, nil, ::String, nil + config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil) + config_attr :interceptors, nil, ::Array, nil + config_attr :timeout, nil, ::Numeric, nil + config_attr :metadata, nil, ::Hash, nil + config_attr :retry_policy, nil, ::Hash, ::Proc, nil + config_attr :quota_project, nil, ::String, nil + config_attr :universe_domain, nil, ::String, nil + + # @private + def initialize parent_config = nil + @parent_config = parent_config unless parent_config.nil? + + yield self if block_given? + end + + ## + # Configurations for individual RPCs + # @return [Rpcs] + # + def rpcs + @rpcs ||= begin + parent_rpcs = nil + parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs) + Rpcs.new parent_rpcs + end + end + + ## + # Configuration for the channel pool + # @return [::Gapic::ServiceStub::ChannelPool::Configuration] + # + def channel_pool + @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new + end + + ## + # Configuration RPC class for the ShareablePreviewService API. + # + # Includes fields providing the configuration for each RPC in this service. + # Each configuration object is of type `Gapic::Config::Method` and includes + # the following configuration fields: + # + # * `timeout` (*type:* `Numeric`) - The call timeout in seconds + # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers + # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields + # include the following keys: + # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. + # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. + # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. + # * `:retry_codes` (*type:* `Array`) - The error codes that should + # trigger a retry. + # + class Rpcs + ## + # RPC-specific configuration for `generate_shareable_previews` + # @return [::Gapic::Config::Method] + # + attr_reader :generate_shareable_previews + + # @private + def initialize parent_rpcs = nil + generate_shareable_previews_config = parent_rpcs.generate_shareable_previews if parent_rpcs.respond_to? :generate_shareable_previews + @generate_shareable_previews = ::Gapic::Config::Method.new generate_shareable_previews_config + + yield self if block_given? + end + end + end + end + end + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/services/shareable_preview_service/credentials.rb b/lib/google/ads/google_ads/v17/services/shareable_preview_service/credentials.rb new file mode 100644 index 00000000..de2c72b9 --- /dev/null +++ b/lib/google/ads/google_ads/v17/services/shareable_preview_service/credentials.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "googleauth" + +module Google + module Ads + module GoogleAds + module V17 + module Services + module ShareablePreviewService + # Credentials for the ShareablePreviewService API. + class Credentials < ::Google::Auth::Credentials + self.scope = [ + "https://www.googleapis.com/auth/adwords" + ] + end + end + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/services/shareable_preview_service_pb.rb b/lib/google/ads/google_ads/v17/services/shareable_preview_service_pb.rb new file mode 100644 index 00000000..3ccd0d7e --- /dev/null +++ b/lib/google/ads/google_ads/v17/services/shareable_preview_service_pb.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/googleads/v17/services/shareable_preview_service.proto + +require 'google/protobuf' + +require 'google/api/annotations_pb' +require 'google/api/client_pb' +require 'google/api/field_behavior_pb' +require 'google/rpc/status_pb' + + +descriptor_data = "\nAgoogle/ads/googleads/v17/services/shareable_preview_service.proto\x12!google.ads.googleads.v17.services\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17google/rpc/status.proto\"\x92\x01\n GenerateShareablePreviewsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12T\n\x12shareable_previews\x18\x02 \x03(\x0b\x32\x33.google.ads.googleads.v17.services.ShareablePreviewB\x03\xe0\x41\x02\"p\n\x10ShareablePreview\x12\\\n\x16\x61sset_group_identifier\x18\x01 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AssetGroupIdentifierB\x03\xe0\x41\x02\"3\n\x14\x41ssetGroupIdentifier\x12\x1b\n\x0e\x61sset_group_id\x18\x01 \x01(\x03\x42\x03\xe0\x41\x02\"r\n!GenerateShareablePreviewsResponse\x12M\n\tresponses\x18\x01 \x03(\x0b\x32:.google.ads.googleads.v17.services.ShareablePreviewOrError\"\xad\x02\n\x17ShareablePreviewOrError\x12W\n\x16\x61sset_group_identifier\x18\x03 \x01(\x0b\x32\x37.google.ads.googleads.v17.services.AssetGroupIdentifier\x12]\n\x18shareable_preview_result\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.ShareablePreviewResultH\x00\x12\x33\n\x15partial_failure_error\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x42%\n#generate_shareable_preview_response\"U\n\x16ShareablePreviewResult\x12\x1d\n\x15shareable_preview_url\x18\x01 \x01(\t\x12\x1c\n\x14\x65xpiration_date_time\x18\x02 \x01(\t2\xef\x02\n\x17ShareablePreviewService\x12\x8c\x02\n\x19GenerateShareablePreviews\x12\x43.google.ads.googleads.v17.services.GenerateShareablePreviewsRequest\x1a\x44.google.ads.googleads.v17.services.GenerateShareablePreviewsResponse\"d\xda\x41\x1e\x63ustomer_id,shareable_previews\x82\xd3\xe4\x93\x02=\"8/v17/customers/{customer_id=*}:generateShareablePreviews:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1cShareablePreviewServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.rpc.Status", "google/rpc/status.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Ads + module GoogleAds + module V17 + module Services + GenerateShareablePreviewsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateShareablePreviewsRequest").msgclass + ShareablePreview = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreview").msgclass + AssetGroupIdentifier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AssetGroupIdentifier").msgclass + GenerateShareablePreviewsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateShareablePreviewsResponse").msgclass + ShareablePreviewOrError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreviewOrError").msgclass + ShareablePreviewResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ShareablePreviewResult").msgclass + end + end + end + end +end diff --git a/lib/google/ads/google_ads/v17/services/shareable_preview_service_services_pb.rb b/lib/google/ads/google_ads/v17/services/shareable_preview_service_services_pb.rb new file mode 100644 index 00000000..ebcb534f --- /dev/null +++ b/lib/google/ads/google_ads/v17/services/shareable_preview_service_services_pb.rb @@ -0,0 +1,47 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# Source: google/ads/googleads/v17/services/shareable_preview_service.proto for package 'Google.Ads.GoogleAds.V17.Services' +# Original file comments: +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require 'grpc' +require 'google/ads/google_ads/v17/services/shareable_preview_service_pb' + +module Google + module Ads + module GoogleAds + module V17 + module Services + module ShareablePreviewService + # Service to generate Shareable Previews. + class Service + + include ::GRPC::GenericService + + self.marshal_class_method = :encode + self.unmarshal_class_method = :decode + self.service_name = 'google.ads.googleads.v17.services.ShareablePreviewService' + + # Returns the requested Shareable Preview. + rpc :GenerateShareablePreviews, ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateShareablePreviewsResponse + end + + Stub = Service.rpc_stub_class + end + end + end + end + end +end diff --git a/lib/google/ads/google_ads/version.rb b/lib/google/ads/google_ads/version.rb index ebbab1ee..8d5988bf 100644 --- a/lib/google/ads/google_ads/version.rb +++ b/lib/google/ads/google_ads/version.rb @@ -20,7 +20,7 @@ module Google module Ads module GoogleAds CLIENT_LIB_NAME = 'gccl'.freeze - CLIENT_LIB_VERSION = '29.0.0'.freeze + CLIENT_LIB_VERSION = '30.0.0'.freeze VERSION = CLIENT_LIB_VERSION end end