/errors/recommendation_error.proto

--- v17/errors/recommendation_error.proto   2024-10-15 17:13:54.000000000 +0000
+++ v18/errors/recommendation_error.proto   2024-10-15 17:14:02.000000000 +0000
@@ -98,5 +98,71 @@
     // One or more recommendation_types need to be passed into the generate
     // recommendations request.
     RECOMMENDATION_TYPES_CANNOT_BE_EMPTY = 21;
+
+    // Bidding info is required for the CAMPAIGN_BUDGET recommendation type.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_INFO = 22;
+
+    // Bidding strategy type is required for the CAMPAIGN_BUDGET
+    // recommendation type.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_STRATEGY_TYPE = 23;
+
+    // Asset group info is required for the campaign budget recommendation type.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO = 24;
+
+    // Asset group info with final url is required for the CAMPAIGN_BUDGET
+    // recommendation type.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO_WITH_FINAL_URL =
+        25;
+
+    // Country codes are required for the CAMPAIGN_BUDGET recommendation type
+    // for SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_COUNTRY_CODES_FOR_SEARCH_CHANNEL =
+        26;
+
+    // Country code is invalid for the CAMPAIGN_BUDGET recommendation type for
+    // SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_INVALID_COUNTRY_CODE_FOR_SEARCH_CHANNEL =
+        27;
+
+    // Language codes are required for the CAMPAIGN_BUDGET recommendation type
+    // for SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_LANGUAGE_CODES_FOR_SEARCH_CHANNEL =
+        28;
+
+    // Either positive or negative location ids are required for the
+    // CAMPAIGN_BUDGET recommendation type for SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_EITHER_POSITIVE_OR_NEGATIVE_LOCATION_IDS_FOR_SEARCH_CHANNEL =
+        29;
+
+    // Ad group info is required for the CAMPAIGN_BUDGET recommendation type for
+    // SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_AD_GROUP_INFO_FOR_SEARCH_CHANNEL =
+        30;
+
+    // Keywords are required for the CAMPAIGN_BUDGET recommendation type for
+    // SEARCH channel.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_KEYWORDS_FOR_SEARCH_CHANNEL =
+        31;
+
+    // Location is required for the CAMPAIGN_BUDGET recommendation type for
+    // bidding strategy type TARGET_IMPRESSION_SHARE.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_LOCATION =
+        32;
+
+    // Target impression share micros are required for the CAMPAIGN_BUDGET
+    // recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_MICROS =
+        33;
+
+    // Target impression share micros are required to be between 1 and 1000000
+    // for the CAMPAIGN_BUDGET recommendation type for bidding strategy type
+    // TARGET_IMPRESSION_SHARE.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_TARGET_IMPRESSION_SHARE_MICROS_BETWEEN_1_AND_1000000 =
+        34;
+
+    // Target impression share info is required for the CAMPAIGN_BUDGET
+    // recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.
+    CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_INFO =
+        35;
   }
 }