1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/ads/googleads/v2/resources/campaign_budget.proto
3
4package resources
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27// A campaign budget.
28type CampaignBudget struct {
29	// The resource name of the campaign budget.
30	// Campaign budget resource names have the form:
31	//
32	// `customers/{customer_id}/campaignBudgets/{budget_id}`
33	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
34	// The ID of the campaign budget.
35	//
36	// A campaign budget is created using the CampaignBudgetService create
37	// operation and is assigned a budget ID. A budget ID can be shared across
38	// different campaigns; the system will then allocate the campaign budget
39	// among different campaigns to get optimum results.
40	Id *wrappers.Int64Value `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
41	// The name of the campaign budget.
42	//
43	// When creating a campaign budget through CampaignBudgetService, every
44	// explicitly shared campaign budget must have a non-null, non-empty name.
45	// Campaign budgets that are not explicitly shared derive their name from the
46	// attached campaign's name.
47	//
48	// The length of this string must be between 1 and 255, inclusive,
49	// in UTF-8 bytes, (trimmed).
50	Name *wrappers.StringValue `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
51	// The amount of the budget, in the local currency for the account.
52	// Amount is specified in micros, where one million is equivalent to one
53	// currency unit. Monthly spend is capped at 30.4 times this amount.
54	AmountMicros *wrappers.Int64Value `protobuf:"bytes,5,opt,name=amount_micros,json=amountMicros,proto3" json:"amount_micros,omitempty"`
55	// The lifetime amount of the budget, in the local currency for the account.
56	// Amount is specified in micros, where one million is equivalent to one
57	// currency unit.
58	TotalAmountMicros *wrappers.Int64Value `protobuf:"bytes,10,opt,name=total_amount_micros,json=totalAmountMicros,proto3" json:"total_amount_micros,omitempty"`
59	// The status of this campaign budget. This field is read-only.
60	Status enums.BudgetStatusEnum_BudgetStatus `protobuf:"varint,6,opt,name=status,proto3,enum=google.ads.googleads.v2.enums.BudgetStatusEnum_BudgetStatus" json:"status,omitempty"`
61	// The delivery method that determines the rate at which the campaign budget
62	// is spent.
63	//
64	// Defaults to STANDARD if unspecified in a create operation.
65	DeliveryMethod enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod `protobuf:"varint,7,opt,name=delivery_method,json=deliveryMethod,proto3,enum=google.ads.googleads.v2.enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod" json:"delivery_method,omitempty"`
66	// Specifies whether the budget is explicitly shared. Defaults to true if
67	// unspecified in a create operation.
68	//
69	// If true, the budget was created with the purpose of sharing
70	// across one or more campaigns.
71	//
72	// If false, the budget was created with the intention of only being used
73	// with a single campaign. The budget's name and status will stay in sync
74	// with the campaign's name and status. Attempting to share the budget with a
75	// second campaign will result in an error.
76	//
77	// A non-shared budget can become an explicitly shared. The same operation
78	// must also assign the budget a name.
79	//
80	// A shared campaign budget can never become non-shared.
81	ExplicitlyShared *wrappers.BoolValue `protobuf:"bytes,8,opt,name=explicitly_shared,json=explicitlyShared,proto3" json:"explicitly_shared,omitempty"`
82	// The number of campaigns actively using the budget.
83	//
84	// This field is read-only.
85	ReferenceCount *wrappers.Int64Value `protobuf:"bytes,9,opt,name=reference_count,json=referenceCount,proto3" json:"reference_count,omitempty"`
86	// Indicates whether there is a recommended budget for this campaign budget.
87	//
88	// This field is read-only.
89	HasRecommendedBudget *wrappers.BoolValue `protobuf:"bytes,11,opt,name=has_recommended_budget,json=hasRecommendedBudget,proto3" json:"has_recommended_budget,omitempty"`
90	// The recommended budget amount. If no recommendation is available, this will
91	// be set to the budget amount.
92	// Amount is specified in micros, where one million is equivalent to one
93	// currency unit.
94	//
95	// This field is read-only.
96	RecommendedBudgetAmountMicros *wrappers.Int64Value `protobuf:"bytes,12,opt,name=recommended_budget_amount_micros,json=recommendedBudgetAmountMicros,proto3" json:"recommended_budget_amount_micros,omitempty"`
97	// Period over which to spend the budget. Defaults to DAILY if not specified.
98	Period enums.BudgetPeriodEnum_BudgetPeriod `protobuf:"varint,13,opt,name=period,proto3,enum=google.ads.googleads.v2.enums.BudgetPeriodEnum_BudgetPeriod" json:"period,omitempty"`
99	// The estimated change in weekly clicks if the recommended budget is applied.
100	//
101	// This field is read-only.
102	RecommendedBudgetEstimatedChangeWeeklyClicks *wrappers.Int64Value `protobuf:"bytes,14,opt,name=recommended_budget_estimated_change_weekly_clicks,json=recommendedBudgetEstimatedChangeWeeklyClicks,proto3" json:"recommended_budget_estimated_change_weekly_clicks,omitempty"`
103	// The estimated change in weekly cost in micros if the recommended budget is
104	// applied. One million is equivalent to one currency unit.
105	//
106	// This field is read-only.
107	RecommendedBudgetEstimatedChangeWeeklyCostMicros *wrappers.Int64Value `protobuf:"bytes,15,opt,name=recommended_budget_estimated_change_weekly_cost_micros,json=recommendedBudgetEstimatedChangeWeeklyCostMicros,proto3" json:"recommended_budget_estimated_change_weekly_cost_micros,omitempty"`
108	// The estimated change in weekly interactions if the recommended budget is
109	// applied.
110	//
111	// This field is read-only.
112	RecommendedBudgetEstimatedChangeWeeklyInteractions *wrappers.Int64Value `protobuf:"bytes,16,opt,name=recommended_budget_estimated_change_weekly_interactions,json=recommendedBudgetEstimatedChangeWeeklyInteractions,proto3" json:"recommended_budget_estimated_change_weekly_interactions,omitempty"`
113	// The estimated change in weekly views if the recommended budget is applied.
114	//
115	// This field is read-only.
116	RecommendedBudgetEstimatedChangeWeeklyViews *wrappers.Int64Value `protobuf:"bytes,17,opt,name=recommended_budget_estimated_change_weekly_views,json=recommendedBudgetEstimatedChangeWeeklyViews,proto3" json:"recommended_budget_estimated_change_weekly_views,omitempty"`
117	// The type of the campaign budget.
118	Type                 enums.BudgetTypeEnum_BudgetType `protobuf:"varint,18,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.BudgetTypeEnum_BudgetType" json:"type,omitempty"`
119	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
120	XXX_unrecognized     []byte                          `json:"-"`
121	XXX_sizecache        int32                           `json:"-"`
122}
123
124func (m *CampaignBudget) Reset()         { *m = CampaignBudget{} }
125func (m *CampaignBudget) String() string { return proto.CompactTextString(m) }
126func (*CampaignBudget) ProtoMessage()    {}
127func (*CampaignBudget) Descriptor() ([]byte, []int) {
128	return fileDescriptor_b2bb05963aea82a6, []int{0}
129}
130
131func (m *CampaignBudget) XXX_Unmarshal(b []byte) error {
132	return xxx_messageInfo_CampaignBudget.Unmarshal(m, b)
133}
134func (m *CampaignBudget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
135	return xxx_messageInfo_CampaignBudget.Marshal(b, m, deterministic)
136}
137func (m *CampaignBudget) XXX_Merge(src proto.Message) {
138	xxx_messageInfo_CampaignBudget.Merge(m, src)
139}
140func (m *CampaignBudget) XXX_Size() int {
141	return xxx_messageInfo_CampaignBudget.Size(m)
142}
143func (m *CampaignBudget) XXX_DiscardUnknown() {
144	xxx_messageInfo_CampaignBudget.DiscardUnknown(m)
145}
146
147var xxx_messageInfo_CampaignBudget proto.InternalMessageInfo
148
149func (m *CampaignBudget) GetResourceName() string {
150	if m != nil {
151		return m.ResourceName
152	}
153	return ""
154}
155
156func (m *CampaignBudget) GetId() *wrappers.Int64Value {
157	if m != nil {
158		return m.Id
159	}
160	return nil
161}
162
163func (m *CampaignBudget) GetName() *wrappers.StringValue {
164	if m != nil {
165		return m.Name
166	}
167	return nil
168}
169
170func (m *CampaignBudget) GetAmountMicros() *wrappers.Int64Value {
171	if m != nil {
172		return m.AmountMicros
173	}
174	return nil
175}
176
177func (m *CampaignBudget) GetTotalAmountMicros() *wrappers.Int64Value {
178	if m != nil {
179		return m.TotalAmountMicros
180	}
181	return nil
182}
183
184func (m *CampaignBudget) GetStatus() enums.BudgetStatusEnum_BudgetStatus {
185	if m != nil {
186		return m.Status
187	}
188	return enums.BudgetStatusEnum_UNSPECIFIED
189}
190
191func (m *CampaignBudget) GetDeliveryMethod() enums.BudgetDeliveryMethodEnum_BudgetDeliveryMethod {
192	if m != nil {
193		return m.DeliveryMethod
194	}
195	return enums.BudgetDeliveryMethodEnum_UNSPECIFIED
196}
197
198func (m *CampaignBudget) GetExplicitlyShared() *wrappers.BoolValue {
199	if m != nil {
200		return m.ExplicitlyShared
201	}
202	return nil
203}
204
205func (m *CampaignBudget) GetReferenceCount() *wrappers.Int64Value {
206	if m != nil {
207		return m.ReferenceCount
208	}
209	return nil
210}
211
212func (m *CampaignBudget) GetHasRecommendedBudget() *wrappers.BoolValue {
213	if m != nil {
214		return m.HasRecommendedBudget
215	}
216	return nil
217}
218
219func (m *CampaignBudget) GetRecommendedBudgetAmountMicros() *wrappers.Int64Value {
220	if m != nil {
221		return m.RecommendedBudgetAmountMicros
222	}
223	return nil
224}
225
226func (m *CampaignBudget) GetPeriod() enums.BudgetPeriodEnum_BudgetPeriod {
227	if m != nil {
228		return m.Period
229	}
230	return enums.BudgetPeriodEnum_UNSPECIFIED
231}
232
233func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyClicks() *wrappers.Int64Value {
234	if m != nil {
235		return m.RecommendedBudgetEstimatedChangeWeeklyClicks
236	}
237	return nil
238}
239
240func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyCostMicros() *wrappers.Int64Value {
241	if m != nil {
242		return m.RecommendedBudgetEstimatedChangeWeeklyCostMicros
243	}
244	return nil
245}
246
247func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyInteractions() *wrappers.Int64Value {
248	if m != nil {
249		return m.RecommendedBudgetEstimatedChangeWeeklyInteractions
250	}
251	return nil
252}
253
254func (m *CampaignBudget) GetRecommendedBudgetEstimatedChangeWeeklyViews() *wrappers.Int64Value {
255	if m != nil {
256		return m.RecommendedBudgetEstimatedChangeWeeklyViews
257	}
258	return nil
259}
260
261func (m *CampaignBudget) GetType() enums.BudgetTypeEnum_BudgetType {
262	if m != nil {
263		return m.Type
264	}
265	return enums.BudgetTypeEnum_UNSPECIFIED
266}
267
268func init() {
269	proto.RegisterType((*CampaignBudget)(nil), "google.ads.googleads.v2.resources.CampaignBudget")
270}
271
272func init() {
273	proto.RegisterFile("google/ads/googleads/v2/resources/campaign_budget.proto", fileDescriptor_b2bb05963aea82a6)
274}
275
276var fileDescriptor_b2bb05963aea82a6 = []byte{
277	// 753 bytes of a gzipped FileDescriptorProto
278	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x95, 0xdd, 0x6e, 0xe3, 0x44,
279	0x18, 0x86, 0xe5, 0x6c, 0x29, 0xec, 0x6c, 0x9a, 0x6e, 0xbd, 0x08, 0x59, 0x65, 0x41, 0x59, 0xd0,
280	0x4a, 0x95, 0x16, 0xd9, 0x5d, 0x83, 0x5a, 0x64, 0x38, 0x20, 0x49, 0xab, 0xaa, 0xd0, 0xa2, 0xc8,
281	0xad, 0x82, 0x84, 0x22, 0x59, 0x53, 0xcf, 0x57, 0x67, 0x54, 0x7b, 0xc6, 0x9a, 0x19, 0xa7, 0xe4,
282	0x0c, 0x21, 0x8e, 0x90, 0x90, 0xb8, 0x06, 0x0e, 0xb9, 0x14, 0x2e, 0x85, 0xab, 0x40, 0x1e, 0xff,
283	0x34, 0x3f, 0x14, 0x27, 0x67, 0xf3, 0xf3, 0xbd, 0x4f, 0xde, 0x79, 0xe7, 0x73, 0x06, 0x1d, 0x47,
284	0x9c, 0x47, 0x31, 0x38, 0x98, 0x48, 0xa7, 0x18, 0xe6, 0xa3, 0xa9, 0xeb, 0x08, 0x90, 0x3c, 0x13,
285	0x21, 0x48, 0x27, 0xc4, 0x49, 0x8a, 0x69, 0xc4, 0x82, 0x9b, 0x8c, 0x44, 0xa0, 0xec, 0x54, 0x70,
286	0xc5, 0xcd, 0x57, 0x45, 0xb5, 0x8d, 0x89, 0xb4, 0x6b, 0xa1, 0x3d, 0x75, 0xed, 0x5a, 0xb8, 0xef,
287	0x3d, 0xc6, 0x06, 0x96, 0x25, 0xd2, 0x29, 0x70, 0x01, 0x81, 0x98, 0x4e, 0x41, 0xcc, 0x82, 0x04,
288	0xd4, 0x84, 0x93, 0x02, 0xbf, 0xff, 0x76, 0x2d, 0x6d, 0x0a, 0x82, 0x6e, 0x28, 0x91, 0x0a, 0xab,
289	0x4c, 0x96, 0x12, 0x67, 0x2d, 0x89, 0x9a, 0xa5, 0x50, 0x0a, 0x3e, 0x2e, 0x05, 0x7a, 0x76, 0x93,
290	0xdd, 0x3a, 0xf7, 0x02, 0xa7, 0x29, 0x88, 0x0a, 0xf8, 0xb2, 0x02, 0xa6, 0xd4, 0xc1, 0x8c, 0x71,
291	0x85, 0x15, 0xe5, 0xac, 0xdc, 0xfd, 0xe4, 0xb7, 0x36, 0xea, 0x0c, 0xca, 0x34, 0xfb, 0x9a, 0x6d,
292	0x7e, 0x8a, 0x76, 0xaa, 0xc0, 0x02, 0x86, 0x13, 0xb0, 0x8c, 0xae, 0x71, 0xf0, 0xd4, 0x6f, 0x57,
293	0x8b, 0xdf, 0xe3, 0x04, 0xcc, 0x37, 0xa8, 0x45, 0x89, 0xf5, 0xa4, 0x6b, 0x1c, 0x3c, 0x73, 0x3f,
294	0x2c, 0xd3, 0xb6, 0x2b, 0x0b, 0xf6, 0x39, 0x53, 0x47, 0x5f, 0x8c, 0x70, 0x9c, 0x81, 0xdf, 0xa2,
295	0xc4, 0x3c, 0x44, 0x5b, 0x1a, 0xb4, 0xa5, 0xcb, 0x5f, 0xae, 0x94, 0x5f, 0x29, 0x41, 0x59, 0x54,
296	0xd4, 0xeb, 0x4a, 0xf3, 0x1b, 0xb4, 0x83, 0x13, 0x9e, 0x31, 0x15, 0x24, 0x34, 0x14, 0x5c, 0x5a,
297	0xef, 0x34, 0xff, 0x52, 0xbb, 0x50, 0x5c, 0x6a, 0x81, 0xf9, 0x1d, 0x7a, 0xa1, 0xb8, 0xc2, 0x71,
298	0xb0, 0xc8, 0x41, 0xcd, 0x9c, 0x3d, 0xad, 0xeb, 0xcd, 0xc3, 0xae, 0xd1, 0x76, 0x71, 0x49, 0xd6,
299	0x76, 0xd7, 0x38, 0xe8, 0xb8, 0x5f, 0xdb, 0x8f, 0xb5, 0x9a, 0xbe, 0x25, 0xbb, 0x48, 0xf2, 0x4a,
300	0x4b, 0x4e, 0x59, 0x96, 0x2c, 0x2c, 0xf8, 0x25, 0xcb, 0xcc, 0xd0, 0xee, 0x52, 0xa7, 0x59, 0xef,
301	0x6a, 0xfc, 0xc5, 0x5a, 0xf8, 0x93, 0x52, 0x7b, 0xa9, 0xa5, 0x73, 0x3f, 0xb3, 0xb8, 0xe1, 0x77,
302	0xc8, 0xc2, 0xdc, 0x3c, 0x43, 0x7b, 0xf0, 0x53, 0x1a, 0xd3, 0x90, 0xaa, 0x78, 0x16, 0xc8, 0x09,
303	0x16, 0x40, 0xac, 0xf7, 0x74, 0x2e, 0xfb, 0x2b, 0xb9, 0xf4, 0x39, 0x8f, 0x8b, 0x58, 0x9e, 0x3f,
304	0x88, 0xae, 0xb4, 0xc6, 0x3c, 0x41, 0xbb, 0x02, 0x6e, 0x41, 0x00, 0x0b, 0x21, 0x08, 0xf3, 0xb8,
305	0xac, 0xa7, 0xcd, 0xf1, 0x76, 0x6a, 0xcd, 0x20, 0x97, 0x98, 0x43, 0xf4, 0xc1, 0x04, 0xcb, 0x40,
306	0x40, 0xc8, 0x93, 0x04, 0x18, 0x01, 0x52, 0x7e, 0xd5, 0xd6, 0xb3, 0x46, 0x4f, 0xef, 0x4f, 0xb0,
307	0xf4, 0x1f, 0x84, 0x65, 0x03, 0x13, 0xd4, 0x5d, 0xa5, 0x2d, 0xf5, 0x41, 0xbb, 0xd9, 0xe8, 0x47,
308	0x62, 0x99, 0xbc, 0xdc, 0x13, 0xc5, 0xb7, 0x6e, 0xed, 0x6c, 0xd0, 0x13, 0x43, 0x2d, 0x99, 0xbb,
309	0xac, 0x62, 0xc1, 0x2f, 0x59, 0xe6, 0xaf, 0x06, 0x7a, 0xfb, 0x1f, 0xe6, 0x41, 0x2a, 0x9a, 0x60,
310	0x05, 0x24, 0x08, 0x27, 0x98, 0x45, 0x10, 0xdc, 0x03, 0xdc, 0xc5, 0xb3, 0x20, 0x8c, 0x69, 0x78,
311	0x27, 0xad, 0x4e, 0xf3, 0x69, 0x3e, 0x5b, 0x39, 0xcd, 0x69, 0xc5, 0x1c, 0x68, 0xe4, 0x0f, 0x9a,
312	0x38, 0xd0, 0x40, 0xf3, 0x77, 0x03, 0x1d, 0x6d, 0x62, 0x83, 0xcb, 0x3a, 0xd9, 0xdd, 0x66, 0x2f,
313	0x87, 0x6b, 0x7a, 0xe1, 0xb2, 0x0a, 0xfb, 0x0f, 0x03, 0x1d, 0x6f, 0xe0, 0x87, 0x32, 0x05, 0x02,
314	0x87, 0xfa, 0x8f, 0xce, 0x7a, 0xde, 0x6c, 0xc8, 0x5d, 0xcf, 0xd0, 0xf9, 0x1c, 0xd6, 0xfc, 0xc5,
315	0x40, 0x87, 0x1b, 0x58, 0x9a, 0x52, 0xb8, 0x97, 0xd6, 0x5e, 0xb3, 0x97, 0x37, 0xeb, 0x79, 0x19,
316	0xe5, 0x3c, 0xf3, 0x02, 0x6d, 0xe5, 0x4f, 0x81, 0x65, 0xea, 0x16, 0xfc, 0x72, 0xad, 0x16, 0xbc,
317	0x9e, 0xa5, 0x30, 0xd7, 0x80, 0xf9, 0xd4, 0xd7, 0x94, 0xfe, 0xcf, 0x2d, 0xf4, 0x3a, 0xe4, 0x89,
318	0xdd, 0xf8, 0x8e, 0xf6, 0x5f, 0x2c, 0xbe, 0x19, 0xc3, 0xfc, 0x1c, 0x43, 0xe3, 0xc7, 0x6f, 0x4b,
319	0x65, 0xc4, 0x63, 0xcc, 0x22, 0x9b, 0x8b, 0xc8, 0x89, 0x80, 0xe9, 0x53, 0x56, 0x8f, 0x59, 0x4a,
320	0xe5, 0xff, 0xbc, 0xec, 0x5f, 0xd5, 0xa3, 0x3f, 0x5b, 0x4f, 0xce, 0x7a, 0xbd, 0xbf, 0x5a, 0xaf,
321	0xce, 0x0a, 0x64, 0x8f, 0x48, 0xbb, 0x18, 0xe6, 0xa3, 0x91, 0x6b, 0xfb, 0x55, 0xe5, 0xdf, 0x55,
322	0xcd, 0xb8, 0x47, 0xe4, 0xb8, 0xae, 0x19, 0x8f, 0xdc, 0x71, 0x5d, 0xf3, 0x4f, 0xeb, 0x75, 0xb1,
323	0xe1, 0x79, 0x3d, 0x22, 0x3d, 0xaf, 0xae, 0xf2, 0xbc, 0x91, 0xeb, 0x79, 0x75, 0xdd, 0xcd, 0xb6,
324	0x36, 0xfb, 0xf9, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xf3, 0x79, 0x50, 0x85, 0x08, 0x00,
325	0x00,
326}
327