google-cloud-pubsub-v1 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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