1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/pubsub/v1/pubsub.proto
3
4package pubsub // import "google.golang.org/genproto/googleapis/pubsub/v1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import duration "github.com/golang/protobuf/ptypes/duration"
10import empty "github.com/golang/protobuf/ptypes/empty"
11import timestamp "github.com/golang/protobuf/ptypes/timestamp"
12import _ "google.golang.org/genproto/googleapis/api/annotations"
13import field_mask "google.golang.org/genproto/protobuf/field_mask"
14
15import (
16	context "golang.org/x/net/context"
17	grpc "google.golang.org/grpc"
18)
19
20// Reference imports to suppress errors if they are not otherwise used.
21var _ = proto.Marshal
22var _ = fmt.Errorf
23var _ = math.Inf
24
25// This is a compile-time assertion to ensure that this generated file
26// is compatible with the proto package it is being compiled against.
27// A compilation error at this line likely means your copy of the
28// proto package needs to be updated.
29const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
30
31type MessageStoragePolicy struct {
32	// The list of GCP region IDs where messages that are published to the topic
33	// may be persisted in storage. Messages published by publishers running in
34	// non-allowed GCP regions (or running outside of GCP altogether) will be
35	// routed for storage in one of the allowed regions. An empty list indicates a
36	// misconfiguration at the project or organization level, which will result in
37	// all Publish operations failing.
38	AllowedPersistenceRegions []string `protobuf:"bytes,1,rep,name=allowed_persistence_regions,json=allowedPersistenceRegions,proto3" json:"allowed_persistence_regions,omitempty"`
39	XXX_NoUnkeyedLiteral      struct{} `json:"-"`
40	XXX_unrecognized          []byte   `json:"-"`
41	XXX_sizecache             int32    `json:"-"`
42}
43
44func (m *MessageStoragePolicy) Reset()         { *m = MessageStoragePolicy{} }
45func (m *MessageStoragePolicy) String() string { return proto.CompactTextString(m) }
46func (*MessageStoragePolicy) ProtoMessage()    {}
47func (*MessageStoragePolicy) Descriptor() ([]byte, []int) {
48	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{0}
49}
50func (m *MessageStoragePolicy) XXX_Unmarshal(b []byte) error {
51	return xxx_messageInfo_MessageStoragePolicy.Unmarshal(m, b)
52}
53func (m *MessageStoragePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
54	return xxx_messageInfo_MessageStoragePolicy.Marshal(b, m, deterministic)
55}
56func (dst *MessageStoragePolicy) XXX_Merge(src proto.Message) {
57	xxx_messageInfo_MessageStoragePolicy.Merge(dst, src)
58}
59func (m *MessageStoragePolicy) XXX_Size() int {
60	return xxx_messageInfo_MessageStoragePolicy.Size(m)
61}
62func (m *MessageStoragePolicy) XXX_DiscardUnknown() {
63	xxx_messageInfo_MessageStoragePolicy.DiscardUnknown(m)
64}
65
66var xxx_messageInfo_MessageStoragePolicy proto.InternalMessageInfo
67
68func (m *MessageStoragePolicy) GetAllowedPersistenceRegions() []string {
69	if m != nil {
70		return m.AllowedPersistenceRegions
71	}
72	return nil
73}
74
75// A topic resource.
76type Topic struct {
77	// The name of the topic. It must have the format
78	// `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
79	// and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
80	// underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
81	// signs (`%`). It must be between 3 and 255 characters in length, and it
82	// must not start with `"goog"`.
83	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
84	// See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
85	// managing labels</a>.
86	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
87	// Policy constraining how messages published to the topic may be stored. It
88	// is determined when the topic is created based on the policy configured at
89	// the project level. It must not be set by the caller in the request to
90	// CreateTopic or to UpdateTopic. This field will be populated in the
91	// responses for GetTopic, CreateTopic, and UpdateTopic: if not present in the
92	// response, then no constraints are in effect.
93	MessageStoragePolicy *MessageStoragePolicy `protobuf:"bytes,3,opt,name=message_storage_policy,json=messageStoragePolicy,proto3" json:"message_storage_policy,omitempty"`
94	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
95	XXX_unrecognized     []byte                `json:"-"`
96	XXX_sizecache        int32                 `json:"-"`
97}
98
99func (m *Topic) Reset()         { *m = Topic{} }
100func (m *Topic) String() string { return proto.CompactTextString(m) }
101func (*Topic) ProtoMessage()    {}
102func (*Topic) Descriptor() ([]byte, []int) {
103	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{1}
104}
105func (m *Topic) XXX_Unmarshal(b []byte) error {
106	return xxx_messageInfo_Topic.Unmarshal(m, b)
107}
108func (m *Topic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
109	return xxx_messageInfo_Topic.Marshal(b, m, deterministic)
110}
111func (dst *Topic) XXX_Merge(src proto.Message) {
112	xxx_messageInfo_Topic.Merge(dst, src)
113}
114func (m *Topic) XXX_Size() int {
115	return xxx_messageInfo_Topic.Size(m)
116}
117func (m *Topic) XXX_DiscardUnknown() {
118	xxx_messageInfo_Topic.DiscardUnknown(m)
119}
120
121var xxx_messageInfo_Topic proto.InternalMessageInfo
122
123func (m *Topic) GetName() string {
124	if m != nil {
125		return m.Name
126	}
127	return ""
128}
129
130func (m *Topic) GetLabels() map[string]string {
131	if m != nil {
132		return m.Labels
133	}
134	return nil
135}
136
137func (m *Topic) GetMessageStoragePolicy() *MessageStoragePolicy {
138	if m != nil {
139		return m.MessageStoragePolicy
140	}
141	return nil
142}
143
144// A message that is published by publishers and consumed by subscribers. The
145// message must contain either a non-empty data field or at least one attribute.
146// Note that client libraries represent this object differently
147// depending on the language. See the corresponding
148// <a href="https://cloud.google.com/pubsub/docs/reference/libraries">client
149// library documentation</a> for more information. See
150// <a href="https://cloud.google.com/pubsub/quotas">Quotas and limits</a>
151// for more information about message limits.
152type PubsubMessage struct {
153	// The message data field. If this field is empty, the message must contain
154	// at least one attribute.
155	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
156	// Optional attributes for this message.
157	Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
158	// ID of this message, assigned by the server when the message is published.
159	// Guaranteed to be unique within the topic. This value may be read by a
160	// subscriber that receives a `PubsubMessage` via a `Pull` call or a push
161	// delivery. It must not be populated by the publisher in a `Publish` call.
162	MessageId string `protobuf:"bytes,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
163	// The time at which the message was published, populated by the server when
164	// it receives the `Publish` call. It must not be populated by the
165	// publisher in a `Publish` call.
166	PublishTime          *timestamp.Timestamp `protobuf:"bytes,4,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"`
167	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
168	XXX_unrecognized     []byte               `json:"-"`
169	XXX_sizecache        int32                `json:"-"`
170}
171
172func (m *PubsubMessage) Reset()         { *m = PubsubMessage{} }
173func (m *PubsubMessage) String() string { return proto.CompactTextString(m) }
174func (*PubsubMessage) ProtoMessage()    {}
175func (*PubsubMessage) Descriptor() ([]byte, []int) {
176	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{2}
177}
178func (m *PubsubMessage) XXX_Unmarshal(b []byte) error {
179	return xxx_messageInfo_PubsubMessage.Unmarshal(m, b)
180}
181func (m *PubsubMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
182	return xxx_messageInfo_PubsubMessage.Marshal(b, m, deterministic)
183}
184func (dst *PubsubMessage) XXX_Merge(src proto.Message) {
185	xxx_messageInfo_PubsubMessage.Merge(dst, src)
186}
187func (m *PubsubMessage) XXX_Size() int {
188	return xxx_messageInfo_PubsubMessage.Size(m)
189}
190func (m *PubsubMessage) XXX_DiscardUnknown() {
191	xxx_messageInfo_PubsubMessage.DiscardUnknown(m)
192}
193
194var xxx_messageInfo_PubsubMessage proto.InternalMessageInfo
195
196func (m *PubsubMessage) GetData() []byte {
197	if m != nil {
198		return m.Data
199	}
200	return nil
201}
202
203func (m *PubsubMessage) GetAttributes() map[string]string {
204	if m != nil {
205		return m.Attributes
206	}
207	return nil
208}
209
210func (m *PubsubMessage) GetMessageId() string {
211	if m != nil {
212		return m.MessageId
213	}
214	return ""
215}
216
217func (m *PubsubMessage) GetPublishTime() *timestamp.Timestamp {
218	if m != nil {
219		return m.PublishTime
220	}
221	return nil
222}
223
224// Request for the GetTopic method.
225type GetTopicRequest struct {
226	// The name of the topic to get.
227	// Format is `projects/{project}/topics/{topic}`.
228	Topic                string   `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
229	XXX_NoUnkeyedLiteral struct{} `json:"-"`
230	XXX_unrecognized     []byte   `json:"-"`
231	XXX_sizecache        int32    `json:"-"`
232}
233
234func (m *GetTopicRequest) Reset()         { *m = GetTopicRequest{} }
235func (m *GetTopicRequest) String() string { return proto.CompactTextString(m) }
236func (*GetTopicRequest) ProtoMessage()    {}
237func (*GetTopicRequest) Descriptor() ([]byte, []int) {
238	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{3}
239}
240func (m *GetTopicRequest) XXX_Unmarshal(b []byte) error {
241	return xxx_messageInfo_GetTopicRequest.Unmarshal(m, b)
242}
243func (m *GetTopicRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
244	return xxx_messageInfo_GetTopicRequest.Marshal(b, m, deterministic)
245}
246func (dst *GetTopicRequest) XXX_Merge(src proto.Message) {
247	xxx_messageInfo_GetTopicRequest.Merge(dst, src)
248}
249func (m *GetTopicRequest) XXX_Size() int {
250	return xxx_messageInfo_GetTopicRequest.Size(m)
251}
252func (m *GetTopicRequest) XXX_DiscardUnknown() {
253	xxx_messageInfo_GetTopicRequest.DiscardUnknown(m)
254}
255
256var xxx_messageInfo_GetTopicRequest proto.InternalMessageInfo
257
258func (m *GetTopicRequest) GetTopic() string {
259	if m != nil {
260		return m.Topic
261	}
262	return ""
263}
264
265// Request for the UpdateTopic method.
266type UpdateTopicRequest struct {
267	// The updated topic object.
268	Topic *Topic `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
269	// Indicates which fields in the provided topic to update. Must be specified
270	// and non-empty. Note that if `update_mask` contains
271	// "message_storage_policy" then the new value will be determined based on the
272	// policy configured at the project or organization level. The
273	// `message_storage_policy` must not be set in the `topic` provided above.
274	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
275	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
276	XXX_unrecognized     []byte                `json:"-"`
277	XXX_sizecache        int32                 `json:"-"`
278}
279
280func (m *UpdateTopicRequest) Reset()         { *m = UpdateTopicRequest{} }
281func (m *UpdateTopicRequest) String() string { return proto.CompactTextString(m) }
282func (*UpdateTopicRequest) ProtoMessage()    {}
283func (*UpdateTopicRequest) Descriptor() ([]byte, []int) {
284	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{4}
285}
286func (m *UpdateTopicRequest) XXX_Unmarshal(b []byte) error {
287	return xxx_messageInfo_UpdateTopicRequest.Unmarshal(m, b)
288}
289func (m *UpdateTopicRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
290	return xxx_messageInfo_UpdateTopicRequest.Marshal(b, m, deterministic)
291}
292func (dst *UpdateTopicRequest) XXX_Merge(src proto.Message) {
293	xxx_messageInfo_UpdateTopicRequest.Merge(dst, src)
294}
295func (m *UpdateTopicRequest) XXX_Size() int {
296	return xxx_messageInfo_UpdateTopicRequest.Size(m)
297}
298func (m *UpdateTopicRequest) XXX_DiscardUnknown() {
299	xxx_messageInfo_UpdateTopicRequest.DiscardUnknown(m)
300}
301
302var xxx_messageInfo_UpdateTopicRequest proto.InternalMessageInfo
303
304func (m *UpdateTopicRequest) GetTopic() *Topic {
305	if m != nil {
306		return m.Topic
307	}
308	return nil
309}
310
311func (m *UpdateTopicRequest) GetUpdateMask() *field_mask.FieldMask {
312	if m != nil {
313		return m.UpdateMask
314	}
315	return nil
316}
317
318// Request for the Publish method.
319type PublishRequest struct {
320	// The messages in the request will be published on this topic.
321	// Format is `projects/{project}/topics/{topic}`.
322	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
323	// The messages to publish.
324	Messages             []*PubsubMessage `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"`
325	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
326	XXX_unrecognized     []byte           `json:"-"`
327	XXX_sizecache        int32            `json:"-"`
328}
329
330func (m *PublishRequest) Reset()         { *m = PublishRequest{} }
331func (m *PublishRequest) String() string { return proto.CompactTextString(m) }
332func (*PublishRequest) ProtoMessage()    {}
333func (*PublishRequest) Descriptor() ([]byte, []int) {
334	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{5}
335}
336func (m *PublishRequest) XXX_Unmarshal(b []byte) error {
337	return xxx_messageInfo_PublishRequest.Unmarshal(m, b)
338}
339func (m *PublishRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
340	return xxx_messageInfo_PublishRequest.Marshal(b, m, deterministic)
341}
342func (dst *PublishRequest) XXX_Merge(src proto.Message) {
343	xxx_messageInfo_PublishRequest.Merge(dst, src)
344}
345func (m *PublishRequest) XXX_Size() int {
346	return xxx_messageInfo_PublishRequest.Size(m)
347}
348func (m *PublishRequest) XXX_DiscardUnknown() {
349	xxx_messageInfo_PublishRequest.DiscardUnknown(m)
350}
351
352var xxx_messageInfo_PublishRequest proto.InternalMessageInfo
353
354func (m *PublishRequest) GetTopic() string {
355	if m != nil {
356		return m.Topic
357	}
358	return ""
359}
360
361func (m *PublishRequest) GetMessages() []*PubsubMessage {
362	if m != nil {
363		return m.Messages
364	}
365	return nil
366}
367
368// Response for the `Publish` method.
369type PublishResponse struct {
370	// The server-assigned ID of each published message, in the same order as
371	// the messages in the request. IDs are guaranteed to be unique within
372	// the topic.
373	MessageIds           []string `protobuf:"bytes,1,rep,name=message_ids,json=messageIds,proto3" json:"message_ids,omitempty"`
374	XXX_NoUnkeyedLiteral struct{} `json:"-"`
375	XXX_unrecognized     []byte   `json:"-"`
376	XXX_sizecache        int32    `json:"-"`
377}
378
379func (m *PublishResponse) Reset()         { *m = PublishResponse{} }
380func (m *PublishResponse) String() string { return proto.CompactTextString(m) }
381func (*PublishResponse) ProtoMessage()    {}
382func (*PublishResponse) Descriptor() ([]byte, []int) {
383	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{6}
384}
385func (m *PublishResponse) XXX_Unmarshal(b []byte) error {
386	return xxx_messageInfo_PublishResponse.Unmarshal(m, b)
387}
388func (m *PublishResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
389	return xxx_messageInfo_PublishResponse.Marshal(b, m, deterministic)
390}
391func (dst *PublishResponse) XXX_Merge(src proto.Message) {
392	xxx_messageInfo_PublishResponse.Merge(dst, src)
393}
394func (m *PublishResponse) XXX_Size() int {
395	return xxx_messageInfo_PublishResponse.Size(m)
396}
397func (m *PublishResponse) XXX_DiscardUnknown() {
398	xxx_messageInfo_PublishResponse.DiscardUnknown(m)
399}
400
401var xxx_messageInfo_PublishResponse proto.InternalMessageInfo
402
403func (m *PublishResponse) GetMessageIds() []string {
404	if m != nil {
405		return m.MessageIds
406	}
407	return nil
408}
409
410// Request for the `ListTopics` method.
411type ListTopicsRequest struct {
412	// The name of the project in which to list topics.
413	// Format is `projects/{project-id}`.
414	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
415	// Maximum number of topics to return.
416	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
417	// The value returned by the last `ListTopicsResponse`; indicates that this is
418	// a continuation of a prior `ListTopics` call, and that the system should
419	// return the next page of data.
420	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
421	XXX_NoUnkeyedLiteral struct{} `json:"-"`
422	XXX_unrecognized     []byte   `json:"-"`
423	XXX_sizecache        int32    `json:"-"`
424}
425
426func (m *ListTopicsRequest) Reset()         { *m = ListTopicsRequest{} }
427func (m *ListTopicsRequest) String() string { return proto.CompactTextString(m) }
428func (*ListTopicsRequest) ProtoMessage()    {}
429func (*ListTopicsRequest) Descriptor() ([]byte, []int) {
430	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{7}
431}
432func (m *ListTopicsRequest) XXX_Unmarshal(b []byte) error {
433	return xxx_messageInfo_ListTopicsRequest.Unmarshal(m, b)
434}
435func (m *ListTopicsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
436	return xxx_messageInfo_ListTopicsRequest.Marshal(b, m, deterministic)
437}
438func (dst *ListTopicsRequest) XXX_Merge(src proto.Message) {
439	xxx_messageInfo_ListTopicsRequest.Merge(dst, src)
440}
441func (m *ListTopicsRequest) XXX_Size() int {
442	return xxx_messageInfo_ListTopicsRequest.Size(m)
443}
444func (m *ListTopicsRequest) XXX_DiscardUnknown() {
445	xxx_messageInfo_ListTopicsRequest.DiscardUnknown(m)
446}
447
448var xxx_messageInfo_ListTopicsRequest proto.InternalMessageInfo
449
450func (m *ListTopicsRequest) GetProject() string {
451	if m != nil {
452		return m.Project
453	}
454	return ""
455}
456
457func (m *ListTopicsRequest) GetPageSize() int32 {
458	if m != nil {
459		return m.PageSize
460	}
461	return 0
462}
463
464func (m *ListTopicsRequest) GetPageToken() string {
465	if m != nil {
466		return m.PageToken
467	}
468	return ""
469}
470
471// Response for the `ListTopics` method.
472type ListTopicsResponse struct {
473	// The resulting topics.
474	Topics []*Topic `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
475	// If not empty, indicates that there may be more topics that match the
476	// request; this value should be passed in a new `ListTopicsRequest`.
477	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
478	XXX_NoUnkeyedLiteral struct{} `json:"-"`
479	XXX_unrecognized     []byte   `json:"-"`
480	XXX_sizecache        int32    `json:"-"`
481}
482
483func (m *ListTopicsResponse) Reset()         { *m = ListTopicsResponse{} }
484func (m *ListTopicsResponse) String() string { return proto.CompactTextString(m) }
485func (*ListTopicsResponse) ProtoMessage()    {}
486func (*ListTopicsResponse) Descriptor() ([]byte, []int) {
487	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{8}
488}
489func (m *ListTopicsResponse) XXX_Unmarshal(b []byte) error {
490	return xxx_messageInfo_ListTopicsResponse.Unmarshal(m, b)
491}
492func (m *ListTopicsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
493	return xxx_messageInfo_ListTopicsResponse.Marshal(b, m, deterministic)
494}
495func (dst *ListTopicsResponse) XXX_Merge(src proto.Message) {
496	xxx_messageInfo_ListTopicsResponse.Merge(dst, src)
497}
498func (m *ListTopicsResponse) XXX_Size() int {
499	return xxx_messageInfo_ListTopicsResponse.Size(m)
500}
501func (m *ListTopicsResponse) XXX_DiscardUnknown() {
502	xxx_messageInfo_ListTopicsResponse.DiscardUnknown(m)
503}
504
505var xxx_messageInfo_ListTopicsResponse proto.InternalMessageInfo
506
507func (m *ListTopicsResponse) GetTopics() []*Topic {
508	if m != nil {
509		return m.Topics
510	}
511	return nil
512}
513
514func (m *ListTopicsResponse) GetNextPageToken() string {
515	if m != nil {
516		return m.NextPageToken
517	}
518	return ""
519}
520
521// Request for the `ListTopicSubscriptions` method.
522type ListTopicSubscriptionsRequest struct {
523	// The name of the topic that subscriptions are attached to.
524	// Format is `projects/{project}/topics/{topic}`.
525	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
526	// Maximum number of subscription names to return.
527	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
528	// The value returned by the last `ListTopicSubscriptionsResponse`; indicates
529	// that this is a continuation of a prior `ListTopicSubscriptions` call, and
530	// that the system should return the next page of data.
531	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
532	XXX_NoUnkeyedLiteral struct{} `json:"-"`
533	XXX_unrecognized     []byte   `json:"-"`
534	XXX_sizecache        int32    `json:"-"`
535}
536
537func (m *ListTopicSubscriptionsRequest) Reset()         { *m = ListTopicSubscriptionsRequest{} }
538func (m *ListTopicSubscriptionsRequest) String() string { return proto.CompactTextString(m) }
539func (*ListTopicSubscriptionsRequest) ProtoMessage()    {}
540func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) {
541	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{9}
542}
543func (m *ListTopicSubscriptionsRequest) XXX_Unmarshal(b []byte) error {
544	return xxx_messageInfo_ListTopicSubscriptionsRequest.Unmarshal(m, b)
545}
546func (m *ListTopicSubscriptionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
547	return xxx_messageInfo_ListTopicSubscriptionsRequest.Marshal(b, m, deterministic)
548}
549func (dst *ListTopicSubscriptionsRequest) XXX_Merge(src proto.Message) {
550	xxx_messageInfo_ListTopicSubscriptionsRequest.Merge(dst, src)
551}
552func (m *ListTopicSubscriptionsRequest) XXX_Size() int {
553	return xxx_messageInfo_ListTopicSubscriptionsRequest.Size(m)
554}
555func (m *ListTopicSubscriptionsRequest) XXX_DiscardUnknown() {
556	xxx_messageInfo_ListTopicSubscriptionsRequest.DiscardUnknown(m)
557}
558
559var xxx_messageInfo_ListTopicSubscriptionsRequest proto.InternalMessageInfo
560
561func (m *ListTopicSubscriptionsRequest) GetTopic() string {
562	if m != nil {
563		return m.Topic
564	}
565	return ""
566}
567
568func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
569	if m != nil {
570		return m.PageSize
571	}
572	return 0
573}
574
575func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
576	if m != nil {
577		return m.PageToken
578	}
579	return ""
580}
581
582// Response for the `ListTopicSubscriptions` method.
583type ListTopicSubscriptionsResponse struct {
584	// The names of the subscriptions that match the request.
585	Subscriptions []string `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
586	// If not empty, indicates that there may be more subscriptions that match
587	// the request; this value should be passed in a new
588	// `ListTopicSubscriptionsRequest` to get more subscriptions.
589	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
590	XXX_NoUnkeyedLiteral struct{} `json:"-"`
591	XXX_unrecognized     []byte   `json:"-"`
592	XXX_sizecache        int32    `json:"-"`
593}
594
595func (m *ListTopicSubscriptionsResponse) Reset()         { *m = ListTopicSubscriptionsResponse{} }
596func (m *ListTopicSubscriptionsResponse) String() string { return proto.CompactTextString(m) }
597func (*ListTopicSubscriptionsResponse) ProtoMessage()    {}
598func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) {
599	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{10}
600}
601func (m *ListTopicSubscriptionsResponse) XXX_Unmarshal(b []byte) error {
602	return xxx_messageInfo_ListTopicSubscriptionsResponse.Unmarshal(m, b)
603}
604func (m *ListTopicSubscriptionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
605	return xxx_messageInfo_ListTopicSubscriptionsResponse.Marshal(b, m, deterministic)
606}
607func (dst *ListTopicSubscriptionsResponse) XXX_Merge(src proto.Message) {
608	xxx_messageInfo_ListTopicSubscriptionsResponse.Merge(dst, src)
609}
610func (m *ListTopicSubscriptionsResponse) XXX_Size() int {
611	return xxx_messageInfo_ListTopicSubscriptionsResponse.Size(m)
612}
613func (m *ListTopicSubscriptionsResponse) XXX_DiscardUnknown() {
614	xxx_messageInfo_ListTopicSubscriptionsResponse.DiscardUnknown(m)
615}
616
617var xxx_messageInfo_ListTopicSubscriptionsResponse proto.InternalMessageInfo
618
619func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
620	if m != nil {
621		return m.Subscriptions
622	}
623	return nil
624}
625
626func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
627	if m != nil {
628		return m.NextPageToken
629	}
630	return ""
631}
632
633// Request for the `ListTopicSnapshots` method. <br><br>
634// <b>BETA:</b> This feature is part of a beta release. This API might be
635// changed in backward-incompatible ways and is not recommended for production
636// use. It is not subject to any SLA or deprecation policy.
637type ListTopicSnapshotsRequest struct {
638	// The name of the topic that snapshots are attached to.
639	// Format is `projects/{project}/topics/{topic}`.
640	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
641	// Maximum number of snapshot names to return.
642	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
643	// The value returned by the last `ListTopicSnapshotsResponse`; indicates
644	// that this is a continuation of a prior `ListTopicSnapshots` call, and
645	// that the system should return the next page of data.
646	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
647	XXX_NoUnkeyedLiteral struct{} `json:"-"`
648	XXX_unrecognized     []byte   `json:"-"`
649	XXX_sizecache        int32    `json:"-"`
650}
651
652func (m *ListTopicSnapshotsRequest) Reset()         { *m = ListTopicSnapshotsRequest{} }
653func (m *ListTopicSnapshotsRequest) String() string { return proto.CompactTextString(m) }
654func (*ListTopicSnapshotsRequest) ProtoMessage()    {}
655func (*ListTopicSnapshotsRequest) Descriptor() ([]byte, []int) {
656	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{11}
657}
658func (m *ListTopicSnapshotsRequest) XXX_Unmarshal(b []byte) error {
659	return xxx_messageInfo_ListTopicSnapshotsRequest.Unmarshal(m, b)
660}
661func (m *ListTopicSnapshotsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
662	return xxx_messageInfo_ListTopicSnapshotsRequest.Marshal(b, m, deterministic)
663}
664func (dst *ListTopicSnapshotsRequest) XXX_Merge(src proto.Message) {
665	xxx_messageInfo_ListTopicSnapshotsRequest.Merge(dst, src)
666}
667func (m *ListTopicSnapshotsRequest) XXX_Size() int {
668	return xxx_messageInfo_ListTopicSnapshotsRequest.Size(m)
669}
670func (m *ListTopicSnapshotsRequest) XXX_DiscardUnknown() {
671	xxx_messageInfo_ListTopicSnapshotsRequest.DiscardUnknown(m)
672}
673
674var xxx_messageInfo_ListTopicSnapshotsRequest proto.InternalMessageInfo
675
676func (m *ListTopicSnapshotsRequest) GetTopic() string {
677	if m != nil {
678		return m.Topic
679	}
680	return ""
681}
682
683func (m *ListTopicSnapshotsRequest) GetPageSize() int32 {
684	if m != nil {
685		return m.PageSize
686	}
687	return 0
688}
689
690func (m *ListTopicSnapshotsRequest) GetPageToken() string {
691	if m != nil {
692		return m.PageToken
693	}
694	return ""
695}
696
697// Response for the `ListTopicSnapshots` method.<br><br>
698// <b>BETA:</b> This feature is part of a beta release. This API might be
699// changed in backward-incompatible ways and is not recommended for production
700// use. It is not subject to any SLA or deprecation policy.
701type ListTopicSnapshotsResponse struct {
702	// The names of the snapshots that match the request.
703	Snapshots []string `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
704	// If not empty, indicates that there may be more snapshots that match
705	// the request; this value should be passed in a new
706	// `ListTopicSnapshotsRequest` to get more snapshots.
707	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
708	XXX_NoUnkeyedLiteral struct{} `json:"-"`
709	XXX_unrecognized     []byte   `json:"-"`
710	XXX_sizecache        int32    `json:"-"`
711}
712
713func (m *ListTopicSnapshotsResponse) Reset()         { *m = ListTopicSnapshotsResponse{} }
714func (m *ListTopicSnapshotsResponse) String() string { return proto.CompactTextString(m) }
715func (*ListTopicSnapshotsResponse) ProtoMessage()    {}
716func (*ListTopicSnapshotsResponse) Descriptor() ([]byte, []int) {
717	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{12}
718}
719func (m *ListTopicSnapshotsResponse) XXX_Unmarshal(b []byte) error {
720	return xxx_messageInfo_ListTopicSnapshotsResponse.Unmarshal(m, b)
721}
722func (m *ListTopicSnapshotsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
723	return xxx_messageInfo_ListTopicSnapshotsResponse.Marshal(b, m, deterministic)
724}
725func (dst *ListTopicSnapshotsResponse) XXX_Merge(src proto.Message) {
726	xxx_messageInfo_ListTopicSnapshotsResponse.Merge(dst, src)
727}
728func (m *ListTopicSnapshotsResponse) XXX_Size() int {
729	return xxx_messageInfo_ListTopicSnapshotsResponse.Size(m)
730}
731func (m *ListTopicSnapshotsResponse) XXX_DiscardUnknown() {
732	xxx_messageInfo_ListTopicSnapshotsResponse.DiscardUnknown(m)
733}
734
735var xxx_messageInfo_ListTopicSnapshotsResponse proto.InternalMessageInfo
736
737func (m *ListTopicSnapshotsResponse) GetSnapshots() []string {
738	if m != nil {
739		return m.Snapshots
740	}
741	return nil
742}
743
744func (m *ListTopicSnapshotsResponse) GetNextPageToken() string {
745	if m != nil {
746		return m.NextPageToken
747	}
748	return ""
749}
750
751// Request for the `DeleteTopic` method.
752type DeleteTopicRequest struct {
753	// Name of the topic to delete.
754	// Format is `projects/{project}/topics/{topic}`.
755	Topic                string   `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
756	XXX_NoUnkeyedLiteral struct{} `json:"-"`
757	XXX_unrecognized     []byte   `json:"-"`
758	XXX_sizecache        int32    `json:"-"`
759}
760
761func (m *DeleteTopicRequest) Reset()         { *m = DeleteTopicRequest{} }
762func (m *DeleteTopicRequest) String() string { return proto.CompactTextString(m) }
763func (*DeleteTopicRequest) ProtoMessage()    {}
764func (*DeleteTopicRequest) Descriptor() ([]byte, []int) {
765	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{13}
766}
767func (m *DeleteTopicRequest) XXX_Unmarshal(b []byte) error {
768	return xxx_messageInfo_DeleteTopicRequest.Unmarshal(m, b)
769}
770func (m *DeleteTopicRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
771	return xxx_messageInfo_DeleteTopicRequest.Marshal(b, m, deterministic)
772}
773func (dst *DeleteTopicRequest) XXX_Merge(src proto.Message) {
774	xxx_messageInfo_DeleteTopicRequest.Merge(dst, src)
775}
776func (m *DeleteTopicRequest) XXX_Size() int {
777	return xxx_messageInfo_DeleteTopicRequest.Size(m)
778}
779func (m *DeleteTopicRequest) XXX_DiscardUnknown() {
780	xxx_messageInfo_DeleteTopicRequest.DiscardUnknown(m)
781}
782
783var xxx_messageInfo_DeleteTopicRequest proto.InternalMessageInfo
784
785func (m *DeleteTopicRequest) GetTopic() string {
786	if m != nil {
787		return m.Topic
788	}
789	return ""
790}
791
792// A subscription resource.
793type Subscription struct {
794	// The name of the subscription. It must have the format
795	// `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
796	// start with a letter, and contain only letters (`[A-Za-z]`), numbers
797	// (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
798	// plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
799	// in length, and it must not start with `"goog"`.
800	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
801	// The name of the topic from which this subscription is receiving messages.
802	// Format is `projects/{project}/topics/{topic}`.
803	// The value of this field will be `_deleted-topic_` if the topic has been
804	// deleted.
805	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
806	// If push delivery is used with this subscription, this field is
807	// used to configure it. An empty `pushConfig` signifies that the subscriber
808	// will pull and ack messages using API methods.
809	PushConfig *PushConfig `protobuf:"bytes,4,opt,name=push_config,json=pushConfig,proto3" json:"push_config,omitempty"`
810	// The approximate amount of time (on a best-effort basis) Pub/Sub waits for
811	// the subscriber to acknowledge receipt before resending the message. In the
812	// interval after the message is delivered and before it is acknowledged, it
813	// is considered to be <i>outstanding</i>. During that time period, the
814	// message will not be redelivered (on a best-effort basis).
815	//
816	// For pull subscriptions, this value is used as the initial value for the ack
817	// deadline. To override this value for a given message, call
818	// `ModifyAckDeadline` with the corresponding `ack_id` if using
819	// non-streaming pull or send the `ack_id` in a
820	// `StreamingModifyAckDeadlineRequest` if using streaming pull.
821	// The minimum custom deadline you can specify is 10 seconds.
822	// The maximum custom deadline you can specify is 600 seconds (10 minutes).
823	// If this parameter is 0, a default value of 10 seconds is used.
824	//
825	// For push delivery, this value is also used to set the request timeout for
826	// the call to the push endpoint.
827	//
828	// If the subscriber never acknowledges the message, the Pub/Sub
829	// system will eventually redeliver the message.
830	AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"`
831	// Indicates whether to retain acknowledged messages. If true, then
832	// messages are not expunged from the subscription's backlog, even if they are
833	// acknowledged, until they fall out of the `message_retention_duration`
834	// window. This must be true if you would like to
835	// <a href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
836	// Seek to a timestamp</a>.
837	// <br><br>
838	// <b>BETA:</b> This feature is part of a beta release. This API might be
839	// changed in backward-incompatible ways and is not recommended for production
840	// use. It is not subject to any SLA or deprecation policy.
841	RetainAckedMessages bool `protobuf:"varint,7,opt,name=retain_acked_messages,json=retainAckedMessages,proto3" json:"retain_acked_messages,omitempty"`
842	// How long to retain unacknowledged messages in the subscription's backlog,
843	// from the moment a message is published.
844	// If `retain_acked_messages` is true, then this also configures the retention
845	// of acknowledged messages, and thus configures how far back in time a `Seek`
846	// can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
847	// minutes.<br><br>
848	// <b>BETA:</b> This feature is part of a beta release. This API might be
849	// changed in backward-incompatible ways and is not recommended for production
850	// use. It is not subject to any SLA or deprecation policy.
851	MessageRetentionDuration *duration.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"`
852	// See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
853	// managing labels</a>.
854	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
855	// A policy that specifies the conditions for this subscription's expiration.
856	// A subscription is considered active as long as any connected subscriber is
857	// successfully consuming messages from the subscription or is issuing
858	// operations on the subscription. If `expiration_policy` is not set, a
859	// *default policy* with `ttl` of 31 days will be used. The minimum allowed
860	// value for `expiration_policy.ttl` is 1 day.
861	// <b>BETA:</b> This feature is part of a beta release. This API might be
862	// changed in backward-incompatible ways and is not recommended for production
863	// use. It is not subject to any SLA or deprecation policy.
864	ExpirationPolicy     *ExpirationPolicy `protobuf:"bytes,11,opt,name=expiration_policy,json=expirationPolicy,proto3" json:"expiration_policy,omitempty"`
865	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
866	XXX_unrecognized     []byte            `json:"-"`
867	XXX_sizecache        int32             `json:"-"`
868}
869
870func (m *Subscription) Reset()         { *m = Subscription{} }
871func (m *Subscription) String() string { return proto.CompactTextString(m) }
872func (*Subscription) ProtoMessage()    {}
873func (*Subscription) Descriptor() ([]byte, []int) {
874	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{14}
875}
876func (m *Subscription) XXX_Unmarshal(b []byte) error {
877	return xxx_messageInfo_Subscription.Unmarshal(m, b)
878}
879func (m *Subscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
880	return xxx_messageInfo_Subscription.Marshal(b, m, deterministic)
881}
882func (dst *Subscription) XXX_Merge(src proto.Message) {
883	xxx_messageInfo_Subscription.Merge(dst, src)
884}
885func (m *Subscription) XXX_Size() int {
886	return xxx_messageInfo_Subscription.Size(m)
887}
888func (m *Subscription) XXX_DiscardUnknown() {
889	xxx_messageInfo_Subscription.DiscardUnknown(m)
890}
891
892var xxx_messageInfo_Subscription proto.InternalMessageInfo
893
894func (m *Subscription) GetName() string {
895	if m != nil {
896		return m.Name
897	}
898	return ""
899}
900
901func (m *Subscription) GetTopic() string {
902	if m != nil {
903		return m.Topic
904	}
905	return ""
906}
907
908func (m *Subscription) GetPushConfig() *PushConfig {
909	if m != nil {
910		return m.PushConfig
911	}
912	return nil
913}
914
915func (m *Subscription) GetAckDeadlineSeconds() int32 {
916	if m != nil {
917		return m.AckDeadlineSeconds
918	}
919	return 0
920}
921
922func (m *Subscription) GetRetainAckedMessages() bool {
923	if m != nil {
924		return m.RetainAckedMessages
925	}
926	return false
927}
928
929func (m *Subscription) GetMessageRetentionDuration() *duration.Duration {
930	if m != nil {
931		return m.MessageRetentionDuration
932	}
933	return nil
934}
935
936func (m *Subscription) GetLabels() map[string]string {
937	if m != nil {
938		return m.Labels
939	}
940	return nil
941}
942
943func (m *Subscription) GetExpirationPolicy() *ExpirationPolicy {
944	if m != nil {
945		return m.ExpirationPolicy
946	}
947	return nil
948}
949
950// A policy that specifies the conditions for resource expiration (i.e.,
951// automatic resource deletion).
952type ExpirationPolicy struct {
953	// Specifies the "time-to-live" duration for an associated resource. The
954	// resource expires if it is not active for a period of `ttl`. The definition
955	// of "activity" depends on the type of the associated resource. The minimum
956	// and maximum allowed values for `ttl` depend on the type of the associated
957	// resource, as well. If `ttl` is not set, the associated resource never
958	// expires.
959	Ttl                  *duration.Duration `protobuf:"bytes,1,opt,name=ttl,proto3" json:"ttl,omitempty"`
960	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
961	XXX_unrecognized     []byte             `json:"-"`
962	XXX_sizecache        int32              `json:"-"`
963}
964
965func (m *ExpirationPolicy) Reset()         { *m = ExpirationPolicy{} }
966func (m *ExpirationPolicy) String() string { return proto.CompactTextString(m) }
967func (*ExpirationPolicy) ProtoMessage()    {}
968func (*ExpirationPolicy) Descriptor() ([]byte, []int) {
969	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{15}
970}
971func (m *ExpirationPolicy) XXX_Unmarshal(b []byte) error {
972	return xxx_messageInfo_ExpirationPolicy.Unmarshal(m, b)
973}
974func (m *ExpirationPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
975	return xxx_messageInfo_ExpirationPolicy.Marshal(b, m, deterministic)
976}
977func (dst *ExpirationPolicy) XXX_Merge(src proto.Message) {
978	xxx_messageInfo_ExpirationPolicy.Merge(dst, src)
979}
980func (m *ExpirationPolicy) XXX_Size() int {
981	return xxx_messageInfo_ExpirationPolicy.Size(m)
982}
983func (m *ExpirationPolicy) XXX_DiscardUnknown() {
984	xxx_messageInfo_ExpirationPolicy.DiscardUnknown(m)
985}
986
987var xxx_messageInfo_ExpirationPolicy proto.InternalMessageInfo
988
989func (m *ExpirationPolicy) GetTtl() *duration.Duration {
990	if m != nil {
991		return m.Ttl
992	}
993	return nil
994}
995
996// Configuration for a push delivery endpoint.
997type PushConfig struct {
998	// A URL locating the endpoint to which messages should be pushed.
999	// For example, a Webhook endpoint might use "https://example.com/push".
1000	PushEndpoint string `protobuf:"bytes,1,opt,name=push_endpoint,json=pushEndpoint,proto3" json:"push_endpoint,omitempty"`
1001	// Endpoint configuration attributes.
1002	//
1003	// Every endpoint has a set of API supported attributes that can be used to
1004	// control different aspects of the message delivery.
1005	//
1006	// The currently supported attribute is `x-goog-version`, which you can
1007	// use to change the format of the pushed message. This attribute
1008	// indicates the version of the data expected by the endpoint. This
1009	// controls the shape of the pushed message (i.e., its fields and metadata).
1010	// The endpoint version is based on the version of the Pub/Sub API.
1011	//
1012	// If not present during the `CreateSubscription` call, it will default to
1013	// the version of the API used to make such call. If not present during a
1014	// `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
1015	// calls will always return a valid version, even if the subscription was
1016	// created without this attribute.
1017	//
1018	// The possible values for this attribute are:
1019	//
1020	// * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
1021	// * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
1022	Attributes           map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1023	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1024	XXX_unrecognized     []byte            `json:"-"`
1025	XXX_sizecache        int32             `json:"-"`
1026}
1027
1028func (m *PushConfig) Reset()         { *m = PushConfig{} }
1029func (m *PushConfig) String() string { return proto.CompactTextString(m) }
1030func (*PushConfig) ProtoMessage()    {}
1031func (*PushConfig) Descriptor() ([]byte, []int) {
1032	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{16}
1033}
1034func (m *PushConfig) XXX_Unmarshal(b []byte) error {
1035	return xxx_messageInfo_PushConfig.Unmarshal(m, b)
1036}
1037func (m *PushConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1038	return xxx_messageInfo_PushConfig.Marshal(b, m, deterministic)
1039}
1040func (dst *PushConfig) XXX_Merge(src proto.Message) {
1041	xxx_messageInfo_PushConfig.Merge(dst, src)
1042}
1043func (m *PushConfig) XXX_Size() int {
1044	return xxx_messageInfo_PushConfig.Size(m)
1045}
1046func (m *PushConfig) XXX_DiscardUnknown() {
1047	xxx_messageInfo_PushConfig.DiscardUnknown(m)
1048}
1049
1050var xxx_messageInfo_PushConfig proto.InternalMessageInfo
1051
1052func (m *PushConfig) GetPushEndpoint() string {
1053	if m != nil {
1054		return m.PushEndpoint
1055	}
1056	return ""
1057}
1058
1059func (m *PushConfig) GetAttributes() map[string]string {
1060	if m != nil {
1061		return m.Attributes
1062	}
1063	return nil
1064}
1065
1066// A message and its corresponding acknowledgment ID.
1067type ReceivedMessage struct {
1068	// This ID can be used to acknowledge the received message.
1069	AckId string `protobuf:"bytes,1,opt,name=ack_id,json=ackId,proto3" json:"ack_id,omitempty"`
1070	// The message.
1071	Message              *PubsubMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
1072	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1073	XXX_unrecognized     []byte         `json:"-"`
1074	XXX_sizecache        int32          `json:"-"`
1075}
1076
1077func (m *ReceivedMessage) Reset()         { *m = ReceivedMessage{} }
1078func (m *ReceivedMessage) String() string { return proto.CompactTextString(m) }
1079func (*ReceivedMessage) ProtoMessage()    {}
1080func (*ReceivedMessage) Descriptor() ([]byte, []int) {
1081	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{17}
1082}
1083func (m *ReceivedMessage) XXX_Unmarshal(b []byte) error {
1084	return xxx_messageInfo_ReceivedMessage.Unmarshal(m, b)
1085}
1086func (m *ReceivedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1087	return xxx_messageInfo_ReceivedMessage.Marshal(b, m, deterministic)
1088}
1089func (dst *ReceivedMessage) XXX_Merge(src proto.Message) {
1090	xxx_messageInfo_ReceivedMessage.Merge(dst, src)
1091}
1092func (m *ReceivedMessage) XXX_Size() int {
1093	return xxx_messageInfo_ReceivedMessage.Size(m)
1094}
1095func (m *ReceivedMessage) XXX_DiscardUnknown() {
1096	xxx_messageInfo_ReceivedMessage.DiscardUnknown(m)
1097}
1098
1099var xxx_messageInfo_ReceivedMessage proto.InternalMessageInfo
1100
1101func (m *ReceivedMessage) GetAckId() string {
1102	if m != nil {
1103		return m.AckId
1104	}
1105	return ""
1106}
1107
1108func (m *ReceivedMessage) GetMessage() *PubsubMessage {
1109	if m != nil {
1110		return m.Message
1111	}
1112	return nil
1113}
1114
1115// Request for the GetSubscription method.
1116type GetSubscriptionRequest struct {
1117	// The name of the subscription to get.
1118	// Format is `projects/{project}/subscriptions/{sub}`.
1119	Subscription         string   `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1120	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1121	XXX_unrecognized     []byte   `json:"-"`
1122	XXX_sizecache        int32    `json:"-"`
1123}
1124
1125func (m *GetSubscriptionRequest) Reset()         { *m = GetSubscriptionRequest{} }
1126func (m *GetSubscriptionRequest) String() string { return proto.CompactTextString(m) }
1127func (*GetSubscriptionRequest) ProtoMessage()    {}
1128func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) {
1129	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{18}
1130}
1131func (m *GetSubscriptionRequest) XXX_Unmarshal(b []byte) error {
1132	return xxx_messageInfo_GetSubscriptionRequest.Unmarshal(m, b)
1133}
1134func (m *GetSubscriptionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1135	return xxx_messageInfo_GetSubscriptionRequest.Marshal(b, m, deterministic)
1136}
1137func (dst *GetSubscriptionRequest) XXX_Merge(src proto.Message) {
1138	xxx_messageInfo_GetSubscriptionRequest.Merge(dst, src)
1139}
1140func (m *GetSubscriptionRequest) XXX_Size() int {
1141	return xxx_messageInfo_GetSubscriptionRequest.Size(m)
1142}
1143func (m *GetSubscriptionRequest) XXX_DiscardUnknown() {
1144	xxx_messageInfo_GetSubscriptionRequest.DiscardUnknown(m)
1145}
1146
1147var xxx_messageInfo_GetSubscriptionRequest proto.InternalMessageInfo
1148
1149func (m *GetSubscriptionRequest) GetSubscription() string {
1150	if m != nil {
1151		return m.Subscription
1152	}
1153	return ""
1154}
1155
1156// Request for the UpdateSubscription method.
1157type UpdateSubscriptionRequest struct {
1158	// The updated subscription object.
1159	Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1160	// Indicates which fields in the provided subscription to update.
1161	// Must be specified and non-empty.
1162	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1163	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1164	XXX_unrecognized     []byte                `json:"-"`
1165	XXX_sizecache        int32                 `json:"-"`
1166}
1167
1168func (m *UpdateSubscriptionRequest) Reset()         { *m = UpdateSubscriptionRequest{} }
1169func (m *UpdateSubscriptionRequest) String() string { return proto.CompactTextString(m) }
1170func (*UpdateSubscriptionRequest) ProtoMessage()    {}
1171func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) {
1172	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{19}
1173}
1174func (m *UpdateSubscriptionRequest) XXX_Unmarshal(b []byte) error {
1175	return xxx_messageInfo_UpdateSubscriptionRequest.Unmarshal(m, b)
1176}
1177func (m *UpdateSubscriptionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1178	return xxx_messageInfo_UpdateSubscriptionRequest.Marshal(b, m, deterministic)
1179}
1180func (dst *UpdateSubscriptionRequest) XXX_Merge(src proto.Message) {
1181	xxx_messageInfo_UpdateSubscriptionRequest.Merge(dst, src)
1182}
1183func (m *UpdateSubscriptionRequest) XXX_Size() int {
1184	return xxx_messageInfo_UpdateSubscriptionRequest.Size(m)
1185}
1186func (m *UpdateSubscriptionRequest) XXX_DiscardUnknown() {
1187	xxx_messageInfo_UpdateSubscriptionRequest.DiscardUnknown(m)
1188}
1189
1190var xxx_messageInfo_UpdateSubscriptionRequest proto.InternalMessageInfo
1191
1192func (m *UpdateSubscriptionRequest) GetSubscription() *Subscription {
1193	if m != nil {
1194		return m.Subscription
1195	}
1196	return nil
1197}
1198
1199func (m *UpdateSubscriptionRequest) GetUpdateMask() *field_mask.FieldMask {
1200	if m != nil {
1201		return m.UpdateMask
1202	}
1203	return nil
1204}
1205
1206// Request for the `ListSubscriptions` method.
1207type ListSubscriptionsRequest struct {
1208	// The name of the project in which to list subscriptions.
1209	// Format is `projects/{project-id}`.
1210	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
1211	// Maximum number of subscriptions to return.
1212	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1213	// The value returned by the last `ListSubscriptionsResponse`; indicates that
1214	// this is a continuation of a prior `ListSubscriptions` call, and that the
1215	// system should return the next page of data.
1216	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1217	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1218	XXX_unrecognized     []byte   `json:"-"`
1219	XXX_sizecache        int32    `json:"-"`
1220}
1221
1222func (m *ListSubscriptionsRequest) Reset()         { *m = ListSubscriptionsRequest{} }
1223func (m *ListSubscriptionsRequest) String() string { return proto.CompactTextString(m) }
1224func (*ListSubscriptionsRequest) ProtoMessage()    {}
1225func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) {
1226	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{20}
1227}
1228func (m *ListSubscriptionsRequest) XXX_Unmarshal(b []byte) error {
1229	return xxx_messageInfo_ListSubscriptionsRequest.Unmarshal(m, b)
1230}
1231func (m *ListSubscriptionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1232	return xxx_messageInfo_ListSubscriptionsRequest.Marshal(b, m, deterministic)
1233}
1234func (dst *ListSubscriptionsRequest) XXX_Merge(src proto.Message) {
1235	xxx_messageInfo_ListSubscriptionsRequest.Merge(dst, src)
1236}
1237func (m *ListSubscriptionsRequest) XXX_Size() int {
1238	return xxx_messageInfo_ListSubscriptionsRequest.Size(m)
1239}
1240func (m *ListSubscriptionsRequest) XXX_DiscardUnknown() {
1241	xxx_messageInfo_ListSubscriptionsRequest.DiscardUnknown(m)
1242}
1243
1244var xxx_messageInfo_ListSubscriptionsRequest proto.InternalMessageInfo
1245
1246func (m *ListSubscriptionsRequest) GetProject() string {
1247	if m != nil {
1248		return m.Project
1249	}
1250	return ""
1251}
1252
1253func (m *ListSubscriptionsRequest) GetPageSize() int32 {
1254	if m != nil {
1255		return m.PageSize
1256	}
1257	return 0
1258}
1259
1260func (m *ListSubscriptionsRequest) GetPageToken() string {
1261	if m != nil {
1262		return m.PageToken
1263	}
1264	return ""
1265}
1266
1267// Response for the `ListSubscriptions` method.
1268type ListSubscriptionsResponse struct {
1269	// The subscriptions that match the request.
1270	Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
1271	// If not empty, indicates that there may be more subscriptions that match
1272	// the request; this value should be passed in a new
1273	// `ListSubscriptionsRequest` to get more subscriptions.
1274	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1275	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1276	XXX_unrecognized     []byte   `json:"-"`
1277	XXX_sizecache        int32    `json:"-"`
1278}
1279
1280func (m *ListSubscriptionsResponse) Reset()         { *m = ListSubscriptionsResponse{} }
1281func (m *ListSubscriptionsResponse) String() string { return proto.CompactTextString(m) }
1282func (*ListSubscriptionsResponse) ProtoMessage()    {}
1283func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) {
1284	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{21}
1285}
1286func (m *ListSubscriptionsResponse) XXX_Unmarshal(b []byte) error {
1287	return xxx_messageInfo_ListSubscriptionsResponse.Unmarshal(m, b)
1288}
1289func (m *ListSubscriptionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1290	return xxx_messageInfo_ListSubscriptionsResponse.Marshal(b, m, deterministic)
1291}
1292func (dst *ListSubscriptionsResponse) XXX_Merge(src proto.Message) {
1293	xxx_messageInfo_ListSubscriptionsResponse.Merge(dst, src)
1294}
1295func (m *ListSubscriptionsResponse) XXX_Size() int {
1296	return xxx_messageInfo_ListSubscriptionsResponse.Size(m)
1297}
1298func (m *ListSubscriptionsResponse) XXX_DiscardUnknown() {
1299	xxx_messageInfo_ListSubscriptionsResponse.DiscardUnknown(m)
1300}
1301
1302var xxx_messageInfo_ListSubscriptionsResponse proto.InternalMessageInfo
1303
1304func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
1305	if m != nil {
1306		return m.Subscriptions
1307	}
1308	return nil
1309}
1310
1311func (m *ListSubscriptionsResponse) GetNextPageToken() string {
1312	if m != nil {
1313		return m.NextPageToken
1314	}
1315	return ""
1316}
1317
1318// Request for the DeleteSubscription method.
1319type DeleteSubscriptionRequest struct {
1320	// The subscription to delete.
1321	// Format is `projects/{project}/subscriptions/{sub}`.
1322	Subscription         string   `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1323	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1324	XXX_unrecognized     []byte   `json:"-"`
1325	XXX_sizecache        int32    `json:"-"`
1326}
1327
1328func (m *DeleteSubscriptionRequest) Reset()         { *m = DeleteSubscriptionRequest{} }
1329func (m *DeleteSubscriptionRequest) String() string { return proto.CompactTextString(m) }
1330func (*DeleteSubscriptionRequest) ProtoMessage()    {}
1331func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) {
1332	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{22}
1333}
1334func (m *DeleteSubscriptionRequest) XXX_Unmarshal(b []byte) error {
1335	return xxx_messageInfo_DeleteSubscriptionRequest.Unmarshal(m, b)
1336}
1337func (m *DeleteSubscriptionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1338	return xxx_messageInfo_DeleteSubscriptionRequest.Marshal(b, m, deterministic)
1339}
1340func (dst *DeleteSubscriptionRequest) XXX_Merge(src proto.Message) {
1341	xxx_messageInfo_DeleteSubscriptionRequest.Merge(dst, src)
1342}
1343func (m *DeleteSubscriptionRequest) XXX_Size() int {
1344	return xxx_messageInfo_DeleteSubscriptionRequest.Size(m)
1345}
1346func (m *DeleteSubscriptionRequest) XXX_DiscardUnknown() {
1347	xxx_messageInfo_DeleteSubscriptionRequest.DiscardUnknown(m)
1348}
1349
1350var xxx_messageInfo_DeleteSubscriptionRequest proto.InternalMessageInfo
1351
1352func (m *DeleteSubscriptionRequest) GetSubscription() string {
1353	if m != nil {
1354		return m.Subscription
1355	}
1356	return ""
1357}
1358
1359// Request for the ModifyPushConfig method.
1360type ModifyPushConfigRequest struct {
1361	// The name of the subscription.
1362	// Format is `projects/{project}/subscriptions/{sub}`.
1363	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1364	// The push configuration for future deliveries.
1365	//
1366	// An empty `pushConfig` indicates that the Pub/Sub system should
1367	// stop pushing messages from the given subscription and allow
1368	// messages to be pulled and acknowledged - effectively pausing
1369	// the subscription if `Pull` or `StreamingPull` is not called.
1370	PushConfig           *PushConfig `protobuf:"bytes,2,opt,name=push_config,json=pushConfig,proto3" json:"push_config,omitempty"`
1371	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
1372	XXX_unrecognized     []byte      `json:"-"`
1373	XXX_sizecache        int32       `json:"-"`
1374}
1375
1376func (m *ModifyPushConfigRequest) Reset()         { *m = ModifyPushConfigRequest{} }
1377func (m *ModifyPushConfigRequest) String() string { return proto.CompactTextString(m) }
1378func (*ModifyPushConfigRequest) ProtoMessage()    {}
1379func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) {
1380	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{23}
1381}
1382func (m *ModifyPushConfigRequest) XXX_Unmarshal(b []byte) error {
1383	return xxx_messageInfo_ModifyPushConfigRequest.Unmarshal(m, b)
1384}
1385func (m *ModifyPushConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1386	return xxx_messageInfo_ModifyPushConfigRequest.Marshal(b, m, deterministic)
1387}
1388func (dst *ModifyPushConfigRequest) XXX_Merge(src proto.Message) {
1389	xxx_messageInfo_ModifyPushConfigRequest.Merge(dst, src)
1390}
1391func (m *ModifyPushConfigRequest) XXX_Size() int {
1392	return xxx_messageInfo_ModifyPushConfigRequest.Size(m)
1393}
1394func (m *ModifyPushConfigRequest) XXX_DiscardUnknown() {
1395	xxx_messageInfo_ModifyPushConfigRequest.DiscardUnknown(m)
1396}
1397
1398var xxx_messageInfo_ModifyPushConfigRequest proto.InternalMessageInfo
1399
1400func (m *ModifyPushConfigRequest) GetSubscription() string {
1401	if m != nil {
1402		return m.Subscription
1403	}
1404	return ""
1405}
1406
1407func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
1408	if m != nil {
1409		return m.PushConfig
1410	}
1411	return nil
1412}
1413
1414// Request for the `Pull` method.
1415type PullRequest struct {
1416	// The subscription from which messages should be pulled.
1417	// Format is `projects/{project}/subscriptions/{sub}`.
1418	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1419	// If this field set to true, the system will respond immediately even if
1420	// it there are no messages available to return in the `Pull` response.
1421	// Otherwise, the system may wait (for a bounded amount of time) until at
1422	// least one message is available, rather than returning no messages.
1423	ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately,proto3" json:"return_immediately,omitempty"`
1424	// The maximum number of messages returned for this request. The Pub/Sub
1425	// system may return fewer than the number specified.
1426	MaxMessages          int32    `protobuf:"varint,3,opt,name=max_messages,json=maxMessages,proto3" json:"max_messages,omitempty"`
1427	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1428	XXX_unrecognized     []byte   `json:"-"`
1429	XXX_sizecache        int32    `json:"-"`
1430}
1431
1432func (m *PullRequest) Reset()         { *m = PullRequest{} }
1433func (m *PullRequest) String() string { return proto.CompactTextString(m) }
1434func (*PullRequest) ProtoMessage()    {}
1435func (*PullRequest) Descriptor() ([]byte, []int) {
1436	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{24}
1437}
1438func (m *PullRequest) XXX_Unmarshal(b []byte) error {
1439	return xxx_messageInfo_PullRequest.Unmarshal(m, b)
1440}
1441func (m *PullRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1442	return xxx_messageInfo_PullRequest.Marshal(b, m, deterministic)
1443}
1444func (dst *PullRequest) XXX_Merge(src proto.Message) {
1445	xxx_messageInfo_PullRequest.Merge(dst, src)
1446}
1447func (m *PullRequest) XXX_Size() int {
1448	return xxx_messageInfo_PullRequest.Size(m)
1449}
1450func (m *PullRequest) XXX_DiscardUnknown() {
1451	xxx_messageInfo_PullRequest.DiscardUnknown(m)
1452}
1453
1454var xxx_messageInfo_PullRequest proto.InternalMessageInfo
1455
1456func (m *PullRequest) GetSubscription() string {
1457	if m != nil {
1458		return m.Subscription
1459	}
1460	return ""
1461}
1462
1463func (m *PullRequest) GetReturnImmediately() bool {
1464	if m != nil {
1465		return m.ReturnImmediately
1466	}
1467	return false
1468}
1469
1470func (m *PullRequest) GetMaxMessages() int32 {
1471	if m != nil {
1472		return m.MaxMessages
1473	}
1474	return 0
1475}
1476
1477// Response for the `Pull` method.
1478type PullResponse struct {
1479	// Received Pub/Sub messages. The list will be empty if there are no more
1480	// messages available in the backlog. For JSON, the response can be entirely
1481	// empty. The Pub/Sub system may return fewer than the `maxMessages` requested
1482	// even if there are more messages available in the backlog.
1483	ReceivedMessages     []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages,proto3" json:"received_messages,omitempty"`
1484	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1485	XXX_unrecognized     []byte             `json:"-"`
1486	XXX_sizecache        int32              `json:"-"`
1487}
1488
1489func (m *PullResponse) Reset()         { *m = PullResponse{} }
1490func (m *PullResponse) String() string { return proto.CompactTextString(m) }
1491func (*PullResponse) ProtoMessage()    {}
1492func (*PullResponse) Descriptor() ([]byte, []int) {
1493	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{25}
1494}
1495func (m *PullResponse) XXX_Unmarshal(b []byte) error {
1496	return xxx_messageInfo_PullResponse.Unmarshal(m, b)
1497}
1498func (m *PullResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1499	return xxx_messageInfo_PullResponse.Marshal(b, m, deterministic)
1500}
1501func (dst *PullResponse) XXX_Merge(src proto.Message) {
1502	xxx_messageInfo_PullResponse.Merge(dst, src)
1503}
1504func (m *PullResponse) XXX_Size() int {
1505	return xxx_messageInfo_PullResponse.Size(m)
1506}
1507func (m *PullResponse) XXX_DiscardUnknown() {
1508	xxx_messageInfo_PullResponse.DiscardUnknown(m)
1509}
1510
1511var xxx_messageInfo_PullResponse proto.InternalMessageInfo
1512
1513func (m *PullResponse) GetReceivedMessages() []*ReceivedMessage {
1514	if m != nil {
1515		return m.ReceivedMessages
1516	}
1517	return nil
1518}
1519
1520// Request for the ModifyAckDeadline method.
1521type ModifyAckDeadlineRequest struct {
1522	// The name of the subscription.
1523	// Format is `projects/{project}/subscriptions/{sub}`.
1524	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1525	// List of acknowledgment IDs.
1526	AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
1527	// The new ack deadline with respect to the time this request was sent to
1528	// the Pub/Sub system. For example, if the value is 10, the new
1529	// ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
1530	// was made. Specifying zero might immediately make the message available for
1531	// delivery to another subscriber client. This typically results in an
1532	// increase in the rate of message redeliveries (that is, duplicates).
1533	// The minimum deadline you can specify is 0 seconds.
1534	// The maximum deadline you can specify is 600 seconds (10 minutes).
1535	AckDeadlineSeconds   int32    `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"`
1536	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1537	XXX_unrecognized     []byte   `json:"-"`
1538	XXX_sizecache        int32    `json:"-"`
1539}
1540
1541func (m *ModifyAckDeadlineRequest) Reset()         { *m = ModifyAckDeadlineRequest{} }
1542func (m *ModifyAckDeadlineRequest) String() string { return proto.CompactTextString(m) }
1543func (*ModifyAckDeadlineRequest) ProtoMessage()    {}
1544func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) {
1545	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{26}
1546}
1547func (m *ModifyAckDeadlineRequest) XXX_Unmarshal(b []byte) error {
1548	return xxx_messageInfo_ModifyAckDeadlineRequest.Unmarshal(m, b)
1549}
1550func (m *ModifyAckDeadlineRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1551	return xxx_messageInfo_ModifyAckDeadlineRequest.Marshal(b, m, deterministic)
1552}
1553func (dst *ModifyAckDeadlineRequest) XXX_Merge(src proto.Message) {
1554	xxx_messageInfo_ModifyAckDeadlineRequest.Merge(dst, src)
1555}
1556func (m *ModifyAckDeadlineRequest) XXX_Size() int {
1557	return xxx_messageInfo_ModifyAckDeadlineRequest.Size(m)
1558}
1559func (m *ModifyAckDeadlineRequest) XXX_DiscardUnknown() {
1560	xxx_messageInfo_ModifyAckDeadlineRequest.DiscardUnknown(m)
1561}
1562
1563var xxx_messageInfo_ModifyAckDeadlineRequest proto.InternalMessageInfo
1564
1565func (m *ModifyAckDeadlineRequest) GetSubscription() string {
1566	if m != nil {
1567		return m.Subscription
1568	}
1569	return ""
1570}
1571
1572func (m *ModifyAckDeadlineRequest) GetAckIds() []string {
1573	if m != nil {
1574		return m.AckIds
1575	}
1576	return nil
1577}
1578
1579func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
1580	if m != nil {
1581		return m.AckDeadlineSeconds
1582	}
1583	return 0
1584}
1585
1586// Request for the Acknowledge method.
1587type AcknowledgeRequest struct {
1588	// The subscription whose message is being acknowledged.
1589	// Format is `projects/{project}/subscriptions/{sub}`.
1590	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1591	// The acknowledgment ID for the messages being acknowledged that was returned
1592	// by the Pub/Sub system in the `Pull` response. Must not be empty.
1593	AckIds               []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
1594	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1595	XXX_unrecognized     []byte   `json:"-"`
1596	XXX_sizecache        int32    `json:"-"`
1597}
1598
1599func (m *AcknowledgeRequest) Reset()         { *m = AcknowledgeRequest{} }
1600func (m *AcknowledgeRequest) String() string { return proto.CompactTextString(m) }
1601func (*AcknowledgeRequest) ProtoMessage()    {}
1602func (*AcknowledgeRequest) Descriptor() ([]byte, []int) {
1603	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{27}
1604}
1605func (m *AcknowledgeRequest) XXX_Unmarshal(b []byte) error {
1606	return xxx_messageInfo_AcknowledgeRequest.Unmarshal(m, b)
1607}
1608func (m *AcknowledgeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1609	return xxx_messageInfo_AcknowledgeRequest.Marshal(b, m, deterministic)
1610}
1611func (dst *AcknowledgeRequest) XXX_Merge(src proto.Message) {
1612	xxx_messageInfo_AcknowledgeRequest.Merge(dst, src)
1613}
1614func (m *AcknowledgeRequest) XXX_Size() int {
1615	return xxx_messageInfo_AcknowledgeRequest.Size(m)
1616}
1617func (m *AcknowledgeRequest) XXX_DiscardUnknown() {
1618	xxx_messageInfo_AcknowledgeRequest.DiscardUnknown(m)
1619}
1620
1621var xxx_messageInfo_AcknowledgeRequest proto.InternalMessageInfo
1622
1623func (m *AcknowledgeRequest) GetSubscription() string {
1624	if m != nil {
1625		return m.Subscription
1626	}
1627	return ""
1628}
1629
1630func (m *AcknowledgeRequest) GetAckIds() []string {
1631	if m != nil {
1632		return m.AckIds
1633	}
1634	return nil
1635}
1636
1637// Request for the `StreamingPull` streaming RPC method. This request is used to
1638// establish the initial stream as well as to stream acknowledgements and ack
1639// deadline modifications from the client to the server.
1640type StreamingPullRequest struct {
1641	// The subscription for which to initialize the new stream. This must be
1642	// provided in the first request on the stream, and must not be set in
1643	// subsequent requests from client to server.
1644	// Format is `projects/{project}/subscriptions/{sub}`.
1645	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
1646	// List of acknowledgement IDs for acknowledging previously received messages
1647	// (received on this stream or a different stream). If an ack ID has expired,
1648	// the corresponding message may be redelivered later. Acknowledging a message
1649	// more than once will not result in an error. If the acknowledgement ID is
1650	// malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
1651	AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
1652	// The list of new ack deadlines for the IDs listed in
1653	// `modify_deadline_ack_ids`. The size of this list must be the same as the
1654	// size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
1655	// with `INVALID_ARGUMENT`. Each element in this list is applied to the
1656	// element in the same position in `modify_deadline_ack_ids`. The new ack
1657	// deadline is with respect to the time this request was sent to the Pub/Sub
1658	// system. Must be >= 0. For example, if the value is 10, the new ack deadline
1659	// will expire 10 seconds after this request is received. If the value is 0,
1660	// the message is immediately made available for another streaming or
1661	// non-streaming pull request. If the value is < 0 (an error), the stream will
1662	// be aborted with status `INVALID_ARGUMENT`.
1663	ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds,proto3" json:"modify_deadline_seconds,omitempty"`
1664	// List of acknowledgement IDs whose deadline will be modified based on the
1665	// corresponding element in `modify_deadline_seconds`. This field can be used
1666	// to indicate that more time is needed to process a message by the
1667	// subscriber, or to make the message available for redelivery if the
1668	// processing was interrupted.
1669	ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds,proto3" json:"modify_deadline_ack_ids,omitempty"`
1670	// The ack deadline to use for the stream. This must be provided in the
1671	// first request on the stream, but it can also be updated on subsequent
1672	// requests from client to server. The minimum deadline you can specify is 10
1673	// seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
1674	StreamAckDeadlineSeconds int32    `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds,proto3" json:"stream_ack_deadline_seconds,omitempty"`
1675	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
1676	XXX_unrecognized         []byte   `json:"-"`
1677	XXX_sizecache            int32    `json:"-"`
1678}
1679
1680func (m *StreamingPullRequest) Reset()         { *m = StreamingPullRequest{} }
1681func (m *StreamingPullRequest) String() string { return proto.CompactTextString(m) }
1682func (*StreamingPullRequest) ProtoMessage()    {}
1683func (*StreamingPullRequest) Descriptor() ([]byte, []int) {
1684	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{28}
1685}
1686func (m *StreamingPullRequest) XXX_Unmarshal(b []byte) error {
1687	return xxx_messageInfo_StreamingPullRequest.Unmarshal(m, b)
1688}
1689func (m *StreamingPullRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1690	return xxx_messageInfo_StreamingPullRequest.Marshal(b, m, deterministic)
1691}
1692func (dst *StreamingPullRequest) XXX_Merge(src proto.Message) {
1693	xxx_messageInfo_StreamingPullRequest.Merge(dst, src)
1694}
1695func (m *StreamingPullRequest) XXX_Size() int {
1696	return xxx_messageInfo_StreamingPullRequest.Size(m)
1697}
1698func (m *StreamingPullRequest) XXX_DiscardUnknown() {
1699	xxx_messageInfo_StreamingPullRequest.DiscardUnknown(m)
1700}
1701
1702var xxx_messageInfo_StreamingPullRequest proto.InternalMessageInfo
1703
1704func (m *StreamingPullRequest) GetSubscription() string {
1705	if m != nil {
1706		return m.Subscription
1707	}
1708	return ""
1709}
1710
1711func (m *StreamingPullRequest) GetAckIds() []string {
1712	if m != nil {
1713		return m.AckIds
1714	}
1715	return nil
1716}
1717
1718func (m *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
1719	if m != nil {
1720		return m.ModifyDeadlineSeconds
1721	}
1722	return nil
1723}
1724
1725func (m *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
1726	if m != nil {
1727		return m.ModifyDeadlineAckIds
1728	}
1729	return nil
1730}
1731
1732func (m *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
1733	if m != nil {
1734		return m.StreamAckDeadlineSeconds
1735	}
1736	return 0
1737}
1738
1739// Response for the `StreamingPull` method. This response is used to stream
1740// messages from the server to the client.
1741type StreamingPullResponse struct {
1742	// Received Pub/Sub messages. This will not be empty.
1743	ReceivedMessages     []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages,proto3" json:"received_messages,omitempty"`
1744	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1745	XXX_unrecognized     []byte             `json:"-"`
1746	XXX_sizecache        int32              `json:"-"`
1747}
1748
1749func (m *StreamingPullResponse) Reset()         { *m = StreamingPullResponse{} }
1750func (m *StreamingPullResponse) String() string { return proto.CompactTextString(m) }
1751func (*StreamingPullResponse) ProtoMessage()    {}
1752func (*StreamingPullResponse) Descriptor() ([]byte, []int) {
1753	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{29}
1754}
1755func (m *StreamingPullResponse) XXX_Unmarshal(b []byte) error {
1756	return xxx_messageInfo_StreamingPullResponse.Unmarshal(m, b)
1757}
1758func (m *StreamingPullResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1759	return xxx_messageInfo_StreamingPullResponse.Marshal(b, m, deterministic)
1760}
1761func (dst *StreamingPullResponse) XXX_Merge(src proto.Message) {
1762	xxx_messageInfo_StreamingPullResponse.Merge(dst, src)
1763}
1764func (m *StreamingPullResponse) XXX_Size() int {
1765	return xxx_messageInfo_StreamingPullResponse.Size(m)
1766}
1767func (m *StreamingPullResponse) XXX_DiscardUnknown() {
1768	xxx_messageInfo_StreamingPullResponse.DiscardUnknown(m)
1769}
1770
1771var xxx_messageInfo_StreamingPullResponse proto.InternalMessageInfo
1772
1773func (m *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
1774	if m != nil {
1775		return m.ReceivedMessages
1776	}
1777	return nil
1778}
1779
1780// Request for the `CreateSnapshot` method.<br><br>
1781// <b>BETA:</b> This feature is part of a beta release. This API might be changed in
1782// backward-incompatible ways and is not recommended for production use.
1783// It is not subject to any SLA or deprecation policy.
1784type CreateSnapshotRequest struct {
1785	// Optional user-provided name for this snapshot.
1786	// If the name is not provided in the request, the server will assign a random
1787	// name for this snapshot on the same project as the subscription.
1788	// Note that for REST API requests, you must specify a name.  See the
1789	// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
1790	// resource name rules</a>.
1791	// Format is `projects/{project}/snapshots/{snap}`.
1792	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1793	// The subscription whose backlog the snapshot retains.
1794	// Specifically, the created snapshot is guaranteed to retain:
1795	//  (a) The existing backlog on the subscription. More precisely, this is
1796	//      defined as the messages in the subscription's backlog that are
1797	//      unacknowledged upon the successful completion of the
1798	//      `CreateSnapshot` request; as well as:
1799	//  (b) Any messages published to the subscription's topic following the
1800	//      successful completion of the CreateSnapshot request.
1801	// Format is `projects/{project}/subscriptions/{sub}`.
1802	Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
1803	// See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
1804	// managing labels</a>.
1805	Labels               map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1806	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1807	XXX_unrecognized     []byte            `json:"-"`
1808	XXX_sizecache        int32             `json:"-"`
1809}
1810
1811func (m *CreateSnapshotRequest) Reset()         { *m = CreateSnapshotRequest{} }
1812func (m *CreateSnapshotRequest) String() string { return proto.CompactTextString(m) }
1813func (*CreateSnapshotRequest) ProtoMessage()    {}
1814func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) {
1815	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{30}
1816}
1817func (m *CreateSnapshotRequest) XXX_Unmarshal(b []byte) error {
1818	return xxx_messageInfo_CreateSnapshotRequest.Unmarshal(m, b)
1819}
1820func (m *CreateSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1821	return xxx_messageInfo_CreateSnapshotRequest.Marshal(b, m, deterministic)
1822}
1823func (dst *CreateSnapshotRequest) XXX_Merge(src proto.Message) {
1824	xxx_messageInfo_CreateSnapshotRequest.Merge(dst, src)
1825}
1826func (m *CreateSnapshotRequest) XXX_Size() int {
1827	return xxx_messageInfo_CreateSnapshotRequest.Size(m)
1828}
1829func (m *CreateSnapshotRequest) XXX_DiscardUnknown() {
1830	xxx_messageInfo_CreateSnapshotRequest.DiscardUnknown(m)
1831}
1832
1833var xxx_messageInfo_CreateSnapshotRequest proto.InternalMessageInfo
1834
1835func (m *CreateSnapshotRequest) GetName() string {
1836	if m != nil {
1837		return m.Name
1838	}
1839	return ""
1840}
1841
1842func (m *CreateSnapshotRequest) GetSubscription() string {
1843	if m != nil {
1844		return m.Subscription
1845	}
1846	return ""
1847}
1848
1849func (m *CreateSnapshotRequest) GetLabels() map[string]string {
1850	if m != nil {
1851		return m.Labels
1852	}
1853	return nil
1854}
1855
1856// Request for the UpdateSnapshot method.<br><br>
1857// <b>BETA:</b> This feature is part of a beta release. This API might be
1858// changed in backward-incompatible ways and is not recommended for production
1859// use. It is not subject to any SLA or deprecation policy.
1860type UpdateSnapshotRequest struct {
1861	// The updated snapshot object.
1862	Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
1863	// Indicates which fields in the provided snapshot to update.
1864	// Must be specified and non-empty.
1865	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1866	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1867	XXX_unrecognized     []byte                `json:"-"`
1868	XXX_sizecache        int32                 `json:"-"`
1869}
1870
1871func (m *UpdateSnapshotRequest) Reset()         { *m = UpdateSnapshotRequest{} }
1872func (m *UpdateSnapshotRequest) String() string { return proto.CompactTextString(m) }
1873func (*UpdateSnapshotRequest) ProtoMessage()    {}
1874func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) {
1875	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{31}
1876}
1877func (m *UpdateSnapshotRequest) XXX_Unmarshal(b []byte) error {
1878	return xxx_messageInfo_UpdateSnapshotRequest.Unmarshal(m, b)
1879}
1880func (m *UpdateSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1881	return xxx_messageInfo_UpdateSnapshotRequest.Marshal(b, m, deterministic)
1882}
1883func (dst *UpdateSnapshotRequest) XXX_Merge(src proto.Message) {
1884	xxx_messageInfo_UpdateSnapshotRequest.Merge(dst, src)
1885}
1886func (m *UpdateSnapshotRequest) XXX_Size() int {
1887	return xxx_messageInfo_UpdateSnapshotRequest.Size(m)
1888}
1889func (m *UpdateSnapshotRequest) XXX_DiscardUnknown() {
1890	xxx_messageInfo_UpdateSnapshotRequest.DiscardUnknown(m)
1891}
1892
1893var xxx_messageInfo_UpdateSnapshotRequest proto.InternalMessageInfo
1894
1895func (m *UpdateSnapshotRequest) GetSnapshot() *Snapshot {
1896	if m != nil {
1897		return m.Snapshot
1898	}
1899	return nil
1900}
1901
1902func (m *UpdateSnapshotRequest) GetUpdateMask() *field_mask.FieldMask {
1903	if m != nil {
1904		return m.UpdateMask
1905	}
1906	return nil
1907}
1908
1909// A snapshot resource. Snapshots are used in
1910// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
1911// operations, which allow
1912// you to manage message acknowledgments in bulk. That is, you can set the
1913// acknowledgment state of messages in an existing subscription to the state
1914// captured by a snapshot.<br><br>
1915// <b>BETA:</b> This feature is part of a beta release. This API might be
1916// changed in backward-incompatible ways and is not recommended for production
1917// use. It is not subject to any SLA or deprecation policy.
1918type Snapshot struct {
1919	// The name of the snapshot.
1920	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1921	// The name of the topic from which this snapshot is retaining messages.
1922	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
1923	// The snapshot is guaranteed to exist up until this time.
1924	// A newly-created snapshot expires no later than 7 days from the time of its
1925	// creation. Its exact lifetime is determined at creation by the existing
1926	// backlog in the source subscription. Specifically, the lifetime of the
1927	// snapshot is `7 days - (age of oldest unacked message in the subscription)`.
1928	// For example, consider a subscription whose oldest unacked message is 3 days
1929	// old. If a snapshot is created from this subscription, the snapshot -- which
1930	// will always capture this 3-day-old backlog as long as the snapshot
1931	// exists -- will expire in 4 days. The service will refuse to create a
1932	// snapshot that would expire in less than 1 hour after creation.
1933	ExpireTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
1934	// See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
1935	// managing labels</a>.
1936	Labels               map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1937	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1938	XXX_unrecognized     []byte            `json:"-"`
1939	XXX_sizecache        int32             `json:"-"`
1940}
1941
1942func (m *Snapshot) Reset()         { *m = Snapshot{} }
1943func (m *Snapshot) String() string { return proto.CompactTextString(m) }
1944func (*Snapshot) ProtoMessage()    {}
1945func (*Snapshot) Descriptor() ([]byte, []int) {
1946	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{32}
1947}
1948func (m *Snapshot) XXX_Unmarshal(b []byte) error {
1949	return xxx_messageInfo_Snapshot.Unmarshal(m, b)
1950}
1951func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1952	return xxx_messageInfo_Snapshot.Marshal(b, m, deterministic)
1953}
1954func (dst *Snapshot) XXX_Merge(src proto.Message) {
1955	xxx_messageInfo_Snapshot.Merge(dst, src)
1956}
1957func (m *Snapshot) XXX_Size() int {
1958	return xxx_messageInfo_Snapshot.Size(m)
1959}
1960func (m *Snapshot) XXX_DiscardUnknown() {
1961	xxx_messageInfo_Snapshot.DiscardUnknown(m)
1962}
1963
1964var xxx_messageInfo_Snapshot proto.InternalMessageInfo
1965
1966func (m *Snapshot) GetName() string {
1967	if m != nil {
1968		return m.Name
1969	}
1970	return ""
1971}
1972
1973func (m *Snapshot) GetTopic() string {
1974	if m != nil {
1975		return m.Topic
1976	}
1977	return ""
1978}
1979
1980func (m *Snapshot) GetExpireTime() *timestamp.Timestamp {
1981	if m != nil {
1982		return m.ExpireTime
1983	}
1984	return nil
1985}
1986
1987func (m *Snapshot) GetLabels() map[string]string {
1988	if m != nil {
1989		return m.Labels
1990	}
1991	return nil
1992}
1993
1994// Request for the GetSnapshot method.<br><br>
1995// <b>BETA:</b> This feature is part of a beta release. This API might be
1996// changed in backward-incompatible ways and is not recommended for production
1997// use. It is not subject to any SLA or deprecation policy.
1998type GetSnapshotRequest struct {
1999	// The name of the snapshot to get.
2000	// Format is `projects/{project}/snapshots/{snap}`.
2001	Snapshot             string   `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
2002	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2003	XXX_unrecognized     []byte   `json:"-"`
2004	XXX_sizecache        int32    `json:"-"`
2005}
2006
2007func (m *GetSnapshotRequest) Reset()         { *m = GetSnapshotRequest{} }
2008func (m *GetSnapshotRequest) String() string { return proto.CompactTextString(m) }
2009func (*GetSnapshotRequest) ProtoMessage()    {}
2010func (*GetSnapshotRequest) Descriptor() ([]byte, []int) {
2011	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{33}
2012}
2013func (m *GetSnapshotRequest) XXX_Unmarshal(b []byte) error {
2014	return xxx_messageInfo_GetSnapshotRequest.Unmarshal(m, b)
2015}
2016func (m *GetSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2017	return xxx_messageInfo_GetSnapshotRequest.Marshal(b, m, deterministic)
2018}
2019func (dst *GetSnapshotRequest) XXX_Merge(src proto.Message) {
2020	xxx_messageInfo_GetSnapshotRequest.Merge(dst, src)
2021}
2022func (m *GetSnapshotRequest) XXX_Size() int {
2023	return xxx_messageInfo_GetSnapshotRequest.Size(m)
2024}
2025func (m *GetSnapshotRequest) XXX_DiscardUnknown() {
2026	xxx_messageInfo_GetSnapshotRequest.DiscardUnknown(m)
2027}
2028
2029var xxx_messageInfo_GetSnapshotRequest proto.InternalMessageInfo
2030
2031func (m *GetSnapshotRequest) GetSnapshot() string {
2032	if m != nil {
2033		return m.Snapshot
2034	}
2035	return ""
2036}
2037
2038// Request for the `ListSnapshots` method.<br><br>
2039// <b>BETA:</b> This feature is part of a beta release. This API might be
2040// changed in backward-incompatible ways and is not recommended for production
2041// use. It is not subject to any SLA or deprecation policy.
2042type ListSnapshotsRequest struct {
2043	// The name of the project in which to list snapshots.
2044	// Format is `projects/{project-id}`.
2045	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
2046	// Maximum number of snapshots to return.
2047	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2048	// The value returned by the last `ListSnapshotsResponse`; indicates that this
2049	// is a continuation of a prior `ListSnapshots` call, and that the system
2050	// should return the next page of data.
2051	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2052	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2053	XXX_unrecognized     []byte   `json:"-"`
2054	XXX_sizecache        int32    `json:"-"`
2055}
2056
2057func (m *ListSnapshotsRequest) Reset()         { *m = ListSnapshotsRequest{} }
2058func (m *ListSnapshotsRequest) String() string { return proto.CompactTextString(m) }
2059func (*ListSnapshotsRequest) ProtoMessage()    {}
2060func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) {
2061	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{34}
2062}
2063func (m *ListSnapshotsRequest) XXX_Unmarshal(b []byte) error {
2064	return xxx_messageInfo_ListSnapshotsRequest.Unmarshal(m, b)
2065}
2066func (m *ListSnapshotsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2067	return xxx_messageInfo_ListSnapshotsRequest.Marshal(b, m, deterministic)
2068}
2069func (dst *ListSnapshotsRequest) XXX_Merge(src proto.Message) {
2070	xxx_messageInfo_ListSnapshotsRequest.Merge(dst, src)
2071}
2072func (m *ListSnapshotsRequest) XXX_Size() int {
2073	return xxx_messageInfo_ListSnapshotsRequest.Size(m)
2074}
2075func (m *ListSnapshotsRequest) XXX_DiscardUnknown() {
2076	xxx_messageInfo_ListSnapshotsRequest.DiscardUnknown(m)
2077}
2078
2079var xxx_messageInfo_ListSnapshotsRequest proto.InternalMessageInfo
2080
2081func (m *ListSnapshotsRequest) GetProject() string {
2082	if m != nil {
2083		return m.Project
2084	}
2085	return ""
2086}
2087
2088func (m *ListSnapshotsRequest) GetPageSize() int32 {
2089	if m != nil {
2090		return m.PageSize
2091	}
2092	return 0
2093}
2094
2095func (m *ListSnapshotsRequest) GetPageToken() string {
2096	if m != nil {
2097		return m.PageToken
2098	}
2099	return ""
2100}
2101
2102// Response for the `ListSnapshots` method.<br><br>
2103// <b>BETA:</b> This feature is part of a beta release. This API might be
2104// changed in backward-incompatible ways and is not recommended for production
2105// use. It is not subject to any SLA or deprecation policy.
2106type ListSnapshotsResponse struct {
2107	// The resulting snapshots.
2108	Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
2109	// If not empty, indicates that there may be more snapshot that match the
2110	// request; this value should be passed in a new `ListSnapshotsRequest`.
2111	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2112	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2113	XXX_unrecognized     []byte   `json:"-"`
2114	XXX_sizecache        int32    `json:"-"`
2115}
2116
2117func (m *ListSnapshotsResponse) Reset()         { *m = ListSnapshotsResponse{} }
2118func (m *ListSnapshotsResponse) String() string { return proto.CompactTextString(m) }
2119func (*ListSnapshotsResponse) ProtoMessage()    {}
2120func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) {
2121	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{35}
2122}
2123func (m *ListSnapshotsResponse) XXX_Unmarshal(b []byte) error {
2124	return xxx_messageInfo_ListSnapshotsResponse.Unmarshal(m, b)
2125}
2126func (m *ListSnapshotsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2127	return xxx_messageInfo_ListSnapshotsResponse.Marshal(b, m, deterministic)
2128}
2129func (dst *ListSnapshotsResponse) XXX_Merge(src proto.Message) {
2130	xxx_messageInfo_ListSnapshotsResponse.Merge(dst, src)
2131}
2132func (m *ListSnapshotsResponse) XXX_Size() int {
2133	return xxx_messageInfo_ListSnapshotsResponse.Size(m)
2134}
2135func (m *ListSnapshotsResponse) XXX_DiscardUnknown() {
2136	xxx_messageInfo_ListSnapshotsResponse.DiscardUnknown(m)
2137}
2138
2139var xxx_messageInfo_ListSnapshotsResponse proto.InternalMessageInfo
2140
2141func (m *ListSnapshotsResponse) GetSnapshots() []*Snapshot {
2142	if m != nil {
2143		return m.Snapshots
2144	}
2145	return nil
2146}
2147
2148func (m *ListSnapshotsResponse) GetNextPageToken() string {
2149	if m != nil {
2150		return m.NextPageToken
2151	}
2152	return ""
2153}
2154
2155// Request for the `DeleteSnapshot` method.<br><br>
2156// <b>BETA:</b> This feature is part of a beta release. This API might be
2157// changed in backward-incompatible ways and is not recommended for production
2158// use. It is not subject to any SLA or deprecation policy.
2159type DeleteSnapshotRequest struct {
2160	// The name of the snapshot to delete.
2161	// Format is `projects/{project}/snapshots/{snap}`.
2162	Snapshot             string   `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
2163	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2164	XXX_unrecognized     []byte   `json:"-"`
2165	XXX_sizecache        int32    `json:"-"`
2166}
2167
2168func (m *DeleteSnapshotRequest) Reset()         { *m = DeleteSnapshotRequest{} }
2169func (m *DeleteSnapshotRequest) String() string { return proto.CompactTextString(m) }
2170func (*DeleteSnapshotRequest) ProtoMessage()    {}
2171func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) {
2172	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{36}
2173}
2174func (m *DeleteSnapshotRequest) XXX_Unmarshal(b []byte) error {
2175	return xxx_messageInfo_DeleteSnapshotRequest.Unmarshal(m, b)
2176}
2177func (m *DeleteSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2178	return xxx_messageInfo_DeleteSnapshotRequest.Marshal(b, m, deterministic)
2179}
2180func (dst *DeleteSnapshotRequest) XXX_Merge(src proto.Message) {
2181	xxx_messageInfo_DeleteSnapshotRequest.Merge(dst, src)
2182}
2183func (m *DeleteSnapshotRequest) XXX_Size() int {
2184	return xxx_messageInfo_DeleteSnapshotRequest.Size(m)
2185}
2186func (m *DeleteSnapshotRequest) XXX_DiscardUnknown() {
2187	xxx_messageInfo_DeleteSnapshotRequest.DiscardUnknown(m)
2188}
2189
2190var xxx_messageInfo_DeleteSnapshotRequest proto.InternalMessageInfo
2191
2192func (m *DeleteSnapshotRequest) GetSnapshot() string {
2193	if m != nil {
2194		return m.Snapshot
2195	}
2196	return ""
2197}
2198
2199// Request for the `Seek` method. <br><br>
2200// <b>BETA:</b> This feature is part of a beta release. This API might be
2201// changed in backward-incompatible ways and is not recommended for production
2202// use. It is not subject to any SLA or deprecation policy.
2203type SeekRequest struct {
2204	// The subscription to affect.
2205	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
2206	// Types that are valid to be assigned to Target:
2207	//	*SeekRequest_Time
2208	//	*SeekRequest_Snapshot
2209	Target               isSeekRequest_Target `protobuf_oneof:"target"`
2210	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
2211	XXX_unrecognized     []byte               `json:"-"`
2212	XXX_sizecache        int32                `json:"-"`
2213}
2214
2215func (m *SeekRequest) Reset()         { *m = SeekRequest{} }
2216func (m *SeekRequest) String() string { return proto.CompactTextString(m) }
2217func (*SeekRequest) ProtoMessage()    {}
2218func (*SeekRequest) Descriptor() ([]byte, []int) {
2219	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{37}
2220}
2221func (m *SeekRequest) XXX_Unmarshal(b []byte) error {
2222	return xxx_messageInfo_SeekRequest.Unmarshal(m, b)
2223}
2224func (m *SeekRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2225	return xxx_messageInfo_SeekRequest.Marshal(b, m, deterministic)
2226}
2227func (dst *SeekRequest) XXX_Merge(src proto.Message) {
2228	xxx_messageInfo_SeekRequest.Merge(dst, src)
2229}
2230func (m *SeekRequest) XXX_Size() int {
2231	return xxx_messageInfo_SeekRequest.Size(m)
2232}
2233func (m *SeekRequest) XXX_DiscardUnknown() {
2234	xxx_messageInfo_SeekRequest.DiscardUnknown(m)
2235}
2236
2237var xxx_messageInfo_SeekRequest proto.InternalMessageInfo
2238
2239func (m *SeekRequest) GetSubscription() string {
2240	if m != nil {
2241		return m.Subscription
2242	}
2243	return ""
2244}
2245
2246type isSeekRequest_Target interface {
2247	isSeekRequest_Target()
2248}
2249
2250type SeekRequest_Time struct {
2251	Time *timestamp.Timestamp `protobuf:"bytes,2,opt,name=time,proto3,oneof"`
2252}
2253
2254type SeekRequest_Snapshot struct {
2255	Snapshot string `protobuf:"bytes,3,opt,name=snapshot,proto3,oneof"`
2256}
2257
2258func (*SeekRequest_Time) isSeekRequest_Target() {}
2259
2260func (*SeekRequest_Snapshot) isSeekRequest_Target() {}
2261
2262func (m *SeekRequest) GetTarget() isSeekRequest_Target {
2263	if m != nil {
2264		return m.Target
2265	}
2266	return nil
2267}
2268
2269func (m *SeekRequest) GetTime() *timestamp.Timestamp {
2270	if x, ok := m.GetTarget().(*SeekRequest_Time); ok {
2271		return x.Time
2272	}
2273	return nil
2274}
2275
2276func (m *SeekRequest) GetSnapshot() string {
2277	if x, ok := m.GetTarget().(*SeekRequest_Snapshot); ok {
2278		return x.Snapshot
2279	}
2280	return ""
2281}
2282
2283// XXX_OneofFuncs is for the internal use of the proto package.
2284func (*SeekRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
2285	return _SeekRequest_OneofMarshaler, _SeekRequest_OneofUnmarshaler, _SeekRequest_OneofSizer, []interface{}{
2286		(*SeekRequest_Time)(nil),
2287		(*SeekRequest_Snapshot)(nil),
2288	}
2289}
2290
2291func _SeekRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
2292	m := msg.(*SeekRequest)
2293	// target
2294	switch x := m.Target.(type) {
2295	case *SeekRequest_Time:
2296		b.EncodeVarint(2<<3 | proto.WireBytes)
2297		if err := b.EncodeMessage(x.Time); err != nil {
2298			return err
2299		}
2300	case *SeekRequest_Snapshot:
2301		b.EncodeVarint(3<<3 | proto.WireBytes)
2302		b.EncodeStringBytes(x.Snapshot)
2303	case nil:
2304	default:
2305		return fmt.Errorf("SeekRequest.Target has unexpected type %T", x)
2306	}
2307	return nil
2308}
2309
2310func _SeekRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
2311	m := msg.(*SeekRequest)
2312	switch tag {
2313	case 2: // target.time
2314		if wire != proto.WireBytes {
2315			return true, proto.ErrInternalBadWireType
2316		}
2317		msg := new(timestamp.Timestamp)
2318		err := b.DecodeMessage(msg)
2319		m.Target = &SeekRequest_Time{msg}
2320		return true, err
2321	case 3: // target.snapshot
2322		if wire != proto.WireBytes {
2323			return true, proto.ErrInternalBadWireType
2324		}
2325		x, err := b.DecodeStringBytes()
2326		m.Target = &SeekRequest_Snapshot{x}
2327		return true, err
2328	default:
2329		return false, nil
2330	}
2331}
2332
2333func _SeekRequest_OneofSizer(msg proto.Message) (n int) {
2334	m := msg.(*SeekRequest)
2335	// target
2336	switch x := m.Target.(type) {
2337	case *SeekRequest_Time:
2338		s := proto.Size(x.Time)
2339		n += 1 // tag and wire
2340		n += proto.SizeVarint(uint64(s))
2341		n += s
2342	case *SeekRequest_Snapshot:
2343		n += 1 // tag and wire
2344		n += proto.SizeVarint(uint64(len(x.Snapshot)))
2345		n += len(x.Snapshot)
2346	case nil:
2347	default:
2348		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2349	}
2350	return n
2351}
2352
2353// Response for the `Seek` method (this response is empty).
2354type SeekResponse struct {
2355	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2356	XXX_unrecognized     []byte   `json:"-"`
2357	XXX_sizecache        int32    `json:"-"`
2358}
2359
2360func (m *SeekResponse) Reset()         { *m = SeekResponse{} }
2361func (m *SeekResponse) String() string { return proto.CompactTextString(m) }
2362func (*SeekResponse) ProtoMessage()    {}
2363func (*SeekResponse) Descriptor() ([]byte, []int) {
2364	return fileDescriptor_pubsub_5db998c1dc179e5b, []int{38}
2365}
2366func (m *SeekResponse) XXX_Unmarshal(b []byte) error {
2367	return xxx_messageInfo_SeekResponse.Unmarshal(m, b)
2368}
2369func (m *SeekResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2370	return xxx_messageInfo_SeekResponse.Marshal(b, m, deterministic)
2371}
2372func (dst *SeekResponse) XXX_Merge(src proto.Message) {
2373	xxx_messageInfo_SeekResponse.Merge(dst, src)
2374}
2375func (m *SeekResponse) XXX_Size() int {
2376	return xxx_messageInfo_SeekResponse.Size(m)
2377}
2378func (m *SeekResponse) XXX_DiscardUnknown() {
2379	xxx_messageInfo_SeekResponse.DiscardUnknown(m)
2380}
2381
2382var xxx_messageInfo_SeekResponse proto.InternalMessageInfo
2383
2384func init() {
2385	proto.RegisterType((*MessageStoragePolicy)(nil), "google.pubsub.v1.MessageStoragePolicy")
2386	proto.RegisterType((*Topic)(nil), "google.pubsub.v1.Topic")
2387	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.Topic.LabelsEntry")
2388	proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1.PubsubMessage")
2389	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.PubsubMessage.AttributesEntry")
2390	proto.RegisterType((*GetTopicRequest)(nil), "google.pubsub.v1.GetTopicRequest")
2391	proto.RegisterType((*UpdateTopicRequest)(nil), "google.pubsub.v1.UpdateTopicRequest")
2392	proto.RegisterType((*PublishRequest)(nil), "google.pubsub.v1.PublishRequest")
2393	proto.RegisterType((*PublishResponse)(nil), "google.pubsub.v1.PublishResponse")
2394	proto.RegisterType((*ListTopicsRequest)(nil), "google.pubsub.v1.ListTopicsRequest")
2395	proto.RegisterType((*ListTopicsResponse)(nil), "google.pubsub.v1.ListTopicsResponse")
2396	proto.RegisterType((*ListTopicSubscriptionsRequest)(nil), "google.pubsub.v1.ListTopicSubscriptionsRequest")
2397	proto.RegisterType((*ListTopicSubscriptionsResponse)(nil), "google.pubsub.v1.ListTopicSubscriptionsResponse")
2398	proto.RegisterType((*ListTopicSnapshotsRequest)(nil), "google.pubsub.v1.ListTopicSnapshotsRequest")
2399	proto.RegisterType((*ListTopicSnapshotsResponse)(nil), "google.pubsub.v1.ListTopicSnapshotsResponse")
2400	proto.RegisterType((*DeleteTopicRequest)(nil), "google.pubsub.v1.DeleteTopicRequest")
2401	proto.RegisterType((*Subscription)(nil), "google.pubsub.v1.Subscription")
2402	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.Subscription.LabelsEntry")
2403	proto.RegisterType((*ExpirationPolicy)(nil), "google.pubsub.v1.ExpirationPolicy")
2404	proto.RegisterType((*PushConfig)(nil), "google.pubsub.v1.PushConfig")
2405	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.PushConfig.AttributesEntry")
2406	proto.RegisterType((*ReceivedMessage)(nil), "google.pubsub.v1.ReceivedMessage")
2407	proto.RegisterType((*GetSubscriptionRequest)(nil), "google.pubsub.v1.GetSubscriptionRequest")
2408	proto.RegisterType((*UpdateSubscriptionRequest)(nil), "google.pubsub.v1.UpdateSubscriptionRequest")
2409	proto.RegisterType((*ListSubscriptionsRequest)(nil), "google.pubsub.v1.ListSubscriptionsRequest")
2410	proto.RegisterType((*ListSubscriptionsResponse)(nil), "google.pubsub.v1.ListSubscriptionsResponse")
2411	proto.RegisterType((*DeleteSubscriptionRequest)(nil), "google.pubsub.v1.DeleteSubscriptionRequest")
2412	proto.RegisterType((*ModifyPushConfigRequest)(nil), "google.pubsub.v1.ModifyPushConfigRequest")
2413	proto.RegisterType((*PullRequest)(nil), "google.pubsub.v1.PullRequest")
2414	proto.RegisterType((*PullResponse)(nil), "google.pubsub.v1.PullResponse")
2415	proto.RegisterType((*ModifyAckDeadlineRequest)(nil), "google.pubsub.v1.ModifyAckDeadlineRequest")
2416	proto.RegisterType((*AcknowledgeRequest)(nil), "google.pubsub.v1.AcknowledgeRequest")
2417	proto.RegisterType((*StreamingPullRequest)(nil), "google.pubsub.v1.StreamingPullRequest")
2418	proto.RegisterType((*StreamingPullResponse)(nil), "google.pubsub.v1.StreamingPullResponse")
2419	proto.RegisterType((*CreateSnapshotRequest)(nil), "google.pubsub.v1.CreateSnapshotRequest")
2420	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.CreateSnapshotRequest.LabelsEntry")
2421	proto.RegisterType((*UpdateSnapshotRequest)(nil), "google.pubsub.v1.UpdateSnapshotRequest")
2422	proto.RegisterType((*Snapshot)(nil), "google.pubsub.v1.Snapshot")
2423	proto.RegisterMapType((map[string]string)(nil), "google.pubsub.v1.Snapshot.LabelsEntry")
2424	proto.RegisterType((*GetSnapshotRequest)(nil), "google.pubsub.v1.GetSnapshotRequest")
2425	proto.RegisterType((*ListSnapshotsRequest)(nil), "google.pubsub.v1.ListSnapshotsRequest")
2426	proto.RegisterType((*ListSnapshotsResponse)(nil), "google.pubsub.v1.ListSnapshotsResponse")
2427	proto.RegisterType((*DeleteSnapshotRequest)(nil), "google.pubsub.v1.DeleteSnapshotRequest")
2428	proto.RegisterType((*SeekRequest)(nil), "google.pubsub.v1.SeekRequest")
2429	proto.RegisterType((*SeekResponse)(nil), "google.pubsub.v1.SeekResponse")
2430}
2431
2432// Reference imports to suppress errors if they are not otherwise used.
2433var _ context.Context
2434var _ grpc.ClientConn
2435
2436// This is a compile-time assertion to ensure that this generated file
2437// is compatible with the grpc package it is being compiled against.
2438const _ = grpc.SupportPackageIsVersion4
2439
2440// PublisherClient is the client API for Publisher service.
2441//
2442// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2443type PublisherClient interface {
2444	// Creates the given topic with the given name. See the
2445	// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
2446	// resource name rules</a>.
2447	CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
2448	// Updates an existing topic. Note that certain properties of a
2449	// topic are not modifiable.
2450	UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2451	// Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2452	// does not exist.
2453	Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
2454	// Gets the configuration of a topic.
2455	GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2456	// Lists matching topics.
2457	ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error)
2458	// Lists the names of the subscriptions on this topic.
2459	ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error)
2460	// Lists the names of the snapshots on this topic. Snapshots are used in
2461	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2462	// operations, which allow
2463	// you to manage message acknowledgments in bulk. That is, you can set the
2464	// acknowledgment state of messages in an existing subscription to the state
2465	// captured by a snapshot.<br><br>
2466	// <b>BETA:</b> This feature is part of a beta release. This API might be
2467	// changed in backward-incompatible ways and is not recommended for production
2468	// use. It is not subject to any SLA or deprecation policy.
2469	ListTopicSnapshots(ctx context.Context, in *ListTopicSnapshotsRequest, opts ...grpc.CallOption) (*ListTopicSnapshotsResponse, error)
2470	// Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2471	// does not exist. After a topic is deleted, a new topic may be created with
2472	// the same name; this is an entirely new topic with none of the old
2473	// configuration or subscriptions. Existing subscriptions to this topic are
2474	// not deleted, but their `topic` field is set to `_deleted-topic_`.
2475	DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2476}
2477
2478type publisherClient struct {
2479	cc *grpc.ClientConn
2480}
2481
2482func NewPublisherClient(cc *grpc.ClientConn) PublisherClient {
2483	return &publisherClient{cc}
2484}
2485
2486func (c *publisherClient) CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error) {
2487	out := new(Topic)
2488	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/CreateTopic", in, out, opts...)
2489	if err != nil {
2490		return nil, err
2491	}
2492	return out, nil
2493}
2494
2495func (c *publisherClient) UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2496	out := new(Topic)
2497	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/UpdateTopic", in, out, opts...)
2498	if err != nil {
2499		return nil, err
2500	}
2501	return out, nil
2502}
2503
2504func (c *publisherClient) Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error) {
2505	out := new(PublishResponse)
2506	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/Publish", in, out, opts...)
2507	if err != nil {
2508		return nil, err
2509	}
2510	return out, nil
2511}
2512
2513func (c *publisherClient) GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2514	out := new(Topic)
2515	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/GetTopic", in, out, opts...)
2516	if err != nil {
2517		return nil, err
2518	}
2519	return out, nil
2520}
2521
2522func (c *publisherClient) ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error) {
2523	out := new(ListTopicsResponse)
2524	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopics", in, out, opts...)
2525	if err != nil {
2526		return nil, err
2527	}
2528	return out, nil
2529}
2530
2531func (c *publisherClient) ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error) {
2532	out := new(ListTopicSubscriptionsResponse)
2533	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSubscriptions", in, out, opts...)
2534	if err != nil {
2535		return nil, err
2536	}
2537	return out, nil
2538}
2539
2540func (c *publisherClient) ListTopicSnapshots(ctx context.Context, in *ListTopicSnapshotsRequest, opts ...grpc.CallOption) (*ListTopicSnapshotsResponse, error) {
2541	out := new(ListTopicSnapshotsResponse)
2542	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSnapshots", in, out, opts...)
2543	if err != nil {
2544		return nil, err
2545	}
2546	return out, nil
2547}
2548
2549func (c *publisherClient) DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2550	out := new(empty.Empty)
2551	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/DeleteTopic", in, out, opts...)
2552	if err != nil {
2553		return nil, err
2554	}
2555	return out, nil
2556}
2557
2558// PublisherServer is the server API for Publisher service.
2559type PublisherServer interface {
2560	// Creates the given topic with the given name. See the
2561	// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
2562	// resource name rules</a>.
2563	CreateTopic(context.Context, *Topic) (*Topic, error)
2564	// Updates an existing topic. Note that certain properties of a
2565	// topic are not modifiable.
2566	UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error)
2567	// Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2568	// does not exist.
2569	Publish(context.Context, *PublishRequest) (*PublishResponse, error)
2570	// Gets the configuration of a topic.
2571	GetTopic(context.Context, *GetTopicRequest) (*Topic, error)
2572	// Lists matching topics.
2573	ListTopics(context.Context, *ListTopicsRequest) (*ListTopicsResponse, error)
2574	// Lists the names of the subscriptions on this topic.
2575	ListTopicSubscriptions(context.Context, *ListTopicSubscriptionsRequest) (*ListTopicSubscriptionsResponse, error)
2576	// Lists the names of the snapshots on this topic. Snapshots are used in
2577	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2578	// operations, which allow
2579	// you to manage message acknowledgments in bulk. That is, you can set the
2580	// acknowledgment state of messages in an existing subscription to the state
2581	// captured by a snapshot.<br><br>
2582	// <b>BETA:</b> This feature is part of a beta release. This API might be
2583	// changed in backward-incompatible ways and is not recommended for production
2584	// use. It is not subject to any SLA or deprecation policy.
2585	ListTopicSnapshots(context.Context, *ListTopicSnapshotsRequest) (*ListTopicSnapshotsResponse, error)
2586	// Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2587	// does not exist. After a topic is deleted, a new topic may be created with
2588	// the same name; this is an entirely new topic with none of the old
2589	// configuration or subscriptions. Existing subscriptions to this topic are
2590	// not deleted, but their `topic` field is set to `_deleted-topic_`.
2591	DeleteTopic(context.Context, *DeleteTopicRequest) (*empty.Empty, error)
2592}
2593
2594func RegisterPublisherServer(s *grpc.Server, srv PublisherServer) {
2595	s.RegisterService(&_Publisher_serviceDesc, srv)
2596}
2597
2598func _Publisher_CreateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2599	in := new(Topic)
2600	if err := dec(in); err != nil {
2601		return nil, err
2602	}
2603	if interceptor == nil {
2604		return srv.(PublisherServer).CreateTopic(ctx, in)
2605	}
2606	info := &grpc.UnaryServerInfo{
2607		Server:     srv,
2608		FullMethod: "/google.pubsub.v1.Publisher/CreateTopic",
2609	}
2610	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2611		return srv.(PublisherServer).CreateTopic(ctx, req.(*Topic))
2612	}
2613	return interceptor(ctx, in, info, handler)
2614}
2615
2616func _Publisher_UpdateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2617	in := new(UpdateTopicRequest)
2618	if err := dec(in); err != nil {
2619		return nil, err
2620	}
2621	if interceptor == nil {
2622		return srv.(PublisherServer).UpdateTopic(ctx, in)
2623	}
2624	info := &grpc.UnaryServerInfo{
2625		Server:     srv,
2626		FullMethod: "/google.pubsub.v1.Publisher/UpdateTopic",
2627	}
2628	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2629		return srv.(PublisherServer).UpdateTopic(ctx, req.(*UpdateTopicRequest))
2630	}
2631	return interceptor(ctx, in, info, handler)
2632}
2633
2634func _Publisher_Publish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2635	in := new(PublishRequest)
2636	if err := dec(in); err != nil {
2637		return nil, err
2638	}
2639	if interceptor == nil {
2640		return srv.(PublisherServer).Publish(ctx, in)
2641	}
2642	info := &grpc.UnaryServerInfo{
2643		Server:     srv,
2644		FullMethod: "/google.pubsub.v1.Publisher/Publish",
2645	}
2646	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2647		return srv.(PublisherServer).Publish(ctx, req.(*PublishRequest))
2648	}
2649	return interceptor(ctx, in, info, handler)
2650}
2651
2652func _Publisher_GetTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2653	in := new(GetTopicRequest)
2654	if err := dec(in); err != nil {
2655		return nil, err
2656	}
2657	if interceptor == nil {
2658		return srv.(PublisherServer).GetTopic(ctx, in)
2659	}
2660	info := &grpc.UnaryServerInfo{
2661		Server:     srv,
2662		FullMethod: "/google.pubsub.v1.Publisher/GetTopic",
2663	}
2664	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2665		return srv.(PublisherServer).GetTopic(ctx, req.(*GetTopicRequest))
2666	}
2667	return interceptor(ctx, in, info, handler)
2668}
2669
2670func _Publisher_ListTopics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2671	in := new(ListTopicsRequest)
2672	if err := dec(in); err != nil {
2673		return nil, err
2674	}
2675	if interceptor == nil {
2676		return srv.(PublisherServer).ListTopics(ctx, in)
2677	}
2678	info := &grpc.UnaryServerInfo{
2679		Server:     srv,
2680		FullMethod: "/google.pubsub.v1.Publisher/ListTopics",
2681	}
2682	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2683		return srv.(PublisherServer).ListTopics(ctx, req.(*ListTopicsRequest))
2684	}
2685	return interceptor(ctx, in, info, handler)
2686}
2687
2688func _Publisher_ListTopicSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2689	in := new(ListTopicSubscriptionsRequest)
2690	if err := dec(in); err != nil {
2691		return nil, err
2692	}
2693	if interceptor == nil {
2694		return srv.(PublisherServer).ListTopicSubscriptions(ctx, in)
2695	}
2696	info := &grpc.UnaryServerInfo{
2697		Server:     srv,
2698		FullMethod: "/google.pubsub.v1.Publisher/ListTopicSubscriptions",
2699	}
2700	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2701		return srv.(PublisherServer).ListTopicSubscriptions(ctx, req.(*ListTopicSubscriptionsRequest))
2702	}
2703	return interceptor(ctx, in, info, handler)
2704}
2705
2706func _Publisher_ListTopicSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2707	in := new(ListTopicSnapshotsRequest)
2708	if err := dec(in); err != nil {
2709		return nil, err
2710	}
2711	if interceptor == nil {
2712		return srv.(PublisherServer).ListTopicSnapshots(ctx, in)
2713	}
2714	info := &grpc.UnaryServerInfo{
2715		Server:     srv,
2716		FullMethod: "/google.pubsub.v1.Publisher/ListTopicSnapshots",
2717	}
2718	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2719		return srv.(PublisherServer).ListTopicSnapshots(ctx, req.(*ListTopicSnapshotsRequest))
2720	}
2721	return interceptor(ctx, in, info, handler)
2722}
2723
2724func _Publisher_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2725	in := new(DeleteTopicRequest)
2726	if err := dec(in); err != nil {
2727		return nil, err
2728	}
2729	if interceptor == nil {
2730		return srv.(PublisherServer).DeleteTopic(ctx, in)
2731	}
2732	info := &grpc.UnaryServerInfo{
2733		Server:     srv,
2734		FullMethod: "/google.pubsub.v1.Publisher/DeleteTopic",
2735	}
2736	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2737		return srv.(PublisherServer).DeleteTopic(ctx, req.(*DeleteTopicRequest))
2738	}
2739	return interceptor(ctx, in, info, handler)
2740}
2741
2742var _Publisher_serviceDesc = grpc.ServiceDesc{
2743	ServiceName: "google.pubsub.v1.Publisher",
2744	HandlerType: (*PublisherServer)(nil),
2745	Methods: []grpc.MethodDesc{
2746		{
2747			MethodName: "CreateTopic",
2748			Handler:    _Publisher_CreateTopic_Handler,
2749		},
2750		{
2751			MethodName: "UpdateTopic",
2752			Handler:    _Publisher_UpdateTopic_Handler,
2753		},
2754		{
2755			MethodName: "Publish",
2756			Handler:    _Publisher_Publish_Handler,
2757		},
2758		{
2759			MethodName: "GetTopic",
2760			Handler:    _Publisher_GetTopic_Handler,
2761		},
2762		{
2763			MethodName: "ListTopics",
2764			Handler:    _Publisher_ListTopics_Handler,
2765		},
2766		{
2767			MethodName: "ListTopicSubscriptions",
2768			Handler:    _Publisher_ListTopicSubscriptions_Handler,
2769		},
2770		{
2771			MethodName: "ListTopicSnapshots",
2772			Handler:    _Publisher_ListTopicSnapshots_Handler,
2773		},
2774		{
2775			MethodName: "DeleteTopic",
2776			Handler:    _Publisher_DeleteTopic_Handler,
2777		},
2778	},
2779	Streams:  []grpc.StreamDesc{},
2780	Metadata: "google/pubsub/v1/pubsub.proto",
2781}
2782
2783// SubscriberClient is the client API for Subscriber service.
2784//
2785// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2786type SubscriberClient interface {
2787	// Creates a subscription to a given topic. See the
2788	// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
2789	// resource name rules</a>.
2790	// If the subscription already exists, returns `ALREADY_EXISTS`.
2791	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
2792	//
2793	// If the name is not provided in the request, the server will assign a random
2794	// name for this subscription on the same project as the topic, conforming
2795	// to the
2796	// [resource name format](https://cloud.google.com/pubsub/docs/admin#resource_names).
2797	// The generated name is populated in the returned Subscription object.
2798	// Note that for REST API requests, you must specify a name in the request.
2799	CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
2800	// Gets the configuration details of a subscription.
2801	GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
2802	// Updates an existing subscription. Note that certain properties of a
2803	// subscription, such as its topic, are not modifiable.
2804	UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
2805	// Lists matching subscriptions.
2806	ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
2807	// Deletes an existing subscription. All messages retained in the subscription
2808	// are immediately dropped. Calls to `Pull` after deletion will return
2809	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
2810	// the same name, but the new one has no association with the old
2811	// subscription or its topic unless the same topic is specified.
2812	DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2813	// Modifies the ack deadline for a specific message. This method is useful
2814	// to indicate that more time is needed to process a message by the
2815	// subscriber, or to make the message available for redelivery if the
2816	// processing was interrupted. Note that this does not modify the
2817	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
2818	ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2819	// Acknowledges the messages associated with the `ack_ids` in the
2820	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
2821	// from the subscription.
2822	//
2823	// Acknowledging a message whose ack deadline has expired may succeed,
2824	// but such a message may be redelivered later. Acknowledging a message more
2825	// than once will not result in an error.
2826	Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2827	// Pulls messages from the server. The server may return `UNAVAILABLE` if
2828	// there are too many concurrent pull requests pending for the given
2829	// subscription.
2830	Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
2831	// Establishes a stream with the server, which sends messages down to the
2832	// client. The client streams acknowledgements and ack deadline modifications
2833	// back to the server. The server will close the stream and return the status
2834	// on any error. The server may close the stream with status `UNAVAILABLE` to
2835	// reassign server-side resources, in which case, the client should
2836	// re-establish the stream. Flow control can be achieved by configuring the
2837	// underlying RPC channel.
2838	StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
2839	// Modifies the `PushConfig` for a specified subscription.
2840	//
2841	// This may be used to change a push subscription to a pull one (signified by
2842	// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
2843	// attributes of a push subscription. Messages will accumulate for delivery
2844	// continuously through the call regardless of changes to the `PushConfig`.
2845	ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2846	// Gets the configuration details of a snapshot. Snapshots are used in
2847	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2848	// operations, which allow you to manage message acknowledgments in bulk. That
2849	// is, you can set the acknowledgment state of messages in an existing
2850	// subscription to the state captured by a snapshot.<br><br>
2851	// <b>BETA:</b> This feature is part of a beta release. This API might be
2852	// changed in backward-incompatible ways and is not recommended for production
2853	// use. It is not subject to any SLA or deprecation policy.
2854	GetSnapshot(ctx context.Context, in *GetSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
2855	// Lists the existing snapshots. Snapshots are used in
2856	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2857	// operations, which allow
2858	// you to manage message acknowledgments in bulk. That is, you can set the
2859	// acknowledgment state of messages in an existing subscription to the state
2860	// captured by a snapshot.<br><br>
2861	// <b>BETA:</b> This feature is part of a beta release. This API might be
2862	// changed in backward-incompatible ways and is not recommended for production
2863	// use. It is not subject to any SLA or deprecation policy.
2864	ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error)
2865	// Creates a snapshot from the requested subscription. Snapshots are used in
2866	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2867	// operations, which allow
2868	// you to manage message acknowledgments in bulk. That is, you can set the
2869	// acknowledgment state of messages in an existing subscription to the state
2870	// captured by a snapshot.
2871	// <br><br>
2872	// <b>BETA:</b> This feature is part of a beta release. This API might be
2873	// changed in backward-incompatible ways and is not recommended for production
2874	// use. It is not subject to any SLA or deprecation policy.<br><br>
2875	// If the snapshot already exists, returns `ALREADY_EXISTS`.
2876	// If the requested subscription doesn't exist, returns `NOT_FOUND`.
2877	// If the backlog in the subscription is too old -- and the resulting snapshot
2878	// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
2879	// See also the `Snapshot.expire_time` field. If the name is not provided in
2880	// the request, the server will assign a random
2881	// name for this snapshot on the same project as the subscription, conforming
2882	// to the
2883	// [resource name format](https://cloud.google.com/pubsub/docs/admin#resource_names).
2884	// The generated name is populated in the returned Snapshot object. Note that
2885	// for REST API requests, you must specify a name in the request.
2886	CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
2887	// Updates an existing snapshot. Snapshots are used in
2888	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2889	// operations, which allow
2890	// you to manage message acknowledgments in bulk. That is, you can set the
2891	// acknowledgment state of messages in an existing subscription to the state
2892	// captured by a snapshot.<br><br>
2893	// <b>BETA:</b> This feature is part of a beta release. This API might be
2894	// changed in backward-incompatible ways and is not recommended for production
2895	// use. It is not subject to any SLA or deprecation policy.
2896	// Note that certain properties of a snapshot are not modifiable.
2897	UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
2898	// Removes an existing snapshot. Snapshots are used in
2899	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2900	// operations, which allow
2901	// you to manage message acknowledgments in bulk. That is, you can set the
2902	// acknowledgment state of messages in an existing subscription to the state
2903	// captured by a snapshot.<br><br>
2904	// <b>BETA:</b> This feature is part of a beta release. This API might be
2905	// changed in backward-incompatible ways and is not recommended for production
2906	// use. It is not subject to any SLA or deprecation policy.
2907	// When the snapshot is deleted, all messages retained in the snapshot
2908	// are immediately dropped. After a snapshot is deleted, a new one may be
2909	// created with the same name, but the new one has no association with the old
2910	// snapshot or its subscription, unless the same subscription is specified.
2911	DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2912	// Seeks an existing subscription to a point in time or to a given snapshot,
2913	// whichever is provided in the request. Snapshots are used in
2914	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
2915	// operations, which allow
2916	// you to manage message acknowledgments in bulk. That is, you can set the
2917	// acknowledgment state of messages in an existing subscription to the state
2918	// captured by a snapshot. Note that both the subscription and the snapshot
2919	// must be on the same topic.<br><br>
2920	// <b>BETA:</b> This feature is part of a beta release. This API might be
2921	// changed in backward-incompatible ways and is not recommended for production
2922	// use. It is not subject to any SLA or deprecation policy.
2923	Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error)
2924}
2925
2926type subscriberClient struct {
2927	cc *grpc.ClientConn
2928}
2929
2930func NewSubscriberClient(cc *grpc.ClientConn) SubscriberClient {
2931	return &subscriberClient{cc}
2932}
2933
2934func (c *subscriberClient) CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error) {
2935	out := new(Subscription)
2936	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSubscription", in, out, opts...)
2937	if err != nil {
2938		return nil, err
2939	}
2940	return out, nil
2941}
2942
2943func (c *subscriberClient) GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
2944	out := new(Subscription)
2945	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSubscription", in, out, opts...)
2946	if err != nil {
2947		return nil, err
2948	}
2949	return out, nil
2950}
2951
2952func (c *subscriberClient) UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
2953	out := new(Subscription)
2954	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSubscription", in, out, opts...)
2955	if err != nil {
2956		return nil, err
2957	}
2958	return out, nil
2959}
2960
2961func (c *subscriberClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) {
2962	out := new(ListSubscriptionsResponse)
2963	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSubscriptions", in, out, opts...)
2964	if err != nil {
2965		return nil, err
2966	}
2967	return out, nil
2968}
2969
2970func (c *subscriberClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2971	out := new(empty.Empty)
2972	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSubscription", in, out, opts...)
2973	if err != nil {
2974		return nil, err
2975	}
2976	return out, nil
2977}
2978
2979func (c *subscriberClient) ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2980	out := new(empty.Empty)
2981	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyAckDeadline", in, out, opts...)
2982	if err != nil {
2983		return nil, err
2984	}
2985	return out, nil
2986}
2987
2988func (c *subscriberClient) Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2989	out := new(empty.Empty)
2990	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Acknowledge", in, out, opts...)
2991	if err != nil {
2992		return nil, err
2993	}
2994	return out, nil
2995}
2996
2997func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error) {
2998	out := new(PullResponse)
2999	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Pull", in, out, opts...)
3000	if err != nil {
3001		return nil, err
3002	}
3003	return out, nil
3004}
3005
3006func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
3007	stream, err := c.cc.NewStream(ctx, &_Subscriber_serviceDesc.Streams[0], "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
3008	if err != nil {
3009		return nil, err
3010	}
3011	x := &subscriberStreamingPullClient{stream}
3012	return x, nil
3013}
3014
3015type Subscriber_StreamingPullClient interface {
3016	Send(*StreamingPullRequest) error
3017	Recv() (*StreamingPullResponse, error)
3018	grpc.ClientStream
3019}
3020
3021type subscriberStreamingPullClient struct {
3022	grpc.ClientStream
3023}
3024
3025func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
3026	return x.ClientStream.SendMsg(m)
3027}
3028
3029func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
3030	m := new(StreamingPullResponse)
3031	if err := x.ClientStream.RecvMsg(m); err != nil {
3032		return nil, err
3033	}
3034	return m, nil
3035}
3036
3037func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
3038	out := new(empty.Empty)
3039	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, opts...)
3040	if err != nil {
3041		return nil, err
3042	}
3043	return out, nil
3044}
3045
3046func (c *subscriberClient) GetSnapshot(ctx context.Context, in *GetSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
3047	out := new(Snapshot)
3048	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSnapshot", in, out, opts...)
3049	if err != nil {
3050		return nil, err
3051	}
3052	return out, nil
3053}
3054
3055func (c *subscriberClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error) {
3056	out := new(ListSnapshotsResponse)
3057	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSnapshots", in, out, opts...)
3058	if err != nil {
3059		return nil, err
3060	}
3061	return out, nil
3062}
3063
3064func (c *subscriberClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
3065	out := new(Snapshot)
3066	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSnapshot", in, out, opts...)
3067	if err != nil {
3068		return nil, err
3069	}
3070	return out, nil
3071}
3072
3073func (c *subscriberClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
3074	out := new(Snapshot)
3075	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSnapshot", in, out, opts...)
3076	if err != nil {
3077		return nil, err
3078	}
3079	return out, nil
3080}
3081
3082func (c *subscriberClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
3083	out := new(empty.Empty)
3084	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSnapshot", in, out, opts...)
3085	if err != nil {
3086		return nil, err
3087	}
3088	return out, nil
3089}
3090
3091func (c *subscriberClient) Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error) {
3092	out := new(SeekResponse)
3093	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Seek", in, out, opts...)
3094	if err != nil {
3095		return nil, err
3096	}
3097	return out, nil
3098}
3099
3100// SubscriberServer is the server API for Subscriber service.
3101type SubscriberServer interface {
3102	// Creates a subscription to a given topic. See the
3103	// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
3104	// resource name rules</a>.
3105	// If the subscription already exists, returns `ALREADY_EXISTS`.
3106	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
3107	//
3108	// If the name is not provided in the request, the server will assign a random
3109	// name for this subscription on the same project as the topic, conforming
3110	// to the
3111	// [resource name format](https://cloud.google.com/pubsub/docs/admin#resource_names).
3112	// The generated name is populated in the returned Subscription object.
3113	// Note that for REST API requests, you must specify a name in the request.
3114	CreateSubscription(context.Context, *Subscription) (*Subscription, error)
3115	// Gets the configuration details of a subscription.
3116	GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
3117	// Updates an existing subscription. Note that certain properties of a
3118	// subscription, such as its topic, are not modifiable.
3119	UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error)
3120	// Lists matching subscriptions.
3121	ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
3122	// Deletes an existing subscription. All messages retained in the subscription
3123	// are immediately dropped. Calls to `Pull` after deletion will return
3124	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
3125	// the same name, but the new one has no association with the old
3126	// subscription or its topic unless the same topic is specified.
3127	DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*empty.Empty, error)
3128	// Modifies the ack deadline for a specific message. This method is useful
3129	// to indicate that more time is needed to process a message by the
3130	// subscriber, or to make the message available for redelivery if the
3131	// processing was interrupted. Note that this does not modify the
3132	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
3133	ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*empty.Empty, error)
3134	// Acknowledges the messages associated with the `ack_ids` in the
3135	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
3136	// from the subscription.
3137	//
3138	// Acknowledging a message whose ack deadline has expired may succeed,
3139	// but such a message may be redelivered later. Acknowledging a message more
3140	// than once will not result in an error.
3141	Acknowledge(context.Context, *AcknowledgeRequest) (*empty.Empty, error)
3142	// Pulls messages from the server. The server may return `UNAVAILABLE` if
3143	// there are too many concurrent pull requests pending for the given
3144	// subscription.
3145	Pull(context.Context, *PullRequest) (*PullResponse, error)
3146	// Establishes a stream with the server, which sends messages down to the
3147	// client. The client streams acknowledgements and ack deadline modifications
3148	// back to the server. The server will close the stream and return the status
3149	// on any error. The server may close the stream with status `UNAVAILABLE` to
3150	// reassign server-side resources, in which case, the client should
3151	// re-establish the stream. Flow control can be achieved by configuring the
3152	// underlying RPC channel.
3153	StreamingPull(Subscriber_StreamingPullServer) error
3154	// Modifies the `PushConfig` for a specified subscription.
3155	//
3156	// This may be used to change a push subscription to a pull one (signified by
3157	// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
3158	// attributes of a push subscription. Messages will accumulate for delivery
3159	// continuously through the call regardless of changes to the `PushConfig`.
3160	ModifyPushConfig(context.Context, *ModifyPushConfigRequest) (*empty.Empty, error)
3161	// Gets the configuration details of a snapshot. Snapshots are used in
3162	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3163	// operations, which allow you to manage message acknowledgments in bulk. That
3164	// is, you can set the acknowledgment state of messages in an existing
3165	// subscription to the state captured by a snapshot.<br><br>
3166	// <b>BETA:</b> This feature is part of a beta release. This API might be
3167	// changed in backward-incompatible ways and is not recommended for production
3168	// use. It is not subject to any SLA or deprecation policy.
3169	GetSnapshot(context.Context, *GetSnapshotRequest) (*Snapshot, error)
3170	// Lists the existing snapshots. Snapshots are used in
3171	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3172	// operations, which allow
3173	// you to manage message acknowledgments in bulk. That is, you can set the
3174	// acknowledgment state of messages in an existing subscription to the state
3175	// captured by a snapshot.<br><br>
3176	// <b>BETA:</b> This feature is part of a beta release. This API might be
3177	// changed in backward-incompatible ways and is not recommended for production
3178	// use. It is not subject to any SLA or deprecation policy.
3179	ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error)
3180	// Creates a snapshot from the requested subscription. Snapshots are used in
3181	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3182	// operations, which allow
3183	// you to manage message acknowledgments in bulk. That is, you can set the
3184	// acknowledgment state of messages in an existing subscription to the state
3185	// captured by a snapshot.
3186	// <br><br>
3187	// <b>BETA:</b> This feature is part of a beta release. This API might be
3188	// changed in backward-incompatible ways and is not recommended for production
3189	// use. It is not subject to any SLA or deprecation policy.<br><br>
3190	// If the snapshot already exists, returns `ALREADY_EXISTS`.
3191	// If the requested subscription doesn't exist, returns `NOT_FOUND`.
3192	// If the backlog in the subscription is too old -- and the resulting snapshot
3193	// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
3194	// See also the `Snapshot.expire_time` field. If the name is not provided in
3195	// the request, the server will assign a random
3196	// name for this snapshot on the same project as the subscription, conforming
3197	// to the
3198	// [resource name format](https://cloud.google.com/pubsub/docs/admin#resource_names).
3199	// The generated name is populated in the returned Snapshot object. Note that
3200	// for REST API requests, you must specify a name in the request.
3201	CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error)
3202	// Updates an existing snapshot. Snapshots are used in
3203	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3204	// operations, which allow
3205	// you to manage message acknowledgments in bulk. That is, you can set the
3206	// acknowledgment state of messages in an existing subscription to the state
3207	// captured by a snapshot.<br><br>
3208	// <b>BETA:</b> This feature is part of a beta release. This API might be
3209	// changed in backward-incompatible ways and is not recommended for production
3210	// use. It is not subject to any SLA or deprecation policy.
3211	// Note that certain properties of a snapshot are not modifiable.
3212	UpdateSnapshot(context.Context, *UpdateSnapshotRequest) (*Snapshot, error)
3213	// Removes an existing snapshot. Snapshots are used in
3214	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3215	// operations, which allow
3216	// you to manage message acknowledgments in bulk. That is, you can set the
3217	// acknowledgment state of messages in an existing subscription to the state
3218	// captured by a snapshot.<br><br>
3219	// <b>BETA:</b> This feature is part of a beta release. This API might be
3220	// changed in backward-incompatible ways and is not recommended for production
3221	// use. It is not subject to any SLA or deprecation policy.
3222	// When the snapshot is deleted, all messages retained in the snapshot
3223	// are immediately dropped. After a snapshot is deleted, a new one may be
3224	// created with the same name, but the new one has no association with the old
3225	// snapshot or its subscription, unless the same subscription is specified.
3226	DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*empty.Empty, error)
3227	// Seeks an existing subscription to a point in time or to a given snapshot,
3228	// whichever is provided in the request. Snapshots are used in
3229	// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
3230	// operations, which allow
3231	// you to manage message acknowledgments in bulk. That is, you can set the
3232	// acknowledgment state of messages in an existing subscription to the state
3233	// captured by a snapshot. Note that both the subscription and the snapshot
3234	// must be on the same topic.<br><br>
3235	// <b>BETA:</b> This feature is part of a beta release. This API might be
3236	// changed in backward-incompatible ways and is not recommended for production
3237	// use. It is not subject to any SLA or deprecation policy.
3238	Seek(context.Context, *SeekRequest) (*SeekResponse, error)
3239}
3240
3241func RegisterSubscriberServer(s *grpc.Server, srv SubscriberServer) {
3242	s.RegisterService(&_Subscriber_serviceDesc, srv)
3243}
3244
3245func _Subscriber_CreateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3246	in := new(Subscription)
3247	if err := dec(in); err != nil {
3248		return nil, err
3249	}
3250	if interceptor == nil {
3251		return srv.(SubscriberServer).CreateSubscription(ctx, in)
3252	}
3253	info := &grpc.UnaryServerInfo{
3254		Server:     srv,
3255		FullMethod: "/google.pubsub.v1.Subscriber/CreateSubscription",
3256	}
3257	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3258		return srv.(SubscriberServer).CreateSubscription(ctx, req.(*Subscription))
3259	}
3260	return interceptor(ctx, in, info, handler)
3261}
3262
3263func _Subscriber_GetSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3264	in := new(GetSubscriptionRequest)
3265	if err := dec(in); err != nil {
3266		return nil, err
3267	}
3268	if interceptor == nil {
3269		return srv.(SubscriberServer).GetSubscription(ctx, in)
3270	}
3271	info := &grpc.UnaryServerInfo{
3272		Server:     srv,
3273		FullMethod: "/google.pubsub.v1.Subscriber/GetSubscription",
3274	}
3275	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3276		return srv.(SubscriberServer).GetSubscription(ctx, req.(*GetSubscriptionRequest))
3277	}
3278	return interceptor(ctx, in, info, handler)
3279}
3280
3281func _Subscriber_UpdateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3282	in := new(UpdateSubscriptionRequest)
3283	if err := dec(in); err != nil {
3284		return nil, err
3285	}
3286	if interceptor == nil {
3287		return srv.(SubscriberServer).UpdateSubscription(ctx, in)
3288	}
3289	info := &grpc.UnaryServerInfo{
3290		Server:     srv,
3291		FullMethod: "/google.pubsub.v1.Subscriber/UpdateSubscription",
3292	}
3293	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3294		return srv.(SubscriberServer).UpdateSubscription(ctx, req.(*UpdateSubscriptionRequest))
3295	}
3296	return interceptor(ctx, in, info, handler)
3297}
3298
3299func _Subscriber_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3300	in := new(ListSubscriptionsRequest)
3301	if err := dec(in); err != nil {
3302		return nil, err
3303	}
3304	if interceptor == nil {
3305		return srv.(SubscriberServer).ListSubscriptions(ctx, in)
3306	}
3307	info := &grpc.UnaryServerInfo{
3308		Server:     srv,
3309		FullMethod: "/google.pubsub.v1.Subscriber/ListSubscriptions",
3310	}
3311	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3312		return srv.(SubscriberServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest))
3313	}
3314	return interceptor(ctx, in, info, handler)
3315}
3316
3317func _Subscriber_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3318	in := new(DeleteSubscriptionRequest)
3319	if err := dec(in); err != nil {
3320		return nil, err
3321	}
3322	if interceptor == nil {
3323		return srv.(SubscriberServer).DeleteSubscription(ctx, in)
3324	}
3325	info := &grpc.UnaryServerInfo{
3326		Server:     srv,
3327		FullMethod: "/google.pubsub.v1.Subscriber/DeleteSubscription",
3328	}
3329	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3330		return srv.(SubscriberServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest))
3331	}
3332	return interceptor(ctx, in, info, handler)
3333}
3334
3335func _Subscriber_ModifyAckDeadline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3336	in := new(ModifyAckDeadlineRequest)
3337	if err := dec(in); err != nil {
3338		return nil, err
3339	}
3340	if interceptor == nil {
3341		return srv.(SubscriberServer).ModifyAckDeadline(ctx, in)
3342	}
3343	info := &grpc.UnaryServerInfo{
3344		Server:     srv,
3345		FullMethod: "/google.pubsub.v1.Subscriber/ModifyAckDeadline",
3346	}
3347	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3348		return srv.(SubscriberServer).ModifyAckDeadline(ctx, req.(*ModifyAckDeadlineRequest))
3349	}
3350	return interceptor(ctx, in, info, handler)
3351}
3352
3353func _Subscriber_Acknowledge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3354	in := new(AcknowledgeRequest)
3355	if err := dec(in); err != nil {
3356		return nil, err
3357	}
3358	if interceptor == nil {
3359		return srv.(SubscriberServer).Acknowledge(ctx, in)
3360	}
3361	info := &grpc.UnaryServerInfo{
3362		Server:     srv,
3363		FullMethod: "/google.pubsub.v1.Subscriber/Acknowledge",
3364	}
3365	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3366		return srv.(SubscriberServer).Acknowledge(ctx, req.(*AcknowledgeRequest))
3367	}
3368	return interceptor(ctx, in, info, handler)
3369}
3370
3371func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3372	in := new(PullRequest)
3373	if err := dec(in); err != nil {
3374		return nil, err
3375	}
3376	if interceptor == nil {
3377		return srv.(SubscriberServer).Pull(ctx, in)
3378	}
3379	info := &grpc.UnaryServerInfo{
3380		Server:     srv,
3381		FullMethod: "/google.pubsub.v1.Subscriber/Pull",
3382	}
3383	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3384		return srv.(SubscriberServer).Pull(ctx, req.(*PullRequest))
3385	}
3386	return interceptor(ctx, in, info, handler)
3387}
3388
3389func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
3390	return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
3391}
3392
3393type Subscriber_StreamingPullServer interface {
3394	Send(*StreamingPullResponse) error
3395	Recv() (*StreamingPullRequest, error)
3396	grpc.ServerStream
3397}
3398
3399type subscriberStreamingPullServer struct {
3400	grpc.ServerStream
3401}
3402
3403func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
3404	return x.ServerStream.SendMsg(m)
3405}
3406
3407func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
3408	m := new(StreamingPullRequest)
3409	if err := x.ServerStream.RecvMsg(m); err != nil {
3410		return nil, err
3411	}
3412	return m, nil
3413}
3414
3415func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3416	in := new(ModifyPushConfigRequest)
3417	if err := dec(in); err != nil {
3418		return nil, err
3419	}
3420	if interceptor == nil {
3421		return srv.(SubscriberServer).ModifyPushConfig(ctx, in)
3422	}
3423	info := &grpc.UnaryServerInfo{
3424		Server:     srv,
3425		FullMethod: "/google.pubsub.v1.Subscriber/ModifyPushConfig",
3426	}
3427	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3428		return srv.(SubscriberServer).ModifyPushConfig(ctx, req.(*ModifyPushConfigRequest))
3429	}
3430	return interceptor(ctx, in, info, handler)
3431}
3432
3433func _Subscriber_GetSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3434	in := new(GetSnapshotRequest)
3435	if err := dec(in); err != nil {
3436		return nil, err
3437	}
3438	if interceptor == nil {
3439		return srv.(SubscriberServer).GetSnapshot(ctx, in)
3440	}
3441	info := &grpc.UnaryServerInfo{
3442		Server:     srv,
3443		FullMethod: "/google.pubsub.v1.Subscriber/GetSnapshot",
3444	}
3445	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3446		return srv.(SubscriberServer).GetSnapshot(ctx, req.(*GetSnapshotRequest))
3447	}
3448	return interceptor(ctx, in, info, handler)
3449}
3450
3451func _Subscriber_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3452	in := new(ListSnapshotsRequest)
3453	if err := dec(in); err != nil {
3454		return nil, err
3455	}
3456	if interceptor == nil {
3457		return srv.(SubscriberServer).ListSnapshots(ctx, in)
3458	}
3459	info := &grpc.UnaryServerInfo{
3460		Server:     srv,
3461		FullMethod: "/google.pubsub.v1.Subscriber/ListSnapshots",
3462	}
3463	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3464		return srv.(SubscriberServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest))
3465	}
3466	return interceptor(ctx, in, info, handler)
3467}
3468
3469func _Subscriber_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3470	in := new(CreateSnapshotRequest)
3471	if err := dec(in); err != nil {
3472		return nil, err
3473	}
3474	if interceptor == nil {
3475		return srv.(SubscriberServer).CreateSnapshot(ctx, in)
3476	}
3477	info := &grpc.UnaryServerInfo{
3478		Server:     srv,
3479		FullMethod: "/google.pubsub.v1.Subscriber/CreateSnapshot",
3480	}
3481	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3482		return srv.(SubscriberServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest))
3483	}
3484	return interceptor(ctx, in, info, handler)
3485}
3486
3487func _Subscriber_UpdateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3488	in := new(UpdateSnapshotRequest)
3489	if err := dec(in); err != nil {
3490		return nil, err
3491	}
3492	if interceptor == nil {
3493		return srv.(SubscriberServer).UpdateSnapshot(ctx, in)
3494	}
3495	info := &grpc.UnaryServerInfo{
3496		Server:     srv,
3497		FullMethod: "/google.pubsub.v1.Subscriber/UpdateSnapshot",
3498	}
3499	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3500		return srv.(SubscriberServer).UpdateSnapshot(ctx, req.(*UpdateSnapshotRequest))
3501	}
3502	return interceptor(ctx, in, info, handler)
3503}
3504
3505func _Subscriber_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3506	in := new(DeleteSnapshotRequest)
3507	if err := dec(in); err != nil {
3508		return nil, err
3509	}
3510	if interceptor == nil {
3511		return srv.(SubscriberServer).DeleteSnapshot(ctx, in)
3512	}
3513	info := &grpc.UnaryServerInfo{
3514		Server:     srv,
3515		FullMethod: "/google.pubsub.v1.Subscriber/DeleteSnapshot",
3516	}
3517	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3518		return srv.(SubscriberServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest))
3519	}
3520	return interceptor(ctx, in, info, handler)
3521}
3522
3523func _Subscriber_Seek_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3524	in := new(SeekRequest)
3525	if err := dec(in); err != nil {
3526		return nil, err
3527	}
3528	if interceptor == nil {
3529		return srv.(SubscriberServer).Seek(ctx, in)
3530	}
3531	info := &grpc.UnaryServerInfo{
3532		Server:     srv,
3533		FullMethod: "/google.pubsub.v1.Subscriber/Seek",
3534	}
3535	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3536		return srv.(SubscriberServer).Seek(ctx, req.(*SeekRequest))
3537	}
3538	return interceptor(ctx, in, info, handler)
3539}
3540
3541var _Subscriber_serviceDesc = grpc.ServiceDesc{
3542	ServiceName: "google.pubsub.v1.Subscriber",
3543	HandlerType: (*SubscriberServer)(nil),
3544	Methods: []grpc.MethodDesc{
3545		{
3546			MethodName: "CreateSubscription",
3547			Handler:    _Subscriber_CreateSubscription_Handler,
3548		},
3549		{
3550			MethodName: "GetSubscription",
3551			Handler:    _Subscriber_GetSubscription_Handler,
3552		},
3553		{
3554			MethodName: "UpdateSubscription",
3555			Handler:    _Subscriber_UpdateSubscription_Handler,
3556		},
3557		{
3558			MethodName: "ListSubscriptions",
3559			Handler:    _Subscriber_ListSubscriptions_Handler,
3560		},
3561		{
3562			MethodName: "DeleteSubscription",
3563			Handler:    _Subscriber_DeleteSubscription_Handler,
3564		},
3565		{
3566			MethodName: "ModifyAckDeadline",
3567			Handler:    _Subscriber_ModifyAckDeadline_Handler,
3568		},
3569		{
3570			MethodName: "Acknowledge",
3571			Handler:    _Subscriber_Acknowledge_Handler,
3572		},
3573		{
3574			MethodName: "Pull",
3575			Handler:    _Subscriber_Pull_Handler,
3576		},
3577		{
3578			MethodName: "ModifyPushConfig",
3579			Handler:    _Subscriber_ModifyPushConfig_Handler,
3580		},
3581		{
3582			MethodName: "GetSnapshot",
3583			Handler:    _Subscriber_GetSnapshot_Handler,
3584		},
3585		{
3586			MethodName: "ListSnapshots",
3587			Handler:    _Subscriber_ListSnapshots_Handler,
3588		},
3589		{
3590			MethodName: "CreateSnapshot",
3591			Handler:    _Subscriber_CreateSnapshot_Handler,
3592		},
3593		{
3594			MethodName: "UpdateSnapshot",
3595			Handler:    _Subscriber_UpdateSnapshot_Handler,
3596		},
3597		{
3598			MethodName: "DeleteSnapshot",
3599			Handler:    _Subscriber_DeleteSnapshot_Handler,
3600		},
3601		{
3602			MethodName: "Seek",
3603			Handler:    _Subscriber_Seek_Handler,
3604		},
3605	},
3606	Streams: []grpc.StreamDesc{
3607		{
3608			StreamName:    "StreamingPull",
3609			Handler:       _Subscriber_StreamingPull_Handler,
3610			ServerStreams: true,
3611			ClientStreams: true,
3612		},
3613	},
3614	Metadata: "google/pubsub/v1/pubsub.proto",
3615}
3616
3617func init() {
3618	proto.RegisterFile("google/pubsub/v1/pubsub.proto", fileDescriptor_pubsub_5db998c1dc179e5b)
3619}
3620
3621var fileDescriptor_pubsub_5db998c1dc179e5b = []byte{
3622	// 2261 bytes of a gzipped FileDescriptorProto
3623	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x73, 0x1b, 0x49,
3624	0x15, 0xcf, 0x48, 0x8e, 0x23, 0xbf, 0xb1, 0x13, 0xbb, 0xb1, 0x13, 0x79, 0xf2, 0xe5, 0x4c, 0x8c,
3625	0xed, 0xc8, 0x89, 0x64, 0x2b, 0xb5, 0x61, 0x23, 0xe3, 0xa4, 0xec, 0x38, 0x64, 0x03, 0x09, 0x6b,
3626	0xc6, 0x21, 0x54, 0x51, 0x29, 0x54, 0x23, 0xa9, 0xad, 0xcc, 0x6a, 0x34, 0x33, 0x3b, 0x33, 0xf2,
3627	0xc6, 0x0b, 0xa1, 0xc2, 0x2e, 0xb5, 0x55, 0x14, 0x39, 0xb0, 0x70, 0xdd, 0x03, 0x05, 0x37, 0x0e,
3628	0x1c, 0xf8, 0x03, 0xe0, 0xce, 0x95, 0x03, 0xff, 0x00, 0x27, 0x8a, 0x0b, 0x37, 0xb8, 0x51, 0xfd,
3629	0x31, 0xa3, 0xf9, 0xe8, 0x91, 0x2c, 0x9b, 0xdc, 0x46, 0xfd, 0x5e, 0xf7, 0xfb, 0xbd, 0xef, 0x7e,
3630	0x5d, 0x82, 0xcb, 0x6d, 0xdb, 0x6e, 0x9b, 0xb8, 0xe2, 0xf4, 0x1a, 0x5e, 0xaf, 0x51, 0x39, 0x58,
3631	0xe7, 0x5f, 0x65, 0xc7, 0xb5, 0x7d, 0x1b, 0x4d, 0x33, 0x72, 0x99, 0x2f, 0x1e, 0xac, 0x2b, 0x97,
3632	0xf8, 0x06, 0xdd, 0x31, 0x2a, 0xba, 0x65, 0xd9, 0xbe, 0xee, 0x1b, 0xb6, 0xe5, 0x31, 0x7e, 0xe5,
3633	0x4a, 0x70, 0x1c, 0xf9, 0xd5, 0xe8, 0xed, 0x57, 0x5a, 0x3d, 0x97, 0x32, 0x70, 0xfa, 0xc5, 0x24,
3634	0x1d, 0x77, 0x1d, 0xff, 0x90, 0x13, 0x17, 0x92, 0xc4, 0x7d, 0x03, 0x9b, 0xad, 0x7a, 0x57, 0xf7,
3635	0x3a, 0x9c, 0xe3, 0x6a, 0x92, 0xc3, 0x37, 0xba, 0xd8, 0xf3, 0xf5, 0xae, 0xc3, 0x18, 0xd4, 0xe7,
3636	0x30, 0xfb, 0x14, 0x7b, 0x9e, 0xde, 0xc6, 0x7b, 0xbe, 0xed, 0xea, 0x6d, 0xbc, 0x6b, 0x9b, 0x46,
3637	0xf3, 0x10, 0xdd, 0x83, 0x8b, 0xba, 0x69, 0xda, 0x9f, 0xe0, 0x56, 0xdd, 0xc1, 0xae, 0x67, 0x78,
3638	0x3e, 0xb6, 0x9a, 0xb8, 0xee, 0xe2, 0x36, 0x01, 0x5f, 0x94, 0x16, 0xf2, 0x2b, 0x13, 0xda, 0x3c,
3639	0x67, 0xd9, 0xed, 0x73, 0x68, 0x8c, 0x41, 0xfd, 0xb7, 0x04, 0xa7, 0x9f, 0xd9, 0x8e, 0xd1, 0x44,
3640	0x08, 0xc6, 0x2c, 0xbd, 0x8b, 0x8b, 0xd2, 0x82, 0xb4, 0x32, 0xa1, 0xd1, 0x6f, 0xb4, 0x01, 0xe3,
3641	0xa6, 0xde, 0xc0, 0xa6, 0x57, 0xcc, 0x2d, 0xe4, 0x57, 0xe4, 0xea, 0xf5, 0x72, 0xd2, 0x6c, 0x65,
3642	0xba, 0xb9, 0xfc, 0x84, 0x72, 0x3d, 0xb4, 0x7c, 0xf7, 0x50, 0xe3, 0x5b, 0xd0, 0x0b, 0x38, 0xdf,
3643	0x65, 0x90, 0xeb, 0x1e, 0xc3, 0x5c, 0x77, 0x28, 0xe8, 0x62, 0x7e, 0x41, 0x5a, 0x91, 0xab, 0x4b,
3644	0xe9, 0xc3, 0x44, 0x2a, 0x6a, 0xb3, 0x5d, 0xc1, 0xaa, 0x72, 0x17, 0xe4, 0x88, 0x50, 0x34, 0x0d,
3645	0xf9, 0x0e, 0x3e, 0xe4, 0xe0, 0xc9, 0x27, 0x9a, 0x85, 0xd3, 0x07, 0xba, 0xd9, 0xc3, 0xc5, 0x1c,
3646	0x5d, 0x63, 0x3f, 0x6a, 0xb9, 0xf7, 0x25, 0xf5, 0xcb, 0x1c, 0x4c, 0xed, 0x52, 0x99, 0x5c, 0x1e,
3647	0xd1, 0xbd, 0xa5, 0xfb, 0x3a, 0xdd, 0x3e, 0xa9, 0xd1, 0x6f, 0xf4, 0x21, 0x80, 0xee, 0xfb, 0xae,
3648	0xd1, 0xe8, 0xf9, 0x38, 0xd0, 0xbf, 0x92, 0x86, 0x1c, 0x3b, 0xa8, 0xbc, 0x15, 0xee, 0x60, 0xb6,
3649	0x88, 0x1c, 0x81, 0x2e, 0x03, 0x04, 0xf6, 0x30, 0x5a, 0xd4, 0x06, 0x13, 0xda, 0x04, 0x5f, 0x79,
3650	0xdc, 0x42, 0x9b, 0x30, 0xe9, 0xf4, 0x1a, 0xa6, 0xe1, 0xbd, 0xac, 0x13, 0xe7, 0x17, 0xc7, 0xa8,
3651	0x91, 0x94, 0x50, 0x22, 0x8f, 0x8c, 0xf2, 0xb3, 0x20, 0x32, 0x34, 0x99, 0xf3, 0x93, 0x15, 0x65,
3652	0x13, 0xce, 0x25, 0x84, 0x8f, 0x64, 0x93, 0x65, 0x38, 0xf7, 0x08, 0xfb, 0xd4, 0x99, 0x1a, 0xfe,
3653	0xb8, 0x87, 0x3d, 0x9f, 0x30, 0xfb, 0xe4, 0x37, 0x3f, 0x80, 0xfd, 0x50, 0xdf, 0x48, 0x80, 0xbe,
3654	0xef, 0xb4, 0x74, 0x1f, 0xc7, 0x98, 0x6f, 0x45, 0x99, 0xe5, 0xea, 0x85, 0x8c, 0x40, 0xe1, 0xa7,
3655	0xa0, 0x0d, 0x90, 0x7b, 0xf4, 0x10, 0x9a, 0x04, 0x14, 0x8e, 0x48, 0xd7, 0x6f, 0x91, 0x3c, 0x79,
3656	0xaa, 0x7b, 0x1d, 0x0d, 0x18, 0x3b, 0xf9, 0x56, 0x9b, 0x70, 0x76, 0x97, 0x69, 0x3e, 0x10, 0x2a,
3657	0xda, 0x80, 0x02, 0x37, 0x6f, 0xe0, 0xbf, 0xab, 0x43, 0xfc, 0xa7, 0x85, 0x1b, 0xd4, 0x2a, 0x9c,
3658	0x0b, 0x85, 0x78, 0x8e, 0x6d, 0x79, 0x18, 0x5d, 0x05, 0xb9, 0xef, 0xc0, 0x20, 0xb7, 0x20, 0xf4,
3659	0xa0, 0xa7, 0x1a, 0x30, 0xf3, 0xc4, 0xf0, 0x98, 0x15, 0xbd, 0x00, 0x5b, 0x11, 0xce, 0x38, 0xae,
3660	0xfd, 0x11, 0x6e, 0xfa, 0x1c, 0x5d, 0xf0, 0x13, 0x5d, 0x84, 0x09, 0x87, 0x66, 0x87, 0xf1, 0x29,
3661	0xf3, 0xc8, 0x69, 0xad, 0x40, 0x16, 0xf6, 0x8c, 0x4f, 0x31, 0x89, 0x16, 0x4a, 0xf4, 0xed, 0x0e,
3662	0xb6, 0x82, 0x68, 0x21, 0x2b, 0xcf, 0xc8, 0x82, 0xda, 0x05, 0x14, 0x15, 0xc5, 0x11, 0x56, 0x60,
3663	0x9c, 0xaa, 0xce, 0xc0, 0x0d, 0x70, 0x03, 0x67, 0x43, 0x4b, 0x70, 0xce, 0xc2, 0xaf, 0xfc, 0x7a,
3664	0x44, 0x14, 0x0b, 0x8d, 0x29, 0xb2, 0xbc, 0x1b, 0x8a, 0xfb, 0x18, 0x2e, 0x87, 0xe2, 0xf6, 0x7a,
3665	0x0d, 0xaf, 0xe9, 0x1a, 0x0e, 0x2d, 0x8f, 0x83, 0x3d, 0x70, 0x12, 0x0d, 0x2d, 0xb8, 0x92, 0x25,
3666	0x92, 0x6b, 0xbb, 0x08, 0x53, 0x5e, 0x94, 0xc0, 0x3d, 0x12, 0x5f, 0x3c, 0xb2, 0x8a, 0x5d, 0x98,
3667	0xef, 0xcb, 0xb3, 0x74, 0xc7, 0x7b, 0x69, 0xfb, 0xef, 0x50, 0xbd, 0x06, 0x28, 0x22, 0x71, 0x5c,
3668	0xb5, 0x4b, 0x30, 0xe1, 0x05, 0x8b, 0x5c, 0xad, 0xfe, 0xc2, 0x91, 0x55, 0x2a, 0x01, 0xda, 0xc1,
3669	0x26, 0x4e, 0xa4, 0xaa, 0x38, 0xaf, 0xbf, 0x18, 0x83, 0xc9, 0xa8, 0x99, 0x85, 0xfd, 0x20, 0xdc,
3670	0x9a, 0x8b, 0x9a, 0x61, 0x13, 0x64, 0xa7, 0xe7, 0xbd, 0xac, 0x37, 0x6d, 0x6b, 0xdf, 0x68, 0xf3,
3671	0xc2, 0x75, 0x49, 0x94, 0x6a, 0xde, 0xcb, 0x07, 0x94, 0x47, 0x03, 0x27, 0xfc, 0x46, 0x6b, 0x30,
3672	0xab, 0x37, 0x3b, 0xf5, 0x16, 0xd6, 0x5b, 0xa6, 0x61, 0xe1, 0xba, 0x87, 0x9b, 0xb6, 0xd5, 0xf2,
3673	0x8a, 0xa7, 0xa9, 0x41, 0x91, 0xde, 0xec, 0xec, 0x70, 0xd2, 0x1e, 0xa3, 0xa0, 0x2a, 0xcc, 0xb9,
3674	0xd8, 0xd7, 0x0d, 0xab, 0xae, 0x37, 0x3b, 0xb8, 0x55, 0x0f, 0xb3, 0xfc, 0xcc, 0x82, 0xb4, 0x52,
3675	0xd0, 0xbe, 0xc6, 0x88, 0x5b, 0x84, 0xc6, 0x13, 0xdb, 0x43, 0x3f, 0x00, 0x25, 0x48, 0x5e, 0x17,
3676	0xfb, 0xd8, 0x22, 0x3a, 0xd6, 0x83, 0x26, 0x5e, 0x2c, 0x50, 0xcc, 0xf3, 0xa9, 0x02, 0xb4, 0xc3,
3677	0x19, 0xb4, 0x22, 0xdf, 0xac, 0x05, 0x7b, 0x03, 0x0a, 0xda, 0x0e, 0x7b, 0xe4, 0x04, 0xcd, 0xb9,
3678	0x52, 0x5a, 0xf1, 0xa8, 0x5d, 0x85, 0xad, 0xf2, 0x43, 0x98, 0xc1, 0xaf, 0x1c, 0x83, 0x9d, 0x18,
3679	0x74, 0x49, 0x99, 0x62, 0x52, 0xd3, 0xc7, 0x3d, 0x0c, 0x59, 0x79, 0x87, 0x9c, 0xc6, 0x89, 0x95,
3680	0x93, 0x74, 0xc7, 0xfb, 0x30, 0x9d, 0x14, 0x80, 0x56, 0x21, 0xef, 0xfb, 0x26, 0xaf, 0xed, 0x03,
3681	0xac, 0x44, 0xb8, 0xd4, 0x3f, 0x4b, 0x00, 0x7d, 0x57, 0xa3, 0xeb, 0x30, 0x45, 0xa3, 0x03, 0x5b,
3682	0x2d, 0xc7, 0x36, 0xac, 0xa0, 0x0a, 0x4e, 0x92, 0xc5, 0x87, 0x7c, 0x0d, 0x3d, 0x11, 0x34, 0xdb,
3683	0x9b, 0x83, 0x22, 0x68, 0x50, 0xa7, 0x3d, 0x69, 0x2f, 0x6c, 0xc2, 0x39, 0x0d, 0x37, 0xb1, 0x71,
3684	0x10, 0x86, 0x0f, 0x9a, 0x83, 0x71, 0x12, 0xa3, 0x46, 0x2b, 0x48, 0x1a, 0xbd, 0xd9, 0x79, 0xdc,
3685	0x42, 0x77, 0xe1, 0x0c, 0x8f, 0x0b, 0xde, 0xc2, 0x86, 0x36, 0x98, 0x80, 0x5f, 0xfd, 0x26, 0x9c,
3686	0x7f, 0x84, 0xfd, 0x68, 0x64, 0x04, 0xf9, 0xa9, 0xc2, 0x64, 0xb4, 0x82, 0x05, 0xf6, 0x8a, 0xae,
3687	0xa9, 0x5f, 0x49, 0x30, 0xcf, 0xba, 0xb0, 0xe8, 0x84, 0x6d, 0xc1, 0x09, 0x72, 0xf5, 0xca, 0xe0,
3688	0xc0, 0x8c, 0x4b, 0x38, 0x59, 0x87, 0x76, 0xa0, 0x48, 0x8a, 0x9b, 0xb0, 0x53, 0xbc, 0x9b, 0x7e,
3689	0xf8, 0x0b, 0x89, 0x95, 0x6f, 0x71, 0xa7, 0xd8, 0x11, 0x75, 0x8a, 0xe1, 0x16, 0x39, 0x66, 0x27,
3690	0xb9, 0x0f, 0xf3, 0xac, 0xec, 0x1e, 0xd7, 0xbb, 0x3f, 0x81, 0x0b, 0x4f, 0xed, 0x96, 0xb1, 0x7f,
3691	0x18, 0xa9, 0x98, 0x47, 0xdf, 0x9e, 0xac, 0xc7, 0xb9, 0xd1, 0xea, 0xb1, 0xfa, 0xb9, 0x04, 0xf2,
3692	0x6e, 0xcf, 0x34, 0x47, 0x11, 0x79, 0x0b, 0x90, 0x8b, 0xfd, 0x9e, 0x6b, 0xd5, 0x8d, 0x6e, 0x17,
3693	0xb7, 0x0c, 0xdd, 0xc7, 0xe6, 0x21, 0x95, 0x5c, 0xd0, 0x66, 0x18, 0xe5, 0x71, 0x9f, 0x80, 0xae,
3694	0xc1, 0x64, 0x57, 0x7f, 0xd5, 0xaf, 0xdb, 0x79, 0xea, 0x6c, 0xb9, 0xab, 0xbf, 0x0a, 0xea, 0xb5,
3695	0xfa, 0x23, 0x98, 0x64, 0x20, 0xb8, 0x0b, 0xbf, 0x0b, 0x33, 0x2e, 0x4f, 0xca, 0xfe, 0x3e, 0xe6,
3696	0xc6, 0x6b, 0x69, 0xd5, 0x12, 0xf9, 0xab, 0x4d, 0xbb, 0xf1, 0x05, 0x8f, 0x04, 0x4c, 0x91, 0x19,
3697	0x79, 0xab, 0xdf, 0x60, 0x46, 0x51, 0xf9, 0x02, 0x9c, 0x61, 0x25, 0xc1, 0x2b, 0x8e, 0xd1, 0x06,
3698	0x3d, 0x4e, 0x6b, 0x82, 0x97, 0xd9, 0xcf, 0xf2, 0x59, 0xfd, 0x4c, 0xfd, 0x1e, 0xa0, 0xad, 0x66,
3699	0xc7, 0xb2, 0x3f, 0x31, 0x71, 0xab, 0x7d, 0x5c, 0x10, 0xb9, 0x28, 0x08, 0xf5, 0x67, 0x39, 0x98,
3700	0xdd, 0xf3, 0x5d, 0xac, 0x77, 0x0d, 0xab, 0x3d, 0xaa, 0x37, 0xb3, 0x4e, 0x45, 0x77, 0xe0, 0x42,
3701	0x97, 0xda, 0x4c, 0xa4, 0x5d, 0x7e, 0xe5, 0xb4, 0x36, 0xc7, 0xc8, 0xc9, 0x86, 0xfd, 0x5e, 0x7a,
3702	0x5f, 0xdc, 0x76, 0xb3, 0xf1, 0x7d, 0x5b, 0x4c, 0xdc, 0x26, 0x5c, 0xf4, 0xa8, 0x0e, 0xf5, 0x01,
3703	0x17, 0x84, 0x22, 0x63, 0xd9, 0x4a, 0x9b, 0xb5, 0x0d, 0x73, 0x09, 0x13, 0xbc, 0xa3, 0x58, 0xfa,
3704	0xbb, 0x04, 0x73, 0x0f, 0x5c, 0x4c, 0xaa, 0x31, 0xbf, 0xa3, 0x05, 0xd6, 0x16, 0x5d, 0xa2, 0x92,
3705	0x1e, 0xc8, 0x09, 0x3c, 0xf0, 0x9d, 0xf0, 0x52, 0x91, 0xa7, 0xb0, 0x6e, 0xa7, 0x61, 0x09, 0x05,
3706	0x8a, 0x6e, 0x17, 0x27, 0xb9, 0x0c, 0xbc, 0x95, 0x60, 0x8e, 0xf7, 0x99, 0x84, 0x66, 0x77, 0xa0,
3707	0x10, 0x5c, 0x48, 0x79, 0x7f, 0x51, 0x04, 0xd5, 0x34, 0xd8, 0x14, 0xf2, 0x9e, 0xac, 0xaf, 0xfc,
3708	0x4b, 0x82, 0x42, 0x70, 0xe6, 0x08, 0x17, 0xd4, 0x0d, 0x90, 0xe9, 0x0d, 0x09, 0xb3, 0xc9, 0x3a,
3709	0x3f, 0x74, 0xb2, 0x06, 0xc6, 0x4e, 0x16, 0xd0, 0xbd, 0xd0, 0x15, 0x63, 0xd4, 0x15, 0x4b, 0xd9,
3710	0x6a, 0xfe, 0xbf, 0xad, 0xbf, 0x06, 0x88, 0xdc, 0x11, 0x12, 0x96, 0x57, 0x12, 0x96, 0x9f, 0xe8,
3711	0x5b, 0x57, 0x35, 0x61, 0x96, 0x76, 0xc1, 0xe4, 0xfc, 0xf2, 0x6e, 0x9a, 0xee, 0x21, 0xcc, 0x25,
3712	0xa4, 0xf1, 0x04, 0x7b, 0x3f, 0x39, 0xbe, 0x0c, 0x8e, 0x8e, 0x63, 0x8c, 0x36, 0xb7, 0x61, 0x8e,
3713	0xf7, 0xd8, 0x11, 0xac, 0xf3, 0x4b, 0x09, 0xe4, 0x3d, 0x8c, 0x3b, 0xa3, 0xd4, 0xc2, 0x35, 0x18,
3714	0xa3, 0x41, 0x93, 0x1b, 0x16, 0x34, 0x1f, 0x9c, 0xd2, 0x28, 0x27, 0xba, 0x14, 0x41, 0x40, 0x4d,
3715	0xf6, 0xc1, 0xa9, 0x3e, 0x86, 0xed, 0x02, 0x8c, 0xfb, 0xba, 0xdb, 0xc6, 0xbe, 0x7a, 0x16, 0x26,
3716	0x19, 0x18, 0x66, 0xb4, 0xea, 0x5f, 0x0a, 0x30, 0xc1, 0x9f, 0x1c, 0xb0, 0x8b, 0x3e, 0x02, 0x99,
3717	0x65, 0x38, 0x7b, 0x9d, 0xcb, 0x9a, 0xe4, 0x95, 0x2c, 0x82, 0x7a, 0xe3, 0xb3, 0xbf, 0xfd, 0xe3,
3718	0x37, 0xb9, 0xeb, 0xca, 0x95, 0xca, 0xc1, 0x7a, 0xe5, 0xc7, 0x24, 0x3b, 0x36, 0xb9, 0xcf, 0xbd,
3719	0x4a, 0xa9, 0xc2, 0xe6, 0xff, 0x4a, 0xe9, 0x75, 0x4d, 0x2a, 0xa1, 0xd7, 0x20, 0x47, 0x9e, 0x74,
3720	0xd0, 0x62, 0xfa, 0xc8, 0xf4, 0x8b, 0x4f, 0xb6, 0xe0, 0x0a, 0x15, 0x7c, 0xa3, 0xba, 0x48, 0x05,
3721	0x53, 0x41, 0xe5, 0x81, 0xe2, 0x3f, 0x93, 0xe0, 0x0c, 0x57, 0x1c, 0x2d, 0x08, 0x2f, 0xd0, 0x91,
3722	0xb7, 0x1e, 0xe5, 0xda, 0x00, 0x0e, 0x66, 0x49, 0xb5, 0x4a, 0x11, 0xdc, 0x54, 0x97, 0xfb, 0x08,
3723	0xc4, 0xc2, 0xf9, 0x03, 0x1a, 0x01, 0x61, 0x43, 0x21, 0x78, 0x00, 0x43, 0x02, 0x11, 0x89, 0xc7,
3724	0xb1, 0x6c, 0xed, 0x97, 0xa9, 0xec, 0x6b, 0xe8, 0xea, 0x10, 0xd9, 0xe8, 0x8d, 0x04, 0xd0, 0x7f,
3725	0xc2, 0x41, 0x82, 0xa7, 0xd5, 0xd4, 0x5b, 0x92, 0xb2, 0x38, 0x98, 0x89, 0xab, 0x1f, 0x87, 0xc0,
3726	0x85, 0x47, 0x40, 0xbc, 0xe6, 0x28, 0xd0, 0x9f, 0x24, 0x38, 0x2f, 0x7e, 0x63, 0x41, 0x95, 0x01,
3727	0x92, 0x44, 0xd7, 0x7a, 0x65, 0xed, 0xe8, 0x1b, 0x38, 0xcc, 0xf7, 0x28, 0xcc, 0x0a, 0xba, 0x35,
3728	0xc4, 0x52, 0x95, 0xf8, 0x2d, 0xfc, 0x77, 0x52, 0xe4, 0xe9, 0x2b, 0x2c, 0x3d, 0x68, 0x75, 0x90,
3729	0xfc, 0x44, 0x39, 0x54, 0x6e, 0x1e, 0x8d, 0x99, 0x03, 0x5d, 0xa7, 0x40, 0x57, 0xd1, 0x8d, 0xa1,
3730	0x40, 0x43, 0x34, 0x3e, 0xc8, 0x91, 0x97, 0x17, 0x51, 0x46, 0xa5, 0x1f, 0x66, 0x94, 0xf3, 0xa9,
3731	0xe2, 0xf2, 0xb0, 0xeb, 0xf8, 0x87, 0x81, 0x3f, 0x4b, 0xc3, 0x42, 0xaa, 0xfa, 0xdf, 0x19, 0x00,
3732	0x6e, 0xeb, 0x06, 0x76, 0xd1, 0x17, 0x12, 0x20, 0x7e, 0x4b, 0x88, 0x56, 0xb4, 0x21, 0x53, 0x8f,
3733	0x32, 0x84, 0xae, 0xae, 0x51, 0x38, 0x25, 0xe5, 0xeb, 0xc2, 0xc2, 0x12, 0x73, 0x16, 0x4f, 0xf0,
3734	0x5f, 0x4b, 0xf4, 0x75, 0x39, 0x86, 0x62, 0x45, 0x98, 0x63, 0x82, 0x89, 0x69, 0x28, 0x9e, 0x78,
3735	0x1c, 0x45, 0xe5, 0x0f, 0xc2, 0x85, 0x7e, 0x1b, 0x3e, 0x64, 0xc7, 0x70, 0xad, 0x66, 0x15, 0xbf,
3736	0xe3, 0x40, 0xdb, 0xa4, 0xd0, 0xbe, 0x51, 0xad, 0xa6, 0xa0, 0x95, 0x8f, 0x62, 0xb7, 0xaf, 0x24,
3737	0xf6, 0xa0, 0x1c, 0x4f, 0xcd, 0x92, 0x38, 0x78, 0x85, 0x59, 0xb9, 0x7a, 0x24, 0x5e, 0x1e, 0xe7,
3738	0x65, 0x8a, 0x76, 0x05, 0x2d, 0x65, 0xd6, 0x8d, 0x78, 0x26, 0xfe, 0x4a, 0x0a, 0xde, 0x17, 0x87,
3739	0x59, 0x30, 0x73, 0x1c, 0xce, 0x8c, 0x79, 0xee, 0xd4, 0xd2, 0x88, 0x4e, 0xfd, 0xbd, 0x04, 0x33,
3740	0xa9, 0xa9, 0x4e, 0x64, 0xb1, 0xac, 0xd1, 0x2f, 0x13, 0xd0, 0xb7, 0x29, 0xa0, 0x1d, 0xf5, 0xfe,
3741	0x48, 0x80, 0x6a, 0xdd, 0xa4, 0x1c, 0xe2, 0xd7, 0x2f, 0x25, 0x90, 0x23, 0x03, 0x9f, 0xa8, 0x3c,
3742	0xa4, 0xe7, 0xc1, 0x4c, 0x64, 0x3b, 0x14, 0xd9, 0x3d, 0xf5, 0xee, 0x68, 0xc8, 0xf4, 0xbe, 0x04,
3743	0x82, 0xe9, 0xe7, 0x12, 0x8c, 0x91, 0x21, 0x09, 0x5d, 0x16, 0xf5, 0xd7, 0x70, 0x7e, 0x14, 0x85,
3744	0x7c, 0x74, 0xb6, 0x0a, 0x42, 0x5e, 0xad, 0x8e, 0x86, 0xc6, 0xe9, 0x99, 0x26, 0x81, 0xb1, 0x0f,
3745	0x53, 0xb1, 0x99, 0x0d, 0x89, 0xae, 0xdb, 0x82, 0xb9, 0x56, 0x59, 0x1e, 0xca, 0xc7, 0x01, 0x9e,
3746	0x5a, 0x91, 0xd6, 0x24, 0x92, 0xfd, 0xd3, 0xc9, 0x37, 0x16, 0x74, 0x23, 0x2b, 0x4e, 0x52, 0xef,
3747	0x30, 0x99, 0xce, 0x78, 0x4c, 0xd5, 0x7f, 0xa0, 0xde, 0x3b, 0x4e, 0x98, 0xf4, 0xc5, 0x10, 0x53,
3748	0xfc, 0x14, 0xe4, 0xc8, 0xed, 0x5f, 0x14, 0x24, 0xe9, 0xe1, 0x40, 0x19, 0x70, 0xcd, 0x56, 0x6f,
3749	0x51, 0x6c, 0xcb, 0x88, 0x15, 0xee, 0xa0, 0x59, 0xc5, 0x70, 0x05, 0x0d, 0x8c, 0xe4, 0xd2, 0x5b,
3750	0x09, 0xa6, 0x62, 0xd7, 0x7b, 0x91, 0x2f, 0x44, 0xd3, 0x86, 0xc8, 0x17, 0xc2, 0x39, 0x41, 0x2d,
3751	0x51, 0x44, 0x8b, 0x48, 0xcd, 0xae, 0x38, 0xa1, 0xf0, 0xcf, 0x25, 0x38, 0x1b, 0x9f, 0x79, 0xd1,
3752	0xf2, 0x11, 0xa7, 0xe2, 0x81, 0x56, 0xb9, 0x49, 0x31, 0x2c, 0x29, 0xd7, 0xc4, 0xed, 0x2c, 0x62,
3753	0x11, 0xe2, 0x94, 0xb7, 0x12, 0x9c, 0x8d, 0x0f, 0xc4, 0x22, 0x14, 0xc2, 0x91, 0x79, 0x20, 0x0a,
3754	0x5e, 0xef, 0xaa, 0xa5, 0x98, 0x6f, 0xca, 0xc3, 0xe0, 0xbc, 0x91, 0xe0, 0x6c, 0x7c, 0x0e, 0x12,
3755	0xc1, 0x11, 0x4e, 0x4a, 0x99, 0x21, 0xcc, 0xc3, 0xa4, 0x74, 0xc4, 0x30, 0x21, 0x85, 0x83, 0xcc,
3756	0x31, 0xa2, 0xc2, 0x11, 0x19, 0xb6, 0x84, 0xbd, 0x32, 0x32, 0xfe, 0x1c, 0xb7, 0x70, 0x78, 0x18,
3757	0x77, 0x6a, 0x52, 0x69, 0xfb, 0x8f, 0x12, 0xcc, 0x36, 0xed, 0x6e, 0x4a, 0xc8, 0xb6, 0xcc, 0x1e,
3758	0xe0, 0x77, 0x89, 0x92, 0xbb, 0xd2, 0x0f, 0xef, 0x70, 0x86, 0xb6, 0x6d, 0xea, 0x56, 0xbb, 0x6c,
3759	0xbb, 0xed, 0x4a, 0x1b, 0x5b, 0xd4, 0x04, 0x15, 0x46, 0xd2, 0x1d, 0xc3, 0xeb, 0xff, 0x6d, 0x64,
3760	0x83, 0x7d, 0xfd, 0x47, 0x92, 0xfe, 0x90, 0x3b, 0xff, 0x88, 0xed, 0x7d, 0x60, 0xda, 0xbd, 0x16,
3761	0x99, 0x3a, 0xf6, 0x7a, 0x8d, 0xf2, 0xf3, 0xf5, 0xbf, 0x06, 0x84, 0x17, 0x94, 0xf0, 0x82, 0x11,
3762	0x5e, 0x3c, 0x5f, 0xff, 0x67, 0x6e, 0x9e, 0x11, 0x6a, 0x35, 0x4a, 0xa9, 0xd5, 0x18, 0xa9, 0x56,
3763	0x7b, 0xbe, 0xde, 0x18, 0xa7, 0x32, 0x6f, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x9f, 0xd8, 0x13,
3764	0x5a, 0xa9, 0x22, 0x00, 0x00,
3765}
3766