// Copyright 2019 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.
//

syntax = "proto3";

package google.ads.googleads.v1.errors;

import "google/api/annotations.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors";
option java_multiple_files = true;
option java_outer_classname = "CampaignErrorProto";
option java_package = "com.google.ads.googleads.v1.errors";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors";
option ruby_package = "Google::Ads::GoogleAds::V1::Errors";
// Proto file describing campaign errors.

// Container for enum describing possible campaign errors.
message CampaignErrorEnum {
  // Enum describing possible campaign errors.
  enum CampaignError {
    // Enum unspecified.
    UNSPECIFIED = 0;

    // The received error code is not known in this version.
    UNKNOWN = 1;

    // Cannot target content network.
    CANNOT_TARGET_CONTENT_NETWORK = 3;

    // Cannot target search network.
    CANNOT_TARGET_SEARCH_NETWORK = 4;

    // Cannot cover search network without google search network.
    CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5;

    // Cannot target Google Search network for a CPM campaign.
    CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6;

    // Must target at least one network.
    CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7;

    // Only some Google partners are allowed to target partner search network.
    CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8;

    // Cannot target content network only as campaign has criteria-level bidding
    // strategy.
    CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9;

    // Cannot modify the start or end date such that the campaign duration would
    // not contain the durations of all runnable trials.
    CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10;

    // Cannot modify dates, budget or campaign name of a trial campaign.
    CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11;

    // Trying to modify the name of an active or paused campaign, where the name
    // is already assigned to another active or paused campaign.
    DUPLICATE_CAMPAIGN_NAME = 12;

    // Two fields are in conflicting modes.
    INCOMPATIBLE_CAMPAIGN_FIELD = 13;

    // Campaign name cannot be used.
    INVALID_CAMPAIGN_NAME = 14;

    // Given status is invalid.
    INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15;

    // Error in the campaign level tracking url.
    INVALID_TRACKING_URL = 16;

    // Cannot set both tracking url template and tracking setting. An user has
    // to clear legacy tracking setting in order to add tracking url template.
    CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17;

    // The maximum number of impressions for Frequency Cap should be an integer
    // greater than 0.
    MAX_IMPRESSIONS_NOT_IN_RANGE = 18;

    // Only the Day, Week and Month time units are supported.
    TIME_UNIT_NOT_SUPPORTED = 19;

    // Operation not allowed on a campaign whose serving status has ended
    INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20;

    // This budget is exclusively linked to a Campaign that is using experiments
    // so it cannot be shared.
    BUDGET_CANNOT_BE_SHARED = 21;

    // Campaigns using experiments cannot use a shared budget.
    CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22;

    // A different budget cannot be assigned to a campaign when there are
    // running or scheduled trials.
    CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23;

    // No link found between the campaign and the label.
    CAMPAIGN_LABEL_DOES_NOT_EXIST = 24;

    // The label has already been attached to the campaign.
    CAMPAIGN_LABEL_ALREADY_EXISTS = 25;

    // A ShoppingSetting was not found when creating a shopping campaign.
    MISSING_SHOPPING_SETTING = 26;

    // The country in shopping setting is not an allowed country.
    INVALID_SHOPPING_SALES_COUNTRY = 27;

    // A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a
    // UniversalAppCampaignSetting specified.
    MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30;

    // The requested channel type is not available according to the customer's
    // account setting.
    ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31;

    // The AdvertisingChannelSubType is not a valid subtype of the primary
    // channel type.
    INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32;

    // At least one conversion must be selected.
    AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33;

    // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode
    // at campaign is deprecated.
    CANNOT_SET_AD_ROTATION_MODE = 34;

    // Trying to change start date on a campaign that has started.
    CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35;

    // Trying to modify a date into the past.
    CANNOT_SET_DATE_TO_PAST = 36;

    // Hotel center id in the hotel setting does not match any customer links.
    MISSING_HOTEL_CUSTOMER_LINK = 37;

    // Hotel center id in the hotel setting must match an active customer link.
    INVALID_HOTEL_CUSTOMER_LINK = 38;

    // Hotel setting was not found when creating a hotel ads campaign.
    MISSING_HOTEL_SETTING = 39;

    // A Campaign cannot use shared campaign budgets and be part of a campaign
    // group.
    CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40;
  }


}
