google-cloud-pubsub-v1 0.1.2 → 0.6.1

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