aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v1/resources/account_budget_proposal.proto
blob: 237bc0e9bf01d3385651c7b37f5380c08af807a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// 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.resources;

import "google/ads/googleads/v1/enums/account_budget_proposal_status.proto";
import "google/ads/googleads/v1/enums/account_budget_proposal_type.proto";
import "google/ads/googleads/v1/enums/spending_limit_type.proto";
import "google/ads/googleads/v1/enums/time_type.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
option java_multiple_files = true;
option java_outer_classname = "AccountBudgetProposalProto";
option java_package = "com.google.ads.googleads.v1.resources";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
option ruby_package = "Google::Ads::GoogleAds::V1::Resources";

// Proto file describing the AccountBudgetProposal resource.

// An account-level budget proposal.
//
// All fields prefixed with 'proposed' may not necessarily be applied directly.
// For example, proposed spending limits may be adjusted before their
// application.  This is true if the 'proposed' field has an 'approved'
// counterpart, e.g. spending limits.
//
// Please note that the proposal type (proposal_type) changes which fields are
// required and which must remain empty.
message AccountBudgetProposal {
  // The resource name of the proposal.
  // AccountBudgetProposal resource names have the form:
  //
  //
  // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
  string resource_name = 1;

  // The ID of the proposal.
  google.protobuf.Int64Value id = 14;

  // The resource name of the billing setup associated with this proposal.
  google.protobuf.StringValue billing_setup = 2;

  // The resource name of the account-level budget associated with this
  // proposal.
  google.protobuf.StringValue account_budget = 3;

  // The type of this proposal, e.g. END to end the budget associated with this
  // proposal.
  google.ads.googleads.v1.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4;

  // The status of this proposal.
  // When a new proposal is created, the status defaults to PENDING.
  google.ads.googleads.v1.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15;

  // The name to assign to the account-level budget.
  google.protobuf.StringValue proposed_name = 5;

  // The approved start date time in yyyy-mm-dd hh:mm:ss format.
  google.protobuf.StringValue approved_start_date_time = 20;

  // A purchase order number is a value that enables the user to help them
  // reference this budget in their monthly invoices.
  google.protobuf.StringValue proposed_purchase_order_number = 12;

  // Notes associated with this budget.
  google.protobuf.StringValue proposed_notes = 13;

  // The date time when this account-level budget proposal was created, which is
  // not the same as its approval date time, if applicable.
  google.protobuf.StringValue creation_date_time = 16;

  // The date time when this account-level budget was approved, if applicable.
  google.protobuf.StringValue approval_date_time = 17;

  // The proposed start date time of the account-level budget, which cannot be
  // in the past.
  oneof proposed_start_time {
    // The proposed start date time in yyyy-mm-dd hh:mm:ss format.
    google.protobuf.StringValue proposed_start_date_time = 18;

    // The proposed start date time as a well-defined type, e.g. NOW.
    google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7;
  }

  // The proposed end date time of the account-level budget, which cannot be in
  // the past.
  oneof proposed_end_time {
    // The proposed end date time in yyyy-mm-dd hh:mm:ss format.
    google.protobuf.StringValue proposed_end_date_time = 19;

    // The proposed end date time as a well-defined type, e.g. FOREVER.
    google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
  }

  // The approved end date time of the account-level budget.
  oneof approved_end_time {
    // The approved end date time in yyyy-mm-dd hh:mm:ss format.
    google.protobuf.StringValue approved_end_date_time = 21;

    // The approved end date time as a well-defined type, e.g. FOREVER.
    google.ads.googleads.v1.enums.TimeTypeEnum.TimeType approved_end_time_type = 22;
  }

  // The proposed spending limit.
  oneof proposed_spending_limit {
    // The proposed spending limit in micros.  One million is equivalent to
    // one unit.
    google.protobuf.Int64Value proposed_spending_limit_micros = 10;

    // The proposed spending limit as a well-defined type, e.g. INFINITE.
    google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11;
  }

  // The approved spending limit.
  oneof approved_spending_limit {
    // The approved spending limit in micros.  One million is equivalent to
    // one unit.
    google.protobuf.Int64Value approved_spending_limit_micros = 23;

    // The approved spending limit as a well-defined type, e.g. INFINITE.
    google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24;
  }
}