1 // Copyright 2018 Google LLC.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
18 package google.ads.googleads.v0.errors;
20 option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
21 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
22 option java_multiple_files = true;
23 option java_outer_classname = "AccountBudgetProposalErrorProto";
24 option java_package = "com.google.ads.googleads.v0.errors";
25 option objc_class_prefix = "GAA";
26 option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
27 option ruby_package = "Google::Ads::GoogleAds::V0::Errors";
29 // Proto file describing account budget proposal errors.
31 // Container for enum describing possible account budget proposal errors.
32 message AccountBudgetProposalErrorEnum {
33 // Enum describing possible account budget proposal errors.
34 enum AccountBudgetProposalError {
38 // The received error code is not known in this version.
41 // The field mask must be empty for create/end/remove proposals.
42 FIELD_MASK_NOT_ALLOWED = 2;
44 // The field cannot be set because of the proposal type.
47 // The field is required because of the proposal type.
48 REQUIRED_FIELD_MISSING = 4;
50 // Proposals that have been approved cannot be cancelled.
51 CANNOT_CANCEL_APPROVED_PROPOSAL = 5;
53 // Budgets that haven't been approved cannot be removed.
54 CANNOT_REMOVE_UNAPPROVED_BUDGET = 6;
56 // Budgets that are currently running cannot be removed.
57 CANNOT_REMOVE_RUNNING_BUDGET = 7;
59 // Budgets that haven't been approved cannot be truncated.
60 CANNOT_END_UNAPPROVED_BUDGET = 8;
62 // Only budgets that are currently running can be truncated.
63 CANNOT_END_INACTIVE_BUDGET = 9;
65 // All budgets must have names.
66 BUDGET_NAME_REQUIRED = 10;
68 // Expired budgets cannot be edited after a sufficient amount of time has
70 CANNOT_UPDATE_OLD_BUDGET = 11;
72 // It is not permissible a propose a new budget that ends in the past.
73 CANNOT_END_IN_PAST = 12;
75 // An expired budget cannot be extended to overlap with the running budget.
76 CANNOT_EXTEND_END_TIME = 13;
78 // A purchase order number is required.
79 PURCHASE_ORDER_NUMBER_REQUIRED = 14;
81 // Budgets that have a pending update cannot be updated.
82 PENDING_UPDATE_PROPOSAL_EXISTS = 15;
84 // Cannot propose more than one budget when the corresponding billing setup
85 // hasn't been approved.
86 MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16;
88 // Cannot update the start time of a budget that has already started.
89 CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17;
91 // Cannot update the spending limit of a budget with an amount lower than
92 // what has already been spent.
93 SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18;
95 // Cannot propose a budget update without actually changing any fields.
98 // The end time must come after the start time.
99 END_TIME_MUST_FOLLOW_START_TIME = 20;
101 // The budget's date range must fall within the date range of its billing
103 BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21;
105 // The user is not authorized to mutate budgets for the given billing setup.
108 // Mutates are not allowed for the given billing setup.
109 INVALID_BILLING_SETUP = 23;