google-cloud-pubsub 0.27.2 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +2 -2
- data/lib/google-cloud-pubsub.rb +13 -10
- data/lib/google/cloud/pubsub.rb +31 -33
- data/lib/google/cloud/pubsub/credentials.rb +31 -5
- data/lib/google/cloud/pubsub/project.rb +6 -5
- data/lib/google/cloud/pubsub/service.rb +2 -2
- data/lib/google/cloud/pubsub/snapshot.rb +1 -1
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +14 -1
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +26 -1
- data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +43 -1
- data/lib/google/cloud/pubsub/v1/doc/overview.rb +75 -0
- data/lib/google/cloud/pubsub/v1/publisher_client.rb +163 -107
- data/lib/google/cloud/pubsub/v1/publisher_client_config.json +9 -4
- data/lib/google/cloud/pubsub/v1/subscriber_client.rb +237 -205
- data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +6 -1
- data/lib/google/cloud/pubsub/version.rb +1 -1
- data/lib/google/pubsub/v1/pubsub_pb.rb +14 -1
- data/lib/google/pubsub/v1/pubsub_services_pb.rb +18 -0
- metadata +10 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 786c0d9e552987a0743be14c13240519f55fd1d65d18a7dc7462b9d5ce80d33d
|
4
|
+
data.tar.gz: 2238dfa68394d90617cced8cd2053761ccf53dc5533049c2b06cfb37a12b5c85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4516e62d4c349e53febc8a632b4aeff7f92633de0050ff2109bab6c64f9b4b8808cac44965c9654a32447dfd9d40ae58cddf82e1810f9cb9d89ff8c9bf5d1615
|
7
|
+
data.tar.gz: b553b1e011d2b8e8610e2404c1e9a4a6fec921f2435b60c41b3399582d2d6f67e89ccd14adf09f72615cef6735d0551f777f29ac659cd1dee29e7c5fc7c53aac
|
data/README.md
CHANGED
@@ -24,8 +24,8 @@ Instructions and configuration options are covered in the [Authentication Guide]
|
|
24
24
|
require "google/cloud/pubsub"
|
25
25
|
|
26
26
|
pubsub = Google::Cloud::Pubsub.new(
|
27
|
-
|
28
|
-
|
27
|
+
project_id: "my-project",
|
28
|
+
credentials: "/path/to/keyfile.json"
|
29
29
|
)
|
30
30
|
|
31
31
|
# Retrieve a topic
|
data/lib/google-cloud-pubsub.rb
CHANGED
@@ -13,9 +13,9 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
##
|
16
|
-
# This file is here to be autorequired by bundler, so that the
|
17
|
-
# #
|
18
|
-
# be loaded until required and used.
|
16
|
+
# This file is here to be autorequired by bundler, so that the
|
17
|
+
# Google::Cloud.pubsub and Google::Cloud#pubsub methods can be available, but
|
18
|
+
# the library and all dependencies won't be loaded until required and used.
|
19
19
|
|
20
20
|
|
21
21
|
gem "google-cloud-core"
|
@@ -72,10 +72,12 @@ module Google
|
|
72
72
|
# For more information on connecting to Google Cloud see the [Authentication
|
73
73
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
74
74
|
#
|
75
|
-
# @param [String]
|
76
|
-
# connecting to.
|
77
|
-
#
|
78
|
-
#
|
75
|
+
# @param [String] project_id Project identifier for the Pub/Sub service you
|
76
|
+
# are connecting to. If not present, the default project for the
|
77
|
+
# credentials is used.
|
78
|
+
# @param [String, Hash, Google::Auth::Credentials] credentials The path to
|
79
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
80
|
+
# Google::Auth::Credentials object. (See {Pubsub::Credentials})
|
79
81
|
# @param [String, Array<String>] scope The OAuth 2.0 scopes controlling the
|
80
82
|
# set of resources and operations that the connection can access. See
|
81
83
|
# [Using OAuth 2.0 to Access Google
|
@@ -98,10 +100,11 @@ module Google
|
|
98
100
|
# topic = pubsub.topic "my-topic"
|
99
101
|
# topic.publish "task completed"
|
100
102
|
#
|
101
|
-
def self.pubsub
|
102
|
-
client_config: nil
|
103
|
+
def self.pubsub project_id = nil, credentials = nil, scope: nil,
|
104
|
+
timeout: nil, client_config: nil
|
103
105
|
require "google/cloud/pubsub"
|
104
|
-
Google::Cloud::Pubsub.new
|
106
|
+
Google::Cloud::Pubsub.new project_id: project_id,
|
107
|
+
credentials: credentials,
|
105
108
|
scope: scope, timeout: timeout,
|
106
109
|
client_config: client_config
|
107
110
|
end
|
data/lib/google/cloud/pubsub.rb
CHANGED
@@ -425,11 +425,11 @@ module Google
|
|
425
425
|
# ```ruby
|
426
426
|
# require "google/cloud/pubsub"
|
427
427
|
#
|
428
|
-
# pubsub = Google::Cloud::Pubsub.new # my-project
|
428
|
+
# pubsub = Google::Cloud::Pubsub.new # my-project
|
429
429
|
#
|
430
430
|
# # Get a topic in the current project
|
431
431
|
# my_topic = pubsub.topic "my-topic"
|
432
|
-
# my_topic.name #=> "projects/my-project
|
432
|
+
# my_topic.name #=> "projects/my-project/topics/my-topic"
|
433
433
|
# # Get a topic in another project
|
434
434
|
# other_topic = pubsub.topic "other-topic", project: "other-project-id"
|
435
435
|
# other_topic.name #=> "projects/other-project-id/topics/other-topic"
|
@@ -441,14 +441,14 @@ module Google
|
|
441
441
|
# ```ruby
|
442
442
|
# require "google/cloud/pubsub"
|
443
443
|
#
|
444
|
-
# pubsub = Google::Cloud::Pubsub.new # my-project
|
444
|
+
# pubsub = Google::Cloud::Pubsub.new # my-project
|
445
445
|
#
|
446
446
|
# # Get a topic in another project
|
447
447
|
# topic = pubsub.topic "other-topic", project: "other-project-id"
|
448
448
|
# # Create a subscription in the current project that pulls from
|
449
449
|
# # the topic in another project
|
450
450
|
# sub = topic.subscribe "my-sub"
|
451
|
-
# sub.name #=> "projects/my-project
|
451
|
+
# sub.name #=> "projects/my-project/subscriptions/my-sub"
|
452
452
|
# sub.topic.name #=> "projects/other-project-id/topics/other-topic"
|
453
453
|
# ```
|
454
454
|
#
|
@@ -489,10 +489,12 @@ module Google
|
|
489
489
|
# [Authentication
|
490
490
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
491
491
|
#
|
492
|
-
# @param [String]
|
493
|
-
# are connecting to.
|
494
|
-
#
|
495
|
-
#
|
492
|
+
# @param [String] project_id Project identifier for the Pub/Sub service
|
493
|
+
# you are connecting to. If not present, the default project for the
|
494
|
+
# credentials is used.
|
495
|
+
# @param [String, Hash, Google::Auth::Credentials] credentials The path to
|
496
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
497
|
+
# Google::Auth::Credentials object. (See {Pubsub::Credentials})
|
496
498
|
# @param [String, Array<String>] scope The OAuth 2.0 scopes controlling
|
497
499
|
# the set of resources and operations that the connection can access.
|
498
500
|
# See [Using OAuth 2.0 to Access Google
|
@@ -506,6 +508,9 @@ module Google
|
|
506
508
|
# behavior of the API client. Optional.
|
507
509
|
# @param [String] emulator_host Pub/Sub emulator host. Optional.
|
508
510
|
# If the param is nil, ENV["PUBSUB_EMULATOR_HOST"] will be used.
|
511
|
+
# @param [String] project Alias for the `project_id` argument. Deprecated.
|
512
|
+
# @param [String] keyfile Alias for the `credentials` argument.
|
513
|
+
# Deprecated.
|
509
514
|
#
|
510
515
|
# @return [Google::Cloud::Pubsub::Project]
|
511
516
|
#
|
@@ -517,37 +522,30 @@ module Google
|
|
517
522
|
# topic = pubsub.topic "my-topic"
|
518
523
|
# topic.publish "task completed"
|
519
524
|
#
|
520
|
-
def self.new
|
521
|
-
client_config: nil, emulator_host: nil
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
+
def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil,
|
526
|
+
client_config: nil, emulator_host: nil, project: nil,
|
527
|
+
keyfile: nil
|
528
|
+
project_id ||= (project || Pubsub::Project.default_project_id)
|
529
|
+
project_id = project_id.to_s # Always cast to a string
|
530
|
+
fail ArgumentError, "project_id is missing" if project_id.empty?
|
525
531
|
|
526
532
|
emulator_host ||= ENV["PUBSUB_EMULATOR_HOST"]
|
527
533
|
if emulator_host
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
return ps
|
534
|
+
return Pubsub::Project.new(
|
535
|
+
Pubsub::Service.new(
|
536
|
+
project_id, :this_channel_is_insecure,
|
537
|
+
host: emulator_host))
|
533
538
|
end
|
534
539
|
|
535
|
-
credentials
|
536
|
-
|
537
|
-
|
538
|
-
Google::Cloud::Pubsub::Service.new(
|
539
|
-
project, credentials, timeout: timeout,
|
540
|
-
client_config: client_config))
|
541
|
-
end
|
542
|
-
|
543
|
-
##
|
544
|
-
# @private
|
545
|
-
def self.credentials_with_scope keyfile, scope
|
546
|
-
if keyfile.nil?
|
547
|
-
Google::Cloud::Pubsub::Credentials.default(scope: scope)
|
548
|
-
else
|
549
|
-
Google::Cloud::Pubsub::Credentials.new(keyfile, scope: scope)
|
540
|
+
credentials ||= (keyfile || Pubsub::Credentials.default(scope: scope))
|
541
|
+
unless credentials.is_a? Google::Auth::Credentials
|
542
|
+
credentials = Pubsub::Credentials.new credentials, scope: scope
|
550
543
|
end
|
544
|
+
|
545
|
+
Pubsub::Project.new(
|
546
|
+
Pubsub::Service.new(
|
547
|
+
project_id, credentials, timeout: timeout,
|
548
|
+
client_config: client_config))
|
551
549
|
end
|
552
550
|
end
|
553
551
|
end
|
@@ -13,18 +13,44 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
|
16
|
-
require "
|
16
|
+
require "googleauth"
|
17
17
|
|
18
18
|
module Google
|
19
19
|
module Cloud
|
20
20
|
module Pubsub
|
21
21
|
##
|
22
|
-
#
|
23
|
-
|
22
|
+
# # Credentials
|
23
|
+
#
|
24
|
+
# Represents the authentication and authorization used to connect to the
|
25
|
+
# Pub/Sub API.
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# require "google/cloud/pubsub"
|
29
|
+
#
|
30
|
+
# keyfile = "/path/to/keyfile.json"
|
31
|
+
# creds = Google::Cloud::Pubsub::Credentials.new keyfile
|
32
|
+
#
|
33
|
+
# pubsub = Google::Cloud::Pubsub.new(
|
34
|
+
# project_id: "my-project",
|
35
|
+
# credentials: creds
|
36
|
+
# )
|
37
|
+
#
|
38
|
+
# pubsub.project_id #=> "my-project"
|
39
|
+
#
|
40
|
+
class Credentials < Google::Auth::Credentials
|
24
41
|
SCOPE = ["https://www.googleapis.com/auth/pubsub"]
|
25
|
-
PATH_ENV_VARS = %w(
|
26
|
-
|
42
|
+
PATH_ENV_VARS = %w(PUBSUB_CREDENTIALS
|
43
|
+
PUBSUB_KEYFILE
|
44
|
+
GOOGLE_CLOUD_CREDENTIALS
|
45
|
+
GOOGLE_CLOUD_KEYFILE
|
46
|
+
GCLOUD_KEYFILE)
|
47
|
+
JSON_ENV_VARS = %w(PUBSUB_CREDENTIALS_JSON
|
48
|
+
PUBSUB_KEYFILE_JSON
|
49
|
+
GOOGLE_CLOUD_CREDENTIALS_JSON
|
50
|
+
GOOGLE_CLOUD_KEYFILE_JSON
|
27
51
|
GCLOUD_KEYFILE_JSON)
|
52
|
+
DEFAULT_PATHS = \
|
53
|
+
["~/.config/gcloud/application_default_credentials.json"]
|
28
54
|
end
|
29
55
|
end
|
30
56
|
end
|
@@ -62,19 +62,20 @@ module Google
|
|
62
62
|
# require "google/cloud/pubsub"
|
63
63
|
#
|
64
64
|
# pubsub = Google::Cloud::Pubsub.new(
|
65
|
-
#
|
66
|
-
#
|
65
|
+
# project_id: "my-project",
|
66
|
+
# credentials: "/path/to/keyfile.json"
|
67
67
|
# )
|
68
68
|
#
|
69
|
-
# pubsub.
|
69
|
+
# pubsub.project_id #=> "my-project"
|
70
70
|
#
|
71
|
-
def
|
71
|
+
def project_id
|
72
72
|
service.project
|
73
73
|
end
|
74
|
+
alias_method :project, :project_id
|
74
75
|
|
75
76
|
##
|
76
77
|
# @private Default project.
|
77
|
-
def self.
|
78
|
+
def self.default_project_id
|
78
79
|
ENV["PUBSUB_PROJECT"] ||
|
79
80
|
ENV["GOOGLE_CLOUD_PROJECT"] ||
|
80
81
|
ENV["GCLOUD_PROJECT"] ||
|
@@ -63,7 +63,7 @@ module Google
|
|
63
63
|
@subscriber ||= begin
|
64
64
|
V1::SubscriberClient.new(
|
65
65
|
service_path: host,
|
66
|
-
|
66
|
+
credentials: channel,
|
67
67
|
timeout: timeout,
|
68
68
|
client_config: client_config,
|
69
69
|
lib_name: "gccl",
|
@@ -77,7 +77,7 @@ module Google
|
|
77
77
|
@publisher ||= begin
|
78
78
|
V1::PublisherClient.new(
|
79
79
|
service_path: host,
|
80
|
-
|
80
|
+
credentials: channel,
|
81
81
|
timeout: timeout,
|
82
82
|
lib_name: "gccl",
|
83
83
|
lib_version: Google::Cloud::Pubsub::VERSION)
|
@@ -21,6 +21,8 @@ module Google
|
|
21
21
|
# two Timestamp values is a Duration and it can be added or subtracted
|
22
22
|
# from a Timestamp. Range is approximately +-10,000 years.
|
23
23
|
#
|
24
|
+
# = Examples
|
25
|
+
#
|
24
26
|
# Example 1: Compute Duration from two Timestamps in pseudo code.
|
25
27
|
#
|
26
28
|
# Timestamp start = ...;
|
@@ -60,10 +62,21 @@ module Google
|
|
60
62
|
# td = datetime.timedelta(days=3, minutes=10)
|
61
63
|
# duration = Duration()
|
62
64
|
# duration.FromTimedelta(td)
|
65
|
+
#
|
66
|
+
# = JSON Mapping
|
67
|
+
#
|
68
|
+
# In JSON format, the Duration type is encoded as a string rather than an
|
69
|
+
# object, where the string ends in the suffix "s" (indicating seconds) and
|
70
|
+
# is preceded by the number of seconds, with nanoseconds expressed as
|
71
|
+
# fractional seconds. For example, 3 seconds with 0 nanoseconds should be
|
72
|
+
# encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
|
73
|
+
# be expressed in JSON format as "3.000000001s", and 3 seconds and 1
|
74
|
+
# microsecond should be expressed in JSON format as "3.000001s".
|
63
75
|
# @!attribute [rw] seconds
|
64
76
|
# @return [Integer]
|
65
77
|
# Signed seconds of the span of time. Must be from -315,576,000,000
|
66
|
-
# to +315,576,000,000 inclusive.
|
78
|
+
# to +315,576,000,000 inclusive. Note: these bounds are computed from:
|
79
|
+
# 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
|
67
80
|
# @!attribute [rw] nanos
|
68
81
|
# @return [Integer]
|
69
82
|
# Signed fractions of a second at nanosecond resolution of the span
|
@@ -24,7 +24,9 @@ module Google
|
|
24
24
|
# 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
|
25
25
|
# By restricting to that range, we ensure that we can convert to
|
26
26
|
# and from RFC 3339 date strings.
|
27
|
-
# See
|
27
|
+
# See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
|
28
|
+
#
|
29
|
+
# = Examples
|
28
30
|
#
|
29
31
|
# Example 1: Compute Timestamp from POSIX +time()+.
|
30
32
|
#
|
@@ -65,6 +67,29 @@ module Google
|
|
65
67
|
#
|
66
68
|
# timestamp = Timestamp()
|
67
69
|
# timestamp.GetCurrentTime()
|
70
|
+
#
|
71
|
+
# = JSON Mapping
|
72
|
+
#
|
73
|
+
# In JSON format, the Timestamp type is encoded as a string in the
|
74
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
|
75
|
+
# format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
|
76
|
+
# where {year} is always expressed using four digits while {month}, {day},
|
77
|
+
# {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
|
78
|
+
# seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
|
79
|
+
# are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
|
80
|
+
# is required, though only UTC (as indicated by "Z") is presently supported.
|
81
|
+
#
|
82
|
+
# For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
|
83
|
+
# 01:30 UTC on January 15, 2017.
|
84
|
+
#
|
85
|
+
# In JavaScript, one can convert a Date object to this format using the
|
86
|
+
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]
|
87
|
+
# method. In Python, a standard +datetime.datetime+ object can be converted
|
88
|
+
# to this format using [+strftime+](https://docs.python.org/2/library/time.html#time.strftime)
|
89
|
+
# with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
|
90
|
+
# can use the Joda Time's [+ISODateTimeFormat.dateTime()+](
|
91
|
+
# http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime())
|
92
|
+
# to obtain a formatter capable of generating timestamps in this format.
|
68
93
|
# @!attribute [rw] seconds
|
69
94
|
# @return [Integer]
|
70
95
|
# Represents seconds of UTC time since Unix epoch
|
@@ -14,6 +14,19 @@
|
|
14
14
|
|
15
15
|
module Google
|
16
16
|
module Pubsub
|
17
|
+
##
|
18
|
+
# # Google Cloud Pub/Sub API Contents
|
19
|
+
#
|
20
|
+
# | Class | Description |
|
21
|
+
# | ----- | ----------- |
|
22
|
+
# | [PublisherClient][] | Provides reliable, many-to-many, asynchronous messaging between applications. |
|
23
|
+
# | [SubscriberClient][] | Provides reliable, many-to-many, asynchronous messaging between applications. |
|
24
|
+
# | [Data Types][] | Data types for Google::Cloud::Pubsub::V1 |
|
25
|
+
#
|
26
|
+
# [PublisherClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-pubsub/latest/google/pubsub/v1/publisherclient
|
27
|
+
# [SubscriberClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-pubsub/latest/google/pubsub/v1/subscriberclient
|
28
|
+
# [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-pubsub/latest/google/pubsub/v1/datatypes
|
29
|
+
#
|
17
30
|
module V1
|
18
31
|
# A topic resource.
|
19
32
|
# @!attribute [rw] name
|
@@ -24,6 +37,9 @@ module Google
|
|
24
37
|
# underscores (+_+), periods (+.+), tildes (+~+), plus (+++) or percent
|
25
38
|
# signs (+%+). It must be between 3 and 255 characters in length, and it
|
26
39
|
# must not start with +"goog"+.
|
40
|
+
# @!attribute [rw] labels
|
41
|
+
# @return [Hash{String => String}]
|
42
|
+
# User labels.
|
27
43
|
class Topic; end
|
28
44
|
|
29
45
|
# A message data and its attributes. The message payload must not be empty;
|
@@ -54,6 +70,16 @@ module Google
|
|
54
70
|
# Format is +projects/{project}/topics/{topic}+.
|
55
71
|
class GetTopicRequest; end
|
56
72
|
|
73
|
+
# Request for the UpdateTopic method.
|
74
|
+
# @!attribute [rw] topic
|
75
|
+
# @return [Google::Pubsub::V1::Topic]
|
76
|
+
# The topic to update.
|
77
|
+
# @!attribute [rw] update_mask
|
78
|
+
# @return [Google::Protobuf::FieldMask]
|
79
|
+
# Indicates which fields in the provided topic to update.
|
80
|
+
# Must be specified and non-empty.
|
81
|
+
class UpdateTopicRequest; end
|
82
|
+
|
57
83
|
# Request for the Publish method.
|
58
84
|
# @!attribute [rw] topic
|
59
85
|
# @return [String]
|
@@ -185,6 +211,9 @@ module Google
|
|
185
211
|
# of acknowledged messages, and thus configures how far back in time a +Seek+
|
186
212
|
# can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
|
187
213
|
# minutes.
|
214
|
+
# @!attribute [rw] labels
|
215
|
+
# @return [Hash{String => String}]
|
216
|
+
# User labels.
|
188
217
|
class Subscription; end
|
189
218
|
|
190
219
|
# Configuration for a push delivery endpoint.
|
@@ -421,6 +450,16 @@ module Google
|
|
421
450
|
# Format is +projects/{project}/subscriptions/{sub}+.
|
422
451
|
class CreateSnapshotRequest; end
|
423
452
|
|
453
|
+
# Request for the UpdateSnapshot method.
|
454
|
+
# @!attribute [rw] snapshot
|
455
|
+
# @return [Google::Pubsub::V1::Snapshot]
|
456
|
+
# The updated snpashot object.
|
457
|
+
# @!attribute [rw] update_mask
|
458
|
+
# @return [Google::Protobuf::FieldMask]
|
459
|
+
# Indicates which fields in the provided snapshot to update.
|
460
|
+
# Must be specified and non-empty.
|
461
|
+
class UpdateSnapshotRequest; end
|
462
|
+
|
424
463
|
# A snapshot resource.
|
425
464
|
# @!attribute [rw] name
|
426
465
|
# @return [String]
|
@@ -428,7 +467,7 @@ module Google
|
|
428
467
|
# @!attribute [rw] topic
|
429
468
|
# @return [String]
|
430
469
|
# The name of the topic from which this snapshot is retaining messages.
|
431
|
-
# @!attribute [rw]
|
470
|
+
# @!attribute [rw] expire_time
|
432
471
|
# @return [Google::Protobuf::Timestamp]
|
433
472
|
# The snapshot is guaranteed to exist up until this time.
|
434
473
|
# A newly-created snapshot expires no later than 7 days from the time of its
|
@@ -439,6 +478,9 @@ module Google
|
|
439
478
|
# old. If a snapshot is created from this subscription, the snapshot -- which
|
440
479
|
# will always capture this 3-day-old backlog as long as the snapshot
|
441
480
|
# exists -- will expire in 4 days.
|
481
|
+
# @!attribute [rw] labels
|
482
|
+
# @return [Hash{String => String}]
|
483
|
+
# User labels.
|
442
484
|
class Snapshot; end
|
443
485
|
|
444
486
|
# Request for the +ListSnapshots+ method.
|