1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/tasks/v2beta2/queue.proto
3
4package tasks
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	duration "github.com/golang/protobuf/ptypes/duration"
12	timestamp "github.com/golang/protobuf/ptypes/timestamp"
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// State of the queue.
28type Queue_State int32
29
30const (
31	// Unspecified state.
32	Queue_STATE_UNSPECIFIED Queue_State = 0
33	// The queue is running. Tasks can be dispatched.
34	//
35	// If the queue was created using Cloud Tasks and the queue has
36	// had no activity (method calls or task dispatches) for 30 days,
37	// the queue may take a few minutes to re-activate. Some method
38	// calls may return [NOT_FOUND][google.rpc.Code.NOT_FOUND] and
39	// tasks may not be dispatched for a few minutes until the queue
40	// has been re-activated.
41	Queue_RUNNING Queue_State = 1
42	// Tasks are paused by the user. If the queue is paused then Cloud
43	// Tasks will stop delivering tasks from it, but more tasks can
44	// still be added to it by the user. When a pull queue is paused,
45	// all [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] calls
46	// will return a [FAILED_PRECONDITION][google.rpc.Code.FAILED_PRECONDITION].
47	Queue_PAUSED Queue_State = 2
48	// The queue is disabled.
49	//
50	// A queue becomes `DISABLED` when
51	// [queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref)
52	// or
53	// [queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref)
54	// is uploaded which does not contain the queue. You cannot directly disable
55	// a queue.
56	//
57	// When a queue is disabled, tasks can still be added to a queue
58	// but the tasks are not dispatched and
59	// [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] calls
60	// return a `FAILED_PRECONDITION` error.
61	//
62	// To permanently delete this queue and all of its tasks, call
63	// [DeleteQueue][google.cloud.tasks.v2beta2.CloudTasks.DeleteQueue].
64	Queue_DISABLED Queue_State = 3
65)
66
67var Queue_State_name = map[int32]string{
68	0: "STATE_UNSPECIFIED",
69	1: "RUNNING",
70	2: "PAUSED",
71	3: "DISABLED",
72}
73
74var Queue_State_value = map[string]int32{
75	"STATE_UNSPECIFIED": 0,
76	"RUNNING":           1,
77	"PAUSED":            2,
78	"DISABLED":          3,
79}
80
81func (x Queue_State) String() string {
82	return proto.EnumName(Queue_State_name, int32(x))
83}
84
85func (Queue_State) EnumDescriptor() ([]byte, []int) {
86	return fileDescriptor_b86070a8ff200176, []int{0, 0}
87}
88
89// A queue is a container of related tasks. Queues are configured to manage
90// how those tasks are dispatched. Configurable properties include rate limits,
91// retry options, target types, and others.
92type Queue struct {
93	// Caller-specified and required in
94	// [CreateQueue][google.cloud.tasks.v2beta2.CloudTasks.CreateQueue], after
95	// which it becomes output only.
96	//
97	// The queue name.
98	//
99	// The queue name must have the following format:
100	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
101	//
102	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
103	//    hyphens (-), colons (:), or periods (.).
104	//    For more information, see
105	//    [Identifying
106	//    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
107	// * `LOCATION_ID` is the canonical ID for the queue's location.
108	//    The list of available locations can be obtained by calling
109	//    [ListLocations][google.cloud.location.Locations.ListLocations].
110	//    For more information, see https://cloud.google.com/about/locations/.
111	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
112	//   hyphens (-). The maximum length is 100 characters.
113	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
114	// Caller-specified and required in
115	// [CreateQueue][google.cloud.tasks.v2beta2.CloudTasks.CreateQueue][], after
116	// which the queue config type becomes output only, though fields within the
117	// config are mutable.
118	//
119	// The queue's target.
120	//
121	// The target applies to all tasks in the queue.
122	//
123	// Types that are valid to be assigned to TargetType:
124	//	*Queue_AppEngineHttpTarget
125	//	*Queue_PullTarget
126	TargetType isQueue_TargetType `protobuf_oneof:"target_type"`
127	// Rate limits for task dispatches.
128	//
129	// [rate_limits][google.cloud.tasks.v2beta2.Queue.rate_limits] and
130	// [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] are related
131	// because they both control task attempts however they control how tasks are
132	// attempted in different ways:
133	//
134	// * [rate_limits][google.cloud.tasks.v2beta2.Queue.rate_limits] controls the
135	// total rate of
136	//   dispatches from a queue (i.e. all traffic dispatched from the
137	//   queue, regardless of whether the dispatch is from a first
138	//   attempt or a retry).
139	// * [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] controls
140	// what happens to
141	//   particular a task after its first attempt fails. That is,
142	//   [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] controls
143	//   task retries (the second attempt, third attempt, etc).
144	RateLimits *RateLimits `protobuf:"bytes,5,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
145	// Settings that determine the retry behavior.
146	//
147	// * For tasks created using Cloud Tasks: the queue-level retry settings
148	//   apply to all tasks in the queue that were created using Cloud Tasks.
149	//   Retry settings cannot be set on individual tasks.
150	// * For tasks created using the App Engine SDK: the queue-level retry
151	//   settings apply to all tasks in the queue which do not have retry settings
152	//   explicitly set on the task and were created by the App Engine SDK. See
153	//   [App Engine
154	//   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
155	RetryConfig *RetryConfig `protobuf:"bytes,6,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"`
156	// Output only. The state of the queue.
157	//
158	// `state` can only be changed by called
159	// [PauseQueue][google.cloud.tasks.v2beta2.CloudTasks.PauseQueue],
160	// [ResumeQueue][google.cloud.tasks.v2beta2.CloudTasks.ResumeQueue], or
161	// uploading
162	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
163	// [UpdateQueue][google.cloud.tasks.v2beta2.CloudTasks.UpdateQueue] cannot be
164	// used to change `state`.
165	State Queue_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.tasks.v2beta2.Queue_State" json:"state,omitempty"`
166	// Output only. The last time this queue was purged.
167	//
168	// All tasks that were [created][google.cloud.tasks.v2beta2.Task.create_time]
169	// before this time were purged.
170	//
171	// A queue can be purged using
172	// [PurgeQueue][google.cloud.tasks.v2beta2.CloudTasks.PurgeQueue], the [App
173	// Engine Task Queue SDK, or the Cloud
174	// Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
175	//
176	// Purge time will be truncated to the nearest microsecond. Purge
177	// time will be unset if the queue has never been purged.
178	PurgeTime            *timestamp.Timestamp `protobuf:"bytes,8,opt,name=purge_time,json=purgeTime,proto3" json:"purge_time,omitempty"`
179	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
180	XXX_unrecognized     []byte               `json:"-"`
181	XXX_sizecache        int32                `json:"-"`
182}
183
184func (m *Queue) Reset()         { *m = Queue{} }
185func (m *Queue) String() string { return proto.CompactTextString(m) }
186func (*Queue) ProtoMessage()    {}
187func (*Queue) Descriptor() ([]byte, []int) {
188	return fileDescriptor_b86070a8ff200176, []int{0}
189}
190
191func (m *Queue) XXX_Unmarshal(b []byte) error {
192	return xxx_messageInfo_Queue.Unmarshal(m, b)
193}
194func (m *Queue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
195	return xxx_messageInfo_Queue.Marshal(b, m, deterministic)
196}
197func (m *Queue) XXX_Merge(src proto.Message) {
198	xxx_messageInfo_Queue.Merge(m, src)
199}
200func (m *Queue) XXX_Size() int {
201	return xxx_messageInfo_Queue.Size(m)
202}
203func (m *Queue) XXX_DiscardUnknown() {
204	xxx_messageInfo_Queue.DiscardUnknown(m)
205}
206
207var xxx_messageInfo_Queue proto.InternalMessageInfo
208
209func (m *Queue) GetName() string {
210	if m != nil {
211		return m.Name
212	}
213	return ""
214}
215
216type isQueue_TargetType interface {
217	isQueue_TargetType()
218}
219
220type Queue_AppEngineHttpTarget struct {
221	AppEngineHttpTarget *AppEngineHttpTarget `protobuf:"bytes,3,opt,name=app_engine_http_target,json=appEngineHttpTarget,proto3,oneof"`
222}
223
224type Queue_PullTarget struct {
225	PullTarget *PullTarget `protobuf:"bytes,4,opt,name=pull_target,json=pullTarget,proto3,oneof"`
226}
227
228func (*Queue_AppEngineHttpTarget) isQueue_TargetType() {}
229
230func (*Queue_PullTarget) isQueue_TargetType() {}
231
232func (m *Queue) GetTargetType() isQueue_TargetType {
233	if m != nil {
234		return m.TargetType
235	}
236	return nil
237}
238
239func (m *Queue) GetAppEngineHttpTarget() *AppEngineHttpTarget {
240	if x, ok := m.GetTargetType().(*Queue_AppEngineHttpTarget); ok {
241		return x.AppEngineHttpTarget
242	}
243	return nil
244}
245
246func (m *Queue) GetPullTarget() *PullTarget {
247	if x, ok := m.GetTargetType().(*Queue_PullTarget); ok {
248		return x.PullTarget
249	}
250	return nil
251}
252
253func (m *Queue) GetRateLimits() *RateLimits {
254	if m != nil {
255		return m.RateLimits
256	}
257	return nil
258}
259
260func (m *Queue) GetRetryConfig() *RetryConfig {
261	if m != nil {
262		return m.RetryConfig
263	}
264	return nil
265}
266
267func (m *Queue) GetState() Queue_State {
268	if m != nil {
269		return m.State
270	}
271	return Queue_STATE_UNSPECIFIED
272}
273
274func (m *Queue) GetPurgeTime() *timestamp.Timestamp {
275	if m != nil {
276		return m.PurgeTime
277	}
278	return nil
279}
280
281// XXX_OneofWrappers is for the internal use of the proto package.
282func (*Queue) XXX_OneofWrappers() []interface{} {
283	return []interface{}{
284		(*Queue_AppEngineHttpTarget)(nil),
285		(*Queue_PullTarget)(nil),
286	}
287}
288
289// Rate limits.
290//
291// This message determines the maximum rate that tasks can be dispatched by a
292// queue, regardless of whether the dispatch is a first task attempt or a retry.
293//
294// Note: The debugging command,
295// [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask], will run a task
296// even if the queue has reached its
297// [RateLimits][google.cloud.tasks.v2beta2.RateLimits].
298type RateLimits struct {
299	// The maximum rate at which tasks are dispatched from this queue.
300	//
301	// If unspecified when the queue is created, Cloud Tasks will pick the
302	// default.
303	//
304	// * For [App Engine queues][google.cloud.tasks.v2beta2.AppEngineHttpTarget],
305	// the maximum allowed value
306	//   is 500.
307	// * This field is output only   for [pull
308	// queues][google.cloud.tasks.v2beta2.PullTarget]. In addition to the
309	//   `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of
310	//   [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] requests
311	//   are allowed per pull queue.
312	//
313	//
314	// This field has the same meaning as
315	// [rate in
316	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
317	MaxTasksDispatchedPerSecond float64 `protobuf:"fixed64,1,opt,name=max_tasks_dispatched_per_second,json=maxTasksDispatchedPerSecond,proto3" json:"max_tasks_dispatched_per_second,omitempty"`
318	// Output only. The max burst size.
319	//
320	// Max burst size limits how fast tasks in queue are processed when
321	// many tasks are in the queue and the rate is high. This field
322	// allows the queue to have a high rate so processing starts shortly
323	// after a task is enqueued, but still limits resource usage when
324	// many tasks are enqueued in a short period of time.
325	//
326	// The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
327	// algorithm is used to control the rate of task dispatches. Each
328	// queue has a token bucket that holds tokens, up to the maximum
329	// specified by `max_burst_size`. Each time a task is dispatched, a
330	// token is removed from the bucket. Tasks will be dispatched until
331	// the queue's bucket runs out of tokens. The bucket will be
332	// continuously refilled with new tokens based on
333	// [max_tasks_dispatched_per_second][google.cloud.tasks.v2beta2.RateLimits.max_tasks_dispatched_per_second].
334	//
335	// Cloud Tasks will pick the value of `max_burst_size` based on the
336	// value of
337	// [max_tasks_dispatched_per_second][google.cloud.tasks.v2beta2.RateLimits.max_tasks_dispatched_per_second].
338	//
339	// For App Engine queues that were created or updated using
340	// `queue.yaml/xml`, `max_burst_size` is equal to
341	// [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
342	// Since `max_burst_size` is output only, if
343	// [UpdateQueue][google.cloud.tasks.v2beta2.CloudTasks.UpdateQueue] is called
344	// on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset
345	// based on the value of
346	// [max_tasks_dispatched_per_second][google.cloud.tasks.v2beta2.RateLimits.max_tasks_dispatched_per_second],
347	// regardless of whether
348	// [max_tasks_dispatched_per_second][google.cloud.tasks.v2beta2.RateLimits.max_tasks_dispatched_per_second]
349	// is updated.
350	//
351	MaxBurstSize int32 `protobuf:"varint,2,opt,name=max_burst_size,json=maxBurstSize,proto3" json:"max_burst_size,omitempty"`
352	// The maximum number of concurrent tasks that Cloud Tasks allows
353	// to be dispatched for this queue. After this threshold has been
354	// reached, Cloud Tasks stops dispatching tasks until the number of
355	// concurrent requests decreases.
356	//
357	// If unspecified when the queue is created, Cloud Tasks will pick the
358	// default.
359	//
360	//
361	// The maximum allowed value is 5,000.
362	//
363	// This field is output only for
364	// [pull queues][google.cloud.tasks.v2beta2.PullTarget] and always -1, which
365	// indicates no limit. No other queue types can have `max_concurrent_tasks`
366	// set to -1.
367	//
368	//
369	// This field has the same meaning as
370	// [max_concurrent_requests in
371	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
372	MaxConcurrentTasks   int32    `protobuf:"varint,3,opt,name=max_concurrent_tasks,json=maxConcurrentTasks,proto3" json:"max_concurrent_tasks,omitempty"`
373	XXX_NoUnkeyedLiteral struct{} `json:"-"`
374	XXX_unrecognized     []byte   `json:"-"`
375	XXX_sizecache        int32    `json:"-"`
376}
377
378func (m *RateLimits) Reset()         { *m = RateLimits{} }
379func (m *RateLimits) String() string { return proto.CompactTextString(m) }
380func (*RateLimits) ProtoMessage()    {}
381func (*RateLimits) Descriptor() ([]byte, []int) {
382	return fileDescriptor_b86070a8ff200176, []int{1}
383}
384
385func (m *RateLimits) XXX_Unmarshal(b []byte) error {
386	return xxx_messageInfo_RateLimits.Unmarshal(m, b)
387}
388func (m *RateLimits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
389	return xxx_messageInfo_RateLimits.Marshal(b, m, deterministic)
390}
391func (m *RateLimits) XXX_Merge(src proto.Message) {
392	xxx_messageInfo_RateLimits.Merge(m, src)
393}
394func (m *RateLimits) XXX_Size() int {
395	return xxx_messageInfo_RateLimits.Size(m)
396}
397func (m *RateLimits) XXX_DiscardUnknown() {
398	xxx_messageInfo_RateLimits.DiscardUnknown(m)
399}
400
401var xxx_messageInfo_RateLimits proto.InternalMessageInfo
402
403func (m *RateLimits) GetMaxTasksDispatchedPerSecond() float64 {
404	if m != nil {
405		return m.MaxTasksDispatchedPerSecond
406	}
407	return 0
408}
409
410func (m *RateLimits) GetMaxBurstSize() int32 {
411	if m != nil {
412		return m.MaxBurstSize
413	}
414	return 0
415}
416
417func (m *RateLimits) GetMaxConcurrentTasks() int32 {
418	if m != nil {
419		return m.MaxConcurrentTasks
420	}
421	return 0
422}
423
424// Retry config.
425//
426// These settings determine how a failed task attempt is retried.
427type RetryConfig struct {
428	// Number of attempts per task.
429	//
430	// If unspecified when the queue is created, Cloud Tasks will pick the
431	// default.
432	//
433	//
434	//
435	// This field has the same meaning as
436	// [task_retry_limit in
437	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
438	//
439	// Types that are valid to be assigned to NumAttempts:
440	//	*RetryConfig_MaxAttempts
441	//	*RetryConfig_UnlimitedAttempts
442	NumAttempts isRetryConfig_NumAttempts `protobuf_oneof:"num_attempts"`
443	// If positive, `max_retry_duration` specifies the time limit for
444	// retrying a failed task, measured from when the task was first
445	// attempted. Once `max_retry_duration` time has passed *and* the
446	// task has been attempted
447	// [max_attempts][google.cloud.tasks.v2beta2.RetryConfig.max_attempts] times,
448	// no further attempts will be made and the task will be deleted.
449	//
450	// If zero, then the task age is unlimited.
451	//
452	// If unspecified when the queue is created, Cloud Tasks will pick the
453	// default.
454	//
455	// This field is output only for [pull
456	// queues][google.cloud.tasks.v2beta2.PullTarget].
457	//
458	//
459	// `max_retry_duration` will be truncated to the nearest second.
460	//
461	// This field has the same meaning as
462	// [task_age_limit in
463	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
464	MaxRetryDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_retry_duration,json=maxRetryDuration,proto3" json:"max_retry_duration,omitempty"`
465	// A task will be [scheduled][google.cloud.tasks.v2beta2.Task.schedule_time]
466	// for retry between
467	// [min_backoff][google.cloud.tasks.v2beta2.RetryConfig.min_backoff] and
468	// [max_backoff][google.cloud.tasks.v2beta2.RetryConfig.max_backoff] duration
469	// after it fails, if the queue's
470	// [RetryConfig][google.cloud.tasks.v2beta2.RetryConfig] specifies that the
471	// task should be retried.
472	//
473	// If unspecified when the queue is created, Cloud Tasks will pick the
474	// default.
475	//
476	// This field is output only for [pull
477	// queues][google.cloud.tasks.v2beta2.PullTarget].
478	//
479	//
480	// `min_backoff` will be truncated to the nearest second.
481	//
482	// This field has the same meaning as
483	// [min_backoff_seconds in
484	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
485	MinBackoff *duration.Duration `protobuf:"bytes,4,opt,name=min_backoff,json=minBackoff,proto3" json:"min_backoff,omitempty"`
486	// A task will be [scheduled][google.cloud.tasks.v2beta2.Task.schedule_time]
487	// for retry between
488	// [min_backoff][google.cloud.tasks.v2beta2.RetryConfig.min_backoff] and
489	// [max_backoff][google.cloud.tasks.v2beta2.RetryConfig.max_backoff] duration
490	// after it fails, if the queue's
491	// [RetryConfig][google.cloud.tasks.v2beta2.RetryConfig] specifies that the
492	// task should be retried.
493	//
494	// If unspecified when the queue is created, Cloud Tasks will pick the
495	// default.
496	//
497	// This field is output only for [pull
498	// queues][google.cloud.tasks.v2beta2.PullTarget].
499	//
500	//
501	// `max_backoff` will be truncated to the nearest second.
502	//
503	// This field has the same meaning as
504	// [max_backoff_seconds in
505	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
506	MaxBackoff *duration.Duration `protobuf:"bytes,5,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"`
507	// The time between retries will double `max_doublings` times.
508	//
509	// A task's retry interval starts at
510	// [min_backoff][google.cloud.tasks.v2beta2.RetryConfig.min_backoff], then
511	// doubles `max_doublings` times, then increases linearly, and finally retries
512	// retries at intervals of
513	// [max_backoff][google.cloud.tasks.v2beta2.RetryConfig.max_backoff] up to
514	// [max_attempts][google.cloud.tasks.v2beta2.RetryConfig.max_attempts] times.
515	//
516	// For example, if
517	// [min_backoff][google.cloud.tasks.v2beta2.RetryConfig.min_backoff] is 10s,
518	// [max_backoff][google.cloud.tasks.v2beta2.RetryConfig.max_backoff] is 300s,
519	// and `max_doublings` is 3, then the a task will first be retried in 10s. The
520	// retry interval will double three times, and then increase linearly by 2^3 *
521	// 10s.  Finally, the task will retry at intervals of
522	// [max_backoff][google.cloud.tasks.v2beta2.RetryConfig.max_backoff] until the
523	// task has been attempted
524	// [max_attempts][google.cloud.tasks.v2beta2.RetryConfig.max_attempts] times.
525	// Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s,
526	// 300s, ....
527	//
528	// If unspecified when the queue is created, Cloud Tasks will pick the
529	// default.
530	//
531	// This field is output only for [pull
532	// queues][google.cloud.tasks.v2beta2.PullTarget].
533	//
534	//
535	// This field has the same meaning as
536	// [max_doublings in
537	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
538	MaxDoublings         int32    `protobuf:"varint,6,opt,name=max_doublings,json=maxDoublings,proto3" json:"max_doublings,omitempty"`
539	XXX_NoUnkeyedLiteral struct{} `json:"-"`
540	XXX_unrecognized     []byte   `json:"-"`
541	XXX_sizecache        int32    `json:"-"`
542}
543
544func (m *RetryConfig) Reset()         { *m = RetryConfig{} }
545func (m *RetryConfig) String() string { return proto.CompactTextString(m) }
546func (*RetryConfig) ProtoMessage()    {}
547func (*RetryConfig) Descriptor() ([]byte, []int) {
548	return fileDescriptor_b86070a8ff200176, []int{2}
549}
550
551func (m *RetryConfig) XXX_Unmarshal(b []byte) error {
552	return xxx_messageInfo_RetryConfig.Unmarshal(m, b)
553}
554func (m *RetryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
555	return xxx_messageInfo_RetryConfig.Marshal(b, m, deterministic)
556}
557func (m *RetryConfig) XXX_Merge(src proto.Message) {
558	xxx_messageInfo_RetryConfig.Merge(m, src)
559}
560func (m *RetryConfig) XXX_Size() int {
561	return xxx_messageInfo_RetryConfig.Size(m)
562}
563func (m *RetryConfig) XXX_DiscardUnknown() {
564	xxx_messageInfo_RetryConfig.DiscardUnknown(m)
565}
566
567var xxx_messageInfo_RetryConfig proto.InternalMessageInfo
568
569type isRetryConfig_NumAttempts interface {
570	isRetryConfig_NumAttempts()
571}
572
573type RetryConfig_MaxAttempts struct {
574	MaxAttempts int32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3,oneof"`
575}
576
577type RetryConfig_UnlimitedAttempts struct {
578	UnlimitedAttempts bool `protobuf:"varint,2,opt,name=unlimited_attempts,json=unlimitedAttempts,proto3,oneof"`
579}
580
581func (*RetryConfig_MaxAttempts) isRetryConfig_NumAttempts() {}
582
583func (*RetryConfig_UnlimitedAttempts) isRetryConfig_NumAttempts() {}
584
585func (m *RetryConfig) GetNumAttempts() isRetryConfig_NumAttempts {
586	if m != nil {
587		return m.NumAttempts
588	}
589	return nil
590}
591
592func (m *RetryConfig) GetMaxAttempts() int32 {
593	if x, ok := m.GetNumAttempts().(*RetryConfig_MaxAttempts); ok {
594		return x.MaxAttempts
595	}
596	return 0
597}
598
599func (m *RetryConfig) GetUnlimitedAttempts() bool {
600	if x, ok := m.GetNumAttempts().(*RetryConfig_UnlimitedAttempts); ok {
601		return x.UnlimitedAttempts
602	}
603	return false
604}
605
606func (m *RetryConfig) GetMaxRetryDuration() *duration.Duration {
607	if m != nil {
608		return m.MaxRetryDuration
609	}
610	return nil
611}
612
613func (m *RetryConfig) GetMinBackoff() *duration.Duration {
614	if m != nil {
615		return m.MinBackoff
616	}
617	return nil
618}
619
620func (m *RetryConfig) GetMaxBackoff() *duration.Duration {
621	if m != nil {
622		return m.MaxBackoff
623	}
624	return nil
625}
626
627func (m *RetryConfig) GetMaxDoublings() int32 {
628	if m != nil {
629		return m.MaxDoublings
630	}
631	return 0
632}
633
634// XXX_OneofWrappers is for the internal use of the proto package.
635func (*RetryConfig) XXX_OneofWrappers() []interface{} {
636	return []interface{}{
637		(*RetryConfig_MaxAttempts)(nil),
638		(*RetryConfig_UnlimitedAttempts)(nil),
639	}
640}
641
642func init() {
643	proto.RegisterEnum("google.cloud.tasks.v2beta2.Queue_State", Queue_State_name, Queue_State_value)
644	proto.RegisterType((*Queue)(nil), "google.cloud.tasks.v2beta2.Queue")
645	proto.RegisterType((*RateLimits)(nil), "google.cloud.tasks.v2beta2.RateLimits")
646	proto.RegisterType((*RetryConfig)(nil), "google.cloud.tasks.v2beta2.RetryConfig")
647}
648
649func init() {
650	proto.RegisterFile("google/cloud/tasks/v2beta2/queue.proto", fileDescriptor_b86070a8ff200176)
651}
652
653var fileDescriptor_b86070a8ff200176 = []byte{
654	// 702 bytes of a gzipped FileDescriptorProto
655	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0xcb, 0x6e, 0xdb, 0x3a,
656	0x10, 0x86, 0xad, 0x24, 0xca, 0x65, 0xe4, 0x04, 0x0e, 0xcf, 0x05, 0x3e, 0x3e, 0x45, 0x62, 0x38,
657	0x45, 0xe2, 0x95, 0x54, 0xa4, 0xab, 0xb6, 0x28, 0x0a, 0x3b, 0x72, 0x63, 0x17, 0x81, 0xe1, 0xca,
658	0xce, 0xa6, 0x1b, 0x82, 0x96, 0x69, 0x45, 0x88, 0x44, 0xb2, 0x12, 0x55, 0x38, 0x79, 0xa4, 0x6e,
659	0xfb, 0x34, 0x7d, 0x9b, 0x82, 0xd4, 0x25, 0x45, 0xd3, 0x3a, 0x3b, 0x73, 0xe6, 0xfb, 0xff, 0x19,
660	0x71, 0x86, 0x86, 0xd3, 0x80, 0xf3, 0x20, 0xa2, 0x8e, 0x1f, 0xf1, 0x6c, 0xe1, 0x48, 0x92, 0xde,
661	0xa6, 0xce, 0x97, 0xf3, 0x39, 0x95, 0xe4, 0xdc, 0xf9, 0x9c, 0xd1, 0x8c, 0xda, 0x22, 0xe1, 0x92,
662	0xa3, 0x56, 0xce, 0xd9, 0x9a, 0xb3, 0x35, 0x67, 0x17, 0x5c, 0xeb, 0x59, 0xe1, 0x41, 0x44, 0xe8,
663	0x10, 0xc6, 0xb8, 0x24, 0x32, 0xe4, 0x2c, 0xcd, 0x95, 0xad, 0xb3, 0x35, 0x15, 0x24, 0x49, 0x02,
664	0x2a, 0x0b, 0xf0, 0xa8, 0x00, 0xf5, 0x69, 0x9e, 0x2d, 0x9d, 0x45, 0x96, 0x68, 0xa7, 0x22, 0x7f,
665	0xfc, 0x6b, 0x5e, 0x86, 0x31, 0x4d, 0x25, 0x89, 0x45, 0x0e, 0x74, 0xbe, 0x6d, 0x81, 0xf9, 0x51,
666	0xf5, 0x8c, 0x10, 0x6c, 0x31, 0x12, 0xd3, 0xa6, 0xd1, 0x36, 0xba, 0x7b, 0x9e, 0xfe, 0x8d, 0x96,
667	0xf0, 0x2f, 0x11, 0x02, 0x53, 0x16, 0x84, 0x8c, 0xe2, 0x1b, 0x29, 0x05, 0xce, 0xcb, 0x37, 0x37,
668	0xdb, 0x46, 0xd7, 0x3a, 0x77, 0xec, 0x3f, 0x7f, 0xa2, 0xdd, 0x13, 0x62, 0xa0, 0x85, 0x43, 0x29,
669	0xc5, 0x4c, 0xcb, 0x86, 0x35, 0xef, 0x2f, 0xf2, 0x38, 0x8c, 0x46, 0x60, 0x89, 0x2c, 0x8a, 0x4a,
670	0xf3, 0x2d, 0x6d, 0x7e, 0xba, 0xce, 0x7c, 0x92, 0x45, 0x51, 0xe5, 0x09, 0xa2, 0x3a, 0xa1, 0x4b,
671	0xb0, 0x12, 0x22, 0x29, 0x8e, 0xc2, 0x38, 0x94, 0x69, 0xd3, 0x7c, 0xda, 0xca, 0x23, 0x92, 0x5e,
672	0x69, 0xda, 0x83, 0xa4, 0xfa, 0x8d, 0x3e, 0x40, 0x3d, 0xa1, 0x32, 0xb9, 0xc3, 0x3e, 0x67, 0xcb,
673	0x30, 0x68, 0x6e, 0x6b, 0xa7, 0xb3, 0xb5, 0x4e, 0x8a, 0xbf, 0xd0, 0xb8, 0x67, 0x25, 0x0f, 0x07,
674	0xf4, 0x16, 0xcc, 0x54, 0x12, 0x49, 0x9b, 0x3b, 0x6d, 0xa3, 0x7b, 0xb0, 0xde, 0x44, 0x4f, 0xc3,
675	0x9e, 0x2a, 0xdc, 0xcb, 0x55, 0xe8, 0x15, 0x80, 0xc8, 0x92, 0x80, 0x62, 0x35, 0xbd, 0xe6, 0xae,
676	0x6e, 0xa4, 0x55, 0x7a, 0x94, 0xa3, 0xb5, 0x67, 0xe5, 0x68, 0xbd, 0x3d, 0x4d, 0xab, 0x73, 0x67,
677	0x00, 0xa6, 0xb6, 0x42, 0xff, 0xc0, 0xe1, 0x74, 0xd6, 0x9b, 0x0d, 0xf0, 0xf5, 0x78, 0x3a, 0x19,
678	0x5c, 0x8c, 0xde, 0x8f, 0x06, 0x6e, 0xa3, 0x86, 0x2c, 0xd8, 0xf1, 0xae, 0xc7, 0xe3, 0xd1, 0xf8,
679	0xb2, 0x61, 0x20, 0x80, 0xed, 0x49, 0xef, 0x7a, 0x3a, 0x70, 0x1b, 0x1b, 0xa8, 0x0e, 0xbb, 0xee,
680	0x68, 0xda, 0xeb, 0x5f, 0x0d, 0xdc, 0xc6, 0x66, 0x7f, 0x1f, 0xac, 0x7c, 0x36, 0x58, 0xde, 0x09,
681	0xda, 0xf9, 0x6a, 0x00, 0x3c, 0x5c, 0x1b, 0x72, 0xe1, 0x38, 0x26, 0x2b, 0xac, 0xbf, 0x03, 0x2f,
682	0xc2, 0x54, 0x10, 0xe9, 0xdf, 0xd0, 0x05, 0x16, 0x34, 0xc1, 0x29, 0xf5, 0x39, 0x5b, 0xe8, 0xad,
683	0x32, 0xbc, 0xff, 0x63, 0xb2, 0x9a, 0x29, 0xca, 0xad, 0xa0, 0x09, 0x4d, 0xa6, 0x1a, 0x41, 0xcf,
684	0xe1, 0x40, 0xb9, 0xcc, 0xb3, 0x24, 0x95, 0x38, 0x0d, 0xef, 0x69, 0x73, 0xa3, 0x6d, 0x74, 0x4d,
685	0xaf, 0x1e, 0x93, 0x55, 0x5f, 0x05, 0xa7, 0xe1, 0x3d, 0x45, 0x2f, 0xe0, 0x6f, 0x45, 0xf9, 0x9c,
686	0xf9, 0x59, 0x92, 0x50, 0x26, 0xf3, 0xb2, 0x7a, 0x21, 0x4d, 0x0f, 0xc5, 0x64, 0x75, 0x51, 0xa5,
687	0x74, 0xa9, 0xce, 0xf7, 0x0d, 0xb0, 0x7e, 0x9a, 0x0c, 0x3a, 0x01, 0xe5, 0x88, 0x89, 0x94, 0x34,
688	0x16, 0x32, 0xd5, 0xad, 0x99, 0xc3, 0x9a, 0x67, 0xc5, 0x64, 0xd5, 0x2b, 0x82, 0xc8, 0x01, 0x94,
689	0x31, 0xbd, 0x43, 0x74, 0xf1, 0x80, 0xaa, 0x86, 0x76, 0x87, 0x35, 0xef, 0xb0, 0xca, 0x55, 0x82,
690	0x4b, 0x50, 0xb5, 0x71, 0xbe, 0x32, 0xe5, 0x2b, 0x2c, 0x9e, 0xc9, 0x7f, 0x8f, 0x66, 0xe5, 0x16,
691	0x80, 0xd7, 0x88, 0xc9, 0x4a, 0x37, 0x57, 0x46, 0xd0, 0x6b, 0xb0, 0xe2, 0x90, 0xe1, 0x39, 0xf1,
692	0x6f, 0xf9, 0x72, 0x59, 0xbc, 0x85, 0x35, 0x0e, 0x10, 0x87, 0xac, 0x9f, 0xc3, 0x5a, 0xab, 0xae,
693	0xb0, 0xd0, 0x9a, 0x4f, 0x6b, 0xc9, 0xaa, 0xd4, 0x9e, 0xc0, 0xbe, 0xd2, 0x2e, 0x78, 0x36, 0x8f,
694	0x42, 0x16, 0xa4, 0x7a, 0xe1, 0xf3, 0xdb, 0x77, 0xcb, 0x58, 0xff, 0x00, 0xea, 0x2c, 0x8b, 0xab,
695	0x0b, 0xe9, 0x73, 0x38, 0xf2, 0x79, 0xbc, 0x66, 0x9d, 0xfb, 0xa0, 0xf7, 0x79, 0xa2, 0x4a, 0x4f,
696	0x8c, 0x4f, 0xef, 0x0a, 0x32, 0xe0, 0x11, 0x61, 0x81, 0xcd, 0x93, 0xc0, 0x09, 0x28, 0xd3, 0x8d,
697	0x39, 0x79, 0x8a, 0x88, 0x30, 0xfd, 0xdd, 0xff, 0xde, 0x1b, 0x7d, 0x9a, 0x6f, 0x6b, 0xf6, 0xe5,
698	0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6, 0xd1, 0xaa, 0xde, 0x84, 0x05, 0x00, 0x00,
699}
700