google-cloud-pubsub-v1 0.1.0 → 0.3.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.
@@ -70,7 +70,16 @@ module Google
70
70
  # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
71
  #
72
72
  #
73
- # Example 5: Compute Timestamp from current time in Python.
73
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
74
+ #
75
+ # Instant now = Instant.now();
76
+ #
77
+ # Timestamp timestamp =
78
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
79
+ # .setNanos(now.getNano()).build();
80
+ #
81
+ #
82
+ # Example 6: Compute Timestamp from current time in Python.
74
83
  #
75
84
  # timestamp = Timestamp()
76
85
  # timestamp.GetCurrentTime()
@@ -34,6 +34,21 @@ module Google
34
34
  extend ::Google::Protobuf::MessageExts::ClassMethods
35
35
  end
36
36
 
37
+ # Settings for validating messages published against a schema.
38
+ # @!attribute [rw] schema
39
+ # @return [::String]
40
+ # Required. The name of the schema that messages published should be
41
+ # validated against. Format is `projects/{project}/schemas/{schema}`. The
42
+ # value of this field will be `_deleted-schema_` if the schema has been
43
+ # deleted.
44
+ # @!attribute [rw] encoding
45
+ # @return [::Google::Cloud::PubSub::V1::Encoding]
46
+ # The encoding of messages validated against `schema`.
47
+ class SchemaSettings
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
37
52
  # A topic resource.
38
53
  # @!attribute [rw] name
39
54
  # @return [::String]
@@ -45,8 +60,8 @@ module Google
45
60
  # must not start with `"goog"`.
46
61
  # @!attribute [rw] labels
47
62
  # @return [::Google::Protobuf::Map{::String => ::String}]
48
- # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
49
- # managing labels</a>.
63
+ # See [Creating and managing labels]
64
+ # (https://cloud.google.com/pubsub/docs/labels).
50
65
  # @!attribute [rw] message_storage_policy
51
66
  # @return [::Google::Cloud::PubSub::V1::MessageStoragePolicy]
52
67
  # Policy constraining the set of Google Cloud Platform regions where messages
@@ -58,6 +73,15 @@ module Google
58
73
  # to messages published on this topic.
59
74
  #
60
75
  # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
76
+ # @!attribute [rw] schema_settings
77
+ # @return [::Google::Cloud::PubSub::V1::SchemaSettings]
78
+ # Settings for validating messages published against a schema.
79
+ #
80
+ # EXPERIMENTAL: Schema support is in development and may not work yet.
81
+ # @!attribute [rw] satisfies_pzs
82
+ # @return [::Boolean]
83
+ # Reserved for future use. This field is set only in responses from the
84
+ # server; it is ignored if it is set in any requests.
61
85
  class Topic
62
86
  include ::Google::Protobuf::MessageExts
63
87
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -75,11 +99,11 @@ module Google
75
99
  # A message that is published by publishers and consumed by subscribers. The
76
100
  # message must contain either a non-empty data field or at least one attribute.
77
101
  # Note that client libraries represent this object differently
78
- # depending on the language. See the corresponding
79
- # <a href="https://cloud.google.com/pubsub/docs/reference/libraries">client
80
- # library documentation</a> for more information. See
81
- # <a href="https://cloud.google.com/pubsub/quotas">Quotas and limits</a>
82
- # for more information about message limits.
102
+ # depending on the language. See the corresponding [client library
103
+ # documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for
104
+ # more information. See [quotas and limits]
105
+ # (https://cloud.google.com/pubsub/quotas) for more information about message
106
+ # limits.
83
107
  # @!attribute [rw] data
84
108
  # @return [::String]
85
109
  # The message data field. If this field is empty, the message must contain
@@ -108,9 +132,6 @@ module Google
108
132
  # delivered to subscribers in the order in which they are received by the
109
133
  # Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest`
110
134
  # must specify the same `ordering_key` value.
111
- # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
112
- # API might be changed in backward-incompatible ways and is not recommended
113
- # for production use. It is not subject to any SLA or deprecation policy.
114
135
  class PubsubMessage
115
136
  include ::Google::Protobuf::MessageExts
116
137
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -343,10 +364,8 @@ module Google
343
364
  # Indicates whether to retain acknowledged messages. If true, then
344
365
  # messages are not expunged from the subscription's backlog, even if they are
345
366
  # acknowledged, until they fall out of the `message_retention_duration`
346
- # window. This must be true if you would like to
347
- # <a
348
- # href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
349
- # Seek to a timestamp</a>.
367
+ # window. This must be true if you would like to [Seek to a timestamp]
368
+ # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
350
369
  # @!attribute [rw] message_retention_duration
351
370
  # @return [::Google::Protobuf::Duration]
352
371
  # How long to retain unacknowledged messages in the subscription's backlog,
@@ -365,9 +384,6 @@ module Google
365
384
  # will be delivered to the subscribers in the order in which they
366
385
  # are received by the Pub/Sub system. Otherwise, they may be delivered in
367
386
  # any order.
368
- # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
369
- # API might be changed in backward-incompatible ways and is not recommended
370
- # for production use. It is not subject to any SLA or deprecation policy.
371
387
  # @!attribute [rw] expiration_policy
372
388
  # @return [::Google::Cloud::PubSub::V1::ExpirationPolicy]
373
389
  # A policy that specifies the conditions for this subscription's expiration.
@@ -893,11 +909,10 @@ module Google
893
909
  end
894
910
 
895
911
  # A snapshot resource. Snapshots are used in
896
- # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
897
- # operations, which allow
898
- # you to manage message acknowledgments in bulk. That is, you can set the
899
- # acknowledgment state of messages in an existing subscription to the state
900
- # captured by a snapshot.
912
+ # [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
913
+ # operations, which allow you to manage message acknowledgments in bulk. That
914
+ # is, you can set the acknowledgment state of messages in an existing
915
+ # subscription to the state captured by a snapshot.
901
916
  # @!attribute [rw] name
902
917
  # @return [::String]
903
918
  # The name of the snapshot.
@@ -918,8 +933,8 @@ module Google
918
933
  # snapshot that would expire in less than 1 hour after creation.
919
934
  # @!attribute [rw] labels
920
935
  # @return [::Google::Protobuf::Map{::String => ::String}]
921
- # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
922
- # managing labels</a>.
936
+ # See [Creating and managing labels]
937
+ # (https://cloud.google.com/pubsub/docs/labels).
923
938
  class Snapshot
924
939
  include ::Google::Protobuf::MessageExts
925
940
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,216 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module PubSub
23
+ module V1
24
+ # A schema resource.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. Name of the schema.
28
+ # Format is `projects/{project}/schemas/{schema}`.
29
+ # @!attribute [rw] type
30
+ # @return [::Google::Cloud::PubSub::V1::Schema::Type]
31
+ # The type of the schema definition.
32
+ # @!attribute [rw] definition
33
+ # @return [::String]
34
+ # The definition of the schema. This should contain a string representing
35
+ # the full definition of the schema that is a valid schema definition of
36
+ # the type specified in `type`.
37
+ class Schema
38
+ include ::Google::Protobuf::MessageExts
39
+ extend ::Google::Protobuf::MessageExts::ClassMethods
40
+
41
+ # Possible schema definition types.
42
+ module Type
43
+ # Default value. This value is unused.
44
+ TYPE_UNSPECIFIED = 0
45
+
46
+ # A Protocol Buffer schema definition.
47
+ PROTOCOL_BUFFER = 1
48
+
49
+ # An Avro schema definition.
50
+ AVRO = 2
51
+ end
52
+ end
53
+
54
+ # Request for the CreateSchema method.
55
+ # @!attribute [rw] parent
56
+ # @return [::String]
57
+ # Required. The name of the project in which to create the schema.
58
+ # Format is `projects/{project-id}`.
59
+ # @!attribute [rw] schema
60
+ # @return [::Google::Cloud::PubSub::V1::Schema]
61
+ # Required. The schema object to create.
62
+ #
63
+ # This schema's `name` parameter is ignored. The schema object returned
64
+ # by CreateSchema will have a `name` made using the given `parent` and
65
+ # `schema_id`.
66
+ # @!attribute [rw] schema_id
67
+ # @return [::String]
68
+ # The ID to use for the schema, which will become the final component of
69
+ # the schema's resource name.
70
+ #
71
+ # See https://cloud.google.com/pubsub/docs/admin#resource_names for resource
72
+ # name constraints.
73
+ class CreateSchemaRequest
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Request for the GetSchema method.
79
+ # @!attribute [rw] name
80
+ # @return [::String]
81
+ # Required. The name of the schema to get.
82
+ # Format is `projects/{project}/schemas/{schema}`.
83
+ # @!attribute [rw] view
84
+ # @return [::Google::Cloud::PubSub::V1::SchemaView]
85
+ # The set of fields to return in the response. If not set, returns a Schema
86
+ # with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all
87
+ # fields.
88
+ class GetSchemaRequest
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Request for the `ListSchemas` method.
94
+ # @!attribute [rw] parent
95
+ # @return [::String]
96
+ # Required. The name of the project in which to list schemas.
97
+ # Format is `projects/{project-id}`.
98
+ # @!attribute [rw] view
99
+ # @return [::Google::Cloud::PubSub::V1::SchemaView]
100
+ # The set of Schema fields to return in the response. If not set, returns
101
+ # Schemas with `name` and `type`, but not `definition`. Set to `FULL` to
102
+ # retrieve all fields.
103
+ # @!attribute [rw] page_size
104
+ # @return [::Integer]
105
+ # Maximum number of schemas to return.
106
+ # @!attribute [rw] page_token
107
+ # @return [::String]
108
+ # The value returned by the last `ListSchemasResponse`; indicates that
109
+ # this is a continuation of a prior `ListSchemas` call, and that the
110
+ # system should return the next page of data.
111
+ class ListSchemasRequest
112
+ include ::Google::Protobuf::MessageExts
113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
114
+ end
115
+
116
+ # Response for the `ListSchemas` method.
117
+ # @!attribute [rw] schemas
118
+ # @return [::Array<::Google::Cloud::PubSub::V1::Schema>]
119
+ # The resulting schemas.
120
+ # @!attribute [rw] next_page_token
121
+ # @return [::String]
122
+ # If not empty, indicates that there may be more schemas that match the
123
+ # request; this value should be passed in a new `ListSchemasRequest`.
124
+ class ListSchemasResponse
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
129
+ # Request for the `DeleteSchema` method.
130
+ # @!attribute [rw] name
131
+ # @return [::String]
132
+ # Required. Name of the schema to delete.
133
+ # Format is `projects/{project}/schemas/{schema}`.
134
+ class DeleteSchemaRequest
135
+ include ::Google::Protobuf::MessageExts
136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
137
+ end
138
+
139
+ # Request for the `ValidateSchema` method.
140
+ # @!attribute [rw] parent
141
+ # @return [::String]
142
+ # Required. The name of the project in which to validate schemas.
143
+ # Format is `projects/{project-id}`.
144
+ # @!attribute [rw] schema
145
+ # @return [::Google::Cloud::PubSub::V1::Schema]
146
+ # Required. The schema object to validate.
147
+ class ValidateSchemaRequest
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
152
+ # Response for the `ValidateSchema` method.
153
+ class ValidateSchemaResponse
154
+ include ::Google::Protobuf::MessageExts
155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
156
+ end
157
+
158
+ # Request for the `ValidateMessage` method.
159
+ # @!attribute [rw] parent
160
+ # @return [::String]
161
+ # Required. The name of the project in which to validate schemas.
162
+ # Format is `projects/{project-id}`.
163
+ # @!attribute [rw] name
164
+ # @return [::String]
165
+ # Name of the schema against which to validate.
166
+ #
167
+ # Format is `projects/{project}/schemas/{schema}`.
168
+ # @!attribute [rw] schema
169
+ # @return [::Google::Cloud::PubSub::V1::Schema]
170
+ # Ad-hoc schema against which to validate
171
+ # @!attribute [rw] message
172
+ # @return [::String]
173
+ # Message to validate against the provided `schema_spec`.
174
+ # @!attribute [rw] encoding
175
+ # @return [::Google::Cloud::PubSub::V1::Encoding]
176
+ # The encoding expected for messages
177
+ class ValidateMessageRequest
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+
182
+ # Response for the `ValidateMessage` method.
183
+ class ValidateMessageResponse
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+
188
+ # View of Schema object fields to be returned by GetSchema and ListSchemas.
189
+ module SchemaView
190
+ # The default / unset value.
191
+ # The API will default to the BASIC view.
192
+ SCHEMA_VIEW_UNSPECIFIED = 0
193
+
194
+ # Include the name and type of the schema, but not the definition.
195
+ BASIC = 1
196
+
197
+ # Include all Schema object fields.
198
+ FULL = 2
199
+ end
200
+
201
+ # Possible encoding types for messages.
202
+ module Encoding
203
+ # Unspecified
204
+ ENCODING_UNSPECIFIED = 0
205
+
206
+ # JSON encoding
207
+ JSON = 1
208
+
209
+ # Binary encoding, as defined by the schema type. For some schema types,
210
+ # binary encoding may not be available.
211
+ BINARY = 2
212
+ end
213
+ end
214
+ end
215
+ end
216
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-03 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -171,7 +171,9 @@ dependencies:
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0.9'
173
173
  description: Cloud Pub/Sub is a fully-managed real-time messaging service that allows
174
- you to send and receive messages between independent applications.
174
+ you to send and receive messages between independent applications. Note that google-cloud-pubsub-v1
175
+ is a version-specific client library. For most uses, we recommend installing the
176
+ main client library google-cloud-pubsub instead. See the readme for more details.
175
177
  email: googleapis-packages@google.com
176
178
  executables: []
177
179
  extensions: []
@@ -191,6 +193,10 @@ files:
191
193
  - lib/google/cloud/pubsub/v1/publisher/credentials.rb
192
194
  - lib/google/cloud/pubsub/v1/publisher/helpers.rb
193
195
  - lib/google/cloud/pubsub/v1/publisher/paths.rb
196
+ - lib/google/cloud/pubsub/v1/schema_service.rb
197
+ - lib/google/cloud/pubsub/v1/schema_service/client.rb
198
+ - lib/google/cloud/pubsub/v1/schema_service/credentials.rb
199
+ - lib/google/cloud/pubsub/v1/schema_service/paths.rb
194
200
  - lib/google/cloud/pubsub/v1/subscriber.rb
195
201
  - lib/google/cloud/pubsub/v1/subscriber/client.rb
196
202
  - lib/google/cloud/pubsub/v1/subscriber/credentials.rb
@@ -200,6 +206,8 @@ files:
200
206
  - lib/google/iam/v1/iam_policy_services_pb.rb
201
207
  - lib/google/pubsub/v1/pubsub_pb.rb
202
208
  - lib/google/pubsub/v1/pubsub_services_pb.rb
209
+ - lib/google/pubsub/v1/schema_pb.rb
210
+ - lib/google/pubsub/v1/schema_services_pb.rb
203
211
  - proto_docs/README.md
204
212
  - proto_docs/google/api/field_behavior.rb
205
213
  - proto_docs/google/api/resource.rb
@@ -211,6 +219,7 @@ files:
211
219
  - proto_docs/google/protobuf/field_mask.rb
212
220
  - proto_docs/google/protobuf/timestamp.rb
213
221
  - proto_docs/google/pubsub/v1/pubsub.rb
222
+ - proto_docs/google/pubsub/v1/schema.rb
214
223
  - proto_docs/google/type/expr.rb
215
224
  homepage: https://github.com/googleapis/google-cloud-ruby
216
225
  licenses:
@@ -231,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
240
  - !ruby/object:Gem::Version
232
241
  version: '0'
233
242
  requirements: []
234
- rubygems_version: 3.1.3
243
+ rubygems_version: 3.2.6
235
244
  signing_key:
236
245
  specification_version: 4
237
246
  summary: API Client library for the Cloud Pub/Sub V1 API