google-cloud-pubsub-v1 0.1.2 → 0.6.1

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.
@@ -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]
@@ -58,6 +73,23 @@ 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
+ # @!attribute [rw] satisfies_pzs
80
+ # @return [::Boolean]
81
+ # Reserved for future use. This field is set only in responses from the
82
+ # server; it is ignored if it is set in any requests.
83
+ # @!attribute [rw] message_retention_duration
84
+ # @return [::Google::Protobuf::Duration]
85
+ # Indicates the minimum duration to retain a message after it is published to
86
+ # the topic. If this field is set, messages published to the topic in the
87
+ # last `message_retention_duration` are always available to subscribers. For
88
+ # instance, it allows any attached subscription to [seek to a
89
+ # timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time)
90
+ # that is up to `message_retention_duration` in the past. If this field is
91
+ # not set, message retention is controlled by settings on individual
92
+ # subscriptions. Cannot be more than 7 days or less than 10 minutes.
61
93
  class Topic
62
94
  include ::Google::Protobuf::MessageExts
63
95
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -340,8 +372,9 @@ module Google
340
372
  # Indicates whether to retain acknowledged messages. If true, then
341
373
  # messages are not expunged from the subscription's backlog, even if they are
342
374
  # acknowledged, until they fall out of the `message_retention_duration`
343
- # window. This must be true if you would like to [Seek to a timestamp]
344
- # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
375
+ # window. This must be true if you would like to [`Seek` to a timestamp]
376
+ # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
377
+ # the past to replay previously-acknowledged messages.
345
378
  # @!attribute [rw] message_retention_duration
346
379
  # @return [::Google::Protobuf::Duration]
347
380
  # How long to retain unacknowledged messages in the subscription's backlog,
@@ -401,6 +434,14 @@ module Google
401
434
  # backlog. `Pull` and `StreamingPull` requests will return
402
435
  # FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
403
436
  # the endpoint will not be made.
437
+ # @!attribute [r] topic_message_retention_duration
438
+ # @return [::Google::Protobuf::Duration]
439
+ # Output only. Indicates the minimum duration for which a message is retained
440
+ # after it is published to the subscription's topic. If this field is set,
441
+ # messages published to the subscription's topic in the last
442
+ # `topic_message_retention_duration` are always available to subscribers. See
443
+ # the `message_retention_duration` field in `Topic`. This field is set only
444
+ # in responses from the server; it is ignored if it is set in any requests.
404
445
  class Subscription
405
446
  include ::Google::Protobuf::MessageExts
406
447
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -828,9 +869,21 @@ module Google
828
869
  # @!attribute [rw] received_messages
829
870
  # @return [::Array<::Google::Cloud::PubSub::V1::ReceivedMessage>]
830
871
  # Received Pub/Sub messages. This will not be empty.
872
+ # @!attribute [rw] subscription_properties
873
+ # @return [::Google::Cloud::PubSub::V1::StreamingPullResponse::SubscriptionProperties]
874
+ # Properties associated with this subscription.
831
875
  class StreamingPullResponse
832
876
  include ::Google::Protobuf::MessageExts
833
877
  extend ::Google::Protobuf::MessageExts::ClassMethods
878
+
879
+ # Subscription properties sent as part of the response.
880
+ # @!attribute [rw] message_ordering_enabled
881
+ # @return [::Boolean]
882
+ # True iff message ordering is enabled for this subscription.
883
+ class SubscriptionProperties
884
+ include ::Google::Protobuf::MessageExts
885
+ extend ::Google::Protobuf::MessageExts::ClassMethods
886
+ end
834
887
  end
835
888
 
836
889
  # Request for the `CreateSnapshot` method.
@@ -0,0 +1,218 @@
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
+ # Empty for now.
154
+ class ValidateSchemaResponse
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # Request for the `ValidateMessage` method.
160
+ # @!attribute [rw] parent
161
+ # @return [::String]
162
+ # Required. The name of the project in which to validate schemas.
163
+ # Format is `projects/{project-id}`.
164
+ # @!attribute [rw] name
165
+ # @return [::String]
166
+ # Name of the schema against which to validate.
167
+ #
168
+ # Format is `projects/{project}/schemas/{schema}`.
169
+ # @!attribute [rw] schema
170
+ # @return [::Google::Cloud::PubSub::V1::Schema]
171
+ # Ad-hoc schema against which to validate
172
+ # @!attribute [rw] message
173
+ # @return [::String]
174
+ # Message to validate against the provided `schema_spec`.
175
+ # @!attribute [rw] encoding
176
+ # @return [::Google::Cloud::PubSub::V1::Encoding]
177
+ # The encoding expected for messages
178
+ class ValidateMessageRequest
179
+ include ::Google::Protobuf::MessageExts
180
+ extend ::Google::Protobuf::MessageExts::ClassMethods
181
+ end
182
+
183
+ # Response for the `ValidateMessage` method.
184
+ # Empty for now.
185
+ class ValidateMessageResponse
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # View of Schema object fields to be returned by GetSchema and ListSchemas.
191
+ module SchemaView
192
+ # The default / unset value.
193
+ # The API will default to the BASIC view.
194
+ SCHEMA_VIEW_UNSPECIFIED = 0
195
+
196
+ # Include the name and type of the schema, but not the definition.
197
+ BASIC = 1
198
+
199
+ # Include all Schema object fields.
200
+ FULL = 2
201
+ end
202
+
203
+ # Possible encoding types for messages.
204
+ module Encoding
205
+ # Unspecified
206
+ ENCODING_UNSPECIFIED = 0
207
+
208
+ # JSON encoding
209
+ JSON = 1
210
+
211
+ # Binary encoding, as defined by the schema type. For some schema types,
212
+ # binary encoding may not be available.
213
+ BINARY = 2
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
@@ -19,30 +19,53 @@
19
19
 
20
20
  module Google
21
21
  module Type
22
- # Represents an expression text. Example:
22
+ # Represents a textual expression in the Common Expression Language (CEL)
23
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
24
+ # are documented at https://github.com/google/cel-spec.
23
25
  #
24
- # title: "User account presence"
25
- # description: "Determines whether the request has a user account"
26
- # expression: "size(request.user) > 0"
26
+ # Example (Comparison):
27
+ #
28
+ # title: "Summary size limit"
29
+ # description: "Determines if a summary is less than 100 chars"
30
+ # expression: "document.summary.size() < 100"
31
+ #
32
+ # Example (Equality):
33
+ #
34
+ # title: "Requestor is owner"
35
+ # description: "Determines if requestor is the document owner"
36
+ # expression: "document.owner == request.auth.claims.email"
37
+ #
38
+ # Example (Logic):
39
+ #
40
+ # title: "Public documents"
41
+ # description: "Determine whether the document should be publicly visible"
42
+ # expression: "document.type != 'private' && document.type != 'internal'"
43
+ #
44
+ # Example (Data Manipulation):
45
+ #
46
+ # title: "Notification string"
47
+ # description: "Create a notification string with a timestamp."
48
+ # expression: "'New message received at ' + string(document.create_time)"
49
+ #
50
+ # The exact variables and functions that may be referenced within an expression
51
+ # are determined by the service that evaluates it. See the service
52
+ # documentation for additional information.
27
53
  # @!attribute [rw] expression
28
54
  # @return [::String]
29
- # Textual representation of an expression in
30
- # Common Expression Language syntax.
31
- #
32
- # The application context of the containing message determines which
33
- # well-known feature set of CEL is supported.
55
+ # Textual representation of an expression in Common Expression Language
56
+ # syntax.
34
57
  # @!attribute [rw] title
35
58
  # @return [::String]
36
- # An optional title for the expression, i.e. a short string describing
59
+ # Optional. Title for the expression, i.e. a short string describing
37
60
  # its purpose. This can be used e.g. in UIs which allow to enter the
38
61
  # expression.
39
62
  # @!attribute [rw] description
40
63
  # @return [::String]
41
- # An optional description of the expression. This is a longer text which
64
+ # Optional. Description of the expression. This is a longer text which
42
65
  # describes the expression, e.g. when hovered over it in a UI.
43
66
  # @!attribute [rw] location
44
67
  # @return [::String]
45
- # An optional string indicating the location of the expression for error
68
+ # Optional. String indicating the location of the expression for error
46
69
  # reporting, e.g. a file name and a position in the file.
47
70
  class Expr
48
71
  include ::Google::Protobuf::MessageExts
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.6.1
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-10 00:00:00.000000000 Z
11
+ date: 2021-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.7'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '0.3'
22
+ version: 2.a
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.7'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '0.3'
32
+ version: 2.a
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: google-cloud-errors
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +53,7 @@ dependencies:
47
53
  version: 0.6.10
48
54
  - - "<"
49
55
  - !ruby/object:Gem::Version
50
- version: '2.0'
56
+ version: 2.a
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,21 +63,21 @@ dependencies:
57
63
  version: 0.6.10
58
64
  - - "<"
59
65
  - !ruby/object:Gem::Version
60
- version: '2.0'
66
+ version: 2.a
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: google-style
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
71
  - - "~>"
66
72
  - !ruby/object:Gem::Version
67
- version: 1.24.0
73
+ version: 1.25.1
68
74
  type: :development
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
78
  - - "~>"
73
79
  - !ruby/object:Gem::Version
74
- version: 1.24.0
80
+ version: 1.25.1
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: minitest
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -171,7 +177,9 @@ dependencies:
171
177
  - !ruby/object:Gem::Version
172
178
  version: '0.9'
173
179
  description: Cloud Pub/Sub is a fully-managed real-time messaging service that allows
174
- you to send and receive messages between independent applications.
180
+ you to send and receive messages between independent applications. Note that google-cloud-pubsub-v1
181
+ is a version-specific client library. For most uses, we recommend installing the
182
+ main client library google-cloud-pubsub instead. See the readme for more details.
175
183
  email: googleapis-packages@google.com
176
184
  executables: []
177
185
  extensions: []
@@ -191,15 +199,20 @@ files:
191
199
  - lib/google/cloud/pubsub/v1/publisher/credentials.rb
192
200
  - lib/google/cloud/pubsub/v1/publisher/helpers.rb
193
201
  - lib/google/cloud/pubsub/v1/publisher/paths.rb
202
+ - lib/google/cloud/pubsub/v1/schema_service.rb
203
+ - lib/google/cloud/pubsub/v1/schema_service/client.rb
204
+ - lib/google/cloud/pubsub/v1/schema_service/credentials.rb
205
+ - lib/google/cloud/pubsub/v1/schema_service/paths.rb
194
206
  - lib/google/cloud/pubsub/v1/subscriber.rb
195
207
  - lib/google/cloud/pubsub/v1/subscriber/client.rb
196
208
  - lib/google/cloud/pubsub/v1/subscriber/credentials.rb
197
209
  - lib/google/cloud/pubsub/v1/subscriber/helpers.rb
198
210
  - lib/google/cloud/pubsub/v1/subscriber/paths.rb
199
211
  - lib/google/cloud/pubsub/v1/version.rb
200
- - lib/google/iam/v1/iam_policy_services_pb.rb
201
212
  - lib/google/pubsub/v1/pubsub_pb.rb
202
213
  - lib/google/pubsub/v1/pubsub_services_pb.rb
214
+ - lib/google/pubsub/v1/schema_pb.rb
215
+ - lib/google/pubsub/v1/schema_services_pb.rb
203
216
  - proto_docs/README.md
204
217
  - proto_docs/google/api/field_behavior.rb
205
218
  - proto_docs/google/api/resource.rb
@@ -211,6 +224,7 @@ files:
211
224
  - proto_docs/google/protobuf/field_mask.rb
212
225
  - proto_docs/google/protobuf/timestamp.rb
213
226
  - proto_docs/google/pubsub/v1/pubsub.rb
227
+ - proto_docs/google/pubsub/v1/schema.rb
214
228
  - proto_docs/google/type/expr.rb
215
229
  homepage: https://github.com/googleapis/google-cloud-ruby
216
230
  licenses:
@@ -224,14 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
224
238
  requirements:
225
239
  - - ">="
226
240
  - !ruby/object:Gem::Version
227
- version: '2.4'
241
+ version: '2.5'
228
242
  required_rubygems_version: !ruby/object:Gem::Requirement
229
243
  requirements:
230
244
  - - ">="
231
245
  - !ruby/object:Gem::Version
232
246
  version: '0'
233
247
  requirements: []
234
- rubygems_version: 3.1.3
248
+ rubygems_version: 3.2.17
235
249
  signing_key:
236
250
  specification_version: 4
237
251
  summary: API Client library for the Cloud Pub/Sub V1 API
@@ -1,81 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: google/iam/v1/iam_policy.proto for package 'google.iam.v1'
3
- # Original file comments:
4
- # Copyright 2019 Google LLC.
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- #
19
-
20
- require 'grpc'
21
- require 'google/iam/v1/iam_policy_pb'
22
-
23
- module Google
24
- module Iam
25
- module V1
26
- module IAMPolicy
27
- # ## API Overview
28
- #
29
- # Manages Identity and Access Management (IAM) policies.
30
- #
31
- # Any implementation of an API that offers access control features
32
- # implements the google.iam.v1.IAMPolicy interface.
33
- #
34
- # ## Data model
35
- #
36
- # Access control is applied when a principal (user or service account), takes
37
- # some action on a resource exposed by a service. Resources, identified by
38
- # URI-like names, are the unit of access control specification. Service
39
- # implementations can choose the granularity of access control and the
40
- # supported permissions for their resources.
41
- # For example one database service may allow access control to be
42
- # specified only at the Table level, whereas another might allow access control
43
- # to also be specified at the Column level.
44
- #
45
- # ## Policy Structure
46
- #
47
- # See google.iam.v1.Policy
48
- #
49
- # This is intentionally not a CRUD style API because access control policies
50
- # are created and deleted implicitly with the resources to which they are
51
- # attached.
52
- class Service
53
-
54
- include GRPC::GenericService
55
-
56
- self.marshal_class_method = :encode
57
- self.unmarshal_class_method = :decode
58
- self.service_name = 'google.iam.v1.IAMPolicy'
59
-
60
- # Sets the access control policy on the specified resource. Replaces any
61
- # existing policy.
62
- rpc :SetIamPolicy, Google::Iam::V1::SetIamPolicyRequest, Google::Iam::V1::Policy
63
- # Gets the access control policy for a resource.
64
- # Returns an empty policy if the resource exists and does not have a policy
65
- # set.
66
- rpc :GetIamPolicy, Google::Iam::V1::GetIamPolicyRequest, Google::Iam::V1::Policy
67
- # Returns permissions that a caller has on the specified resource.
68
- # If the resource does not exist, this will return an empty set of
69
- # permissions, not a NOT_FOUND error.
70
- #
71
- # Note: This operation is designed to be used for building permission-aware
72
- # UIs and command-line tools, not for authorization checking. This operation
73
- # may "fail open" without warning.
74
- rpc :TestIamPermissions, Google::Iam::V1::TestIamPermissionsRequest, Google::Iam::V1::TestIamPermissionsResponse
75
- end
76
-
77
- Stub = Service.rpc_stub_class
78
- end
79
- end
80
- end
81
- end