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


// Proto file describing setting errors.
syntax = "proto3";

package google.ads.googleads.v0.errors;

option java_package = "com.google.ads.googleads.v0.errors";
option java_outer_classname = "SettingErrorProto";
option java_multiple_files = true;

// Objective-C prefix. Google Ads API.
option objc_class_prefix = "GAA";
option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
option php_metadata_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";

// Container for enum describing possible setting errors.
message SettingErrorEnum {

  // Enum describing possible setting errors.
  enum SettingError {
    // Enum unspecified.
    UNSPECIFIED = 0;
    // The received error code is not known in this version.
    UNKNOWN = 1;
    // The campaign setting is not available for this AdWords account.
    SETTING_TYPE_IS_NOT_AVAILABLE = 3;
    // The setting is not compatible with the campaign.
    SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4;
    // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See
    // CriterionTypeGroup documentation for CriterionTypeGroups allowed
    // in Campaign or AdGroup TargetingSettings.
    TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5;
    // TargetingSetting must not explicitly
    // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER,
    // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in
    // which case the system will set them to true automatically).
    TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL
      = 6;
    // TargetingSetting cannot change any of
    // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT,
    // INCOME_RANGE) from true to false.
    TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP
      = 7;
    // At least one feed id should be present.
    DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8;
    // The supplied DynamicSearchAdsSetting contains an invalid domain name.
    DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9;
    // The supplied DynamicSearchAdsSetting contains a subdomain name.
    DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10;
    // The supplied DynamicSearchAdsSetting contains an invalid language code.
    DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11;
    // TargetingSettings in search campaigns should not have
    // CriterionTypeGroup.PLACEMENT set to targetAll.
    TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12;
    // Duplicate description in universal app setting description field.
    UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13;
    // Description line width is too long in universal app setting description
    // field.
    UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14;
    // Universal app setting appId field cannot be modified for COMPLETE
    // campaigns.
    UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15;
    // YoutubeVideoMediaIds in universal app setting cannot exceed size limit.
    TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16;
    // ImageMediaIds in universal app setting cannot exceed size limit.
    TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17;
    // Media is incompatible for universal app campaign.
    MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18;
    // Too many exclamation marks in universal app campaign ad text ideas.
    TOO_MANY_EXCLAMATION_MARKS = 19;
  }
}
