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

syntax = "proto3";

package google.ads.googleads.v0.errors;

option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
option java_multiple_files = true;
option java_outer_classname = "SettingErrorProto";
option java_package = "com.google.ads.googleads.v0.errors";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
// Proto file describing setting 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 Google Ads 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;
  }


}
