google-iam-v2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 Iam
22
+ module V2
23
+ # A deny rule in an IAM deny policy.
24
+ # @!attribute [rw] denied_principals
25
+ # @return [::Array<::String>]
26
+ # The identities that are prevented from using one or more permissions on
27
+ # Google Cloud resources. This field can contain the following values:
28
+ #
29
+ # * `principalSet://goog/public:all`: A special identifier that represents
30
+ # any principal that is on the internet, even if they do not have a Google
31
+ # Account or are not logged in.
32
+ #
33
+ # * `principal://goog/subject/{email_id}`: A specific Google Account.
34
+ # Includes Gmail, Cloud Identity, and Google Workspace user accounts. For
35
+ # example, `principal://goog/subject/alice@example.com`.
36
+ #
37
+ # * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
38
+ # Google Account that was deleted recently. For example,
39
+ # `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If
40
+ # the Google Account is recovered, this identifier reverts to the standard
41
+ # identifier for a Google Account.
42
+ #
43
+ # * `principalSet://goog/group/{group_id}`: A Google group. For example,
44
+ # `principalSet://goog/group/admins@example.com`.
45
+ #
46
+ # * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
47
+ # that was deleted recently. For example,
48
+ # `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If
49
+ # the Google group is restored, this identifier reverts to the standard
50
+ # identifier for a Google group.
51
+ #
52
+ # * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`:
53
+ # A Google Cloud service account. For example,
54
+ # `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`.
55
+ #
56
+ # * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`:
57
+ # A Google Cloud service account that was deleted recently. For example,
58
+ # `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`.
59
+ # If the service account is undeleted, this identifier reverts to the
60
+ # standard identifier for a service account.
61
+ #
62
+ # * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
63
+ # principals associated with the specified Google Workspace or Cloud
64
+ # Identity customer ID. For example,
65
+ # `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.
66
+ # @!attribute [rw] exception_principals
67
+ # @return [::Array<::String>]
68
+ # The identities that are excluded from the deny rule, even if they are
69
+ # listed in the `denied_principals`. For example, you could add a Google
70
+ # group to the `denied_principals`, then exclude specific users who belong to
71
+ # that group.
72
+ #
73
+ # This field can contain the same values as the `denied_principals` field,
74
+ # excluding `principalSet://goog/public:all`, which represents all users on
75
+ # the internet.
76
+ # @!attribute [rw] denied_permissions
77
+ # @return [::Array<::String>]
78
+ # The permissions that are explicitly denied by this rule. Each permission
79
+ # uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}`
80
+ # is the fully qualified domain name for the service. For example,
81
+ # `iam.googleapis.com/roles.list`.
82
+ # @!attribute [rw] exception_permissions
83
+ # @return [::Array<::String>]
84
+ # Specifies the permissions that this rule excludes from the set of denied
85
+ # permissions given by `denied_permissions`. If a permission appears in
86
+ # `denied_permissions` _and_ in `exception_permissions` then it will _not_ be
87
+ # denied.
88
+ #
89
+ # The excluded permissions can be specified using the same syntax as
90
+ # `denied_permissions`.
91
+ # @!attribute [rw] denial_condition
92
+ # @return [::Google::Type::Expr]
93
+ # The condition that determines whether this deny rule applies to a request.
94
+ # If the condition expression evaluates to `true`, then the deny rule is
95
+ # applied; otherwise, the deny rule is not applied.
96
+ #
97
+ # Each deny rule is evaluated independently. If this deny rule does not apply
98
+ # to a request, other deny rules might still apply.
99
+ #
100
+ # The condition can use CEL functions that evaluate
101
+ # [resource
102
+ # tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other
103
+ # functions and operators are not supported.
104
+ class DenyRule
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,313 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 Iam
22
+ module V2
23
+ # Data for an IAM policy.
24
+ # @!attribute [rw] name
25
+ # @return [::String]
26
+ # Immutable. The resource name of the `Policy`, which must be unique. Format:
27
+ # `policies/{attachment_point}/denypolicies/{policy_id}`
28
+ #
29
+ #
30
+ # The attachment point is identified by its URL-encoded full resource name,
31
+ # which means that the forward-slash character, `/`, must be written as
32
+ # `%2F`. For example,
33
+ # `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`.
34
+ #
35
+ # For organizations and folders, use the numeric ID in the full resource
36
+ # name. For projects, requests can use the alphanumeric or the numeric ID.
37
+ # Responses always contain the numeric ID.
38
+ # @!attribute [rw] uid
39
+ # @return [::String]
40
+ # Immutable. The globally unique ID of the `Policy`. Assigned automatically
41
+ # when the `Policy` is created.
42
+ # @!attribute [r] kind
43
+ # @return [::String]
44
+ # Output only. The kind of the `Policy`. Always contains the value
45
+ # `DenyPolicy`.
46
+ # @!attribute [rw] display_name
47
+ # @return [::String]
48
+ # A user-specified description of the `Policy`. This value can be up to 63
49
+ # characters.
50
+ # @!attribute [rw] annotations
51
+ # @return [::Google::Protobuf::Map{::String => ::String}]
52
+ # A key-value map to store arbitrary metadata for the `Policy`. Keys
53
+ # can be up to 63 characters. Values can be up to 255 characters.
54
+ # @!attribute [rw] etag
55
+ # @return [::String]
56
+ # An opaque tag that identifies the current version of the `Policy`. IAM uses
57
+ # this value to help manage concurrent updates, so they do not cause one
58
+ # update to be overwritten by another.
59
+ #
60
+ # If this field is present in a [CreatePolicy][] request, the value is
61
+ # ignored.
62
+ # @!attribute [r] create_time
63
+ # @return [::Google::Protobuf::Timestamp]
64
+ # Output only. The time when the `Policy` was created.
65
+ # @!attribute [r] update_time
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # Output only. The time when the `Policy` was last updated.
68
+ # @!attribute [r] delete_time
69
+ # @return [::Google::Protobuf::Timestamp]
70
+ # Output only. The time when the `Policy` was deleted. Empty if the policy is
71
+ # not deleted.
72
+ # @!attribute [rw] rules
73
+ # @return [::Array<::Google::Iam::V2::PolicyRule>]
74
+ # A list of rules that specify the behavior of the `Policy`. All of the rules
75
+ # should be of the `kind` specified in the `Policy`.
76
+ # @!attribute [rw] managing_authority
77
+ # @return [::String]
78
+ # Immutable. Specifies that this policy is managed by an authority and can
79
+ # only be modified by that authority. Usage is restricted.
80
+ class Policy
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+
84
+ # @!attribute [rw] key
85
+ # @return [::String]
86
+ # @!attribute [rw] value
87
+ # @return [::String]
88
+ class AnnotationsEntry
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+ end
93
+
94
+ # A single rule in a `Policy`.
95
+ # @!attribute [rw] deny_rule
96
+ # @return [::Google::Iam::V2::DenyRule]
97
+ # A rule for a deny policy.
98
+ # @!attribute [rw] description
99
+ # @return [::String]
100
+ # A user-specified description of the rule. This value can be up to 256
101
+ # characters.
102
+ class PolicyRule
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+ end
106
+
107
+ # Request message for `ListPolicies`.
108
+ # @!attribute [rw] parent
109
+ # @return [::String]
110
+ # Required. The resource that the policy is attached to, along with the kind
111
+ # of policy to list. Format: `policies/{attachment_point}/denypolicies`
112
+ #
113
+ #
114
+ # The attachment point is identified by its URL-encoded full resource name,
115
+ # which means that the forward-slash character, `/`, must be written as
116
+ # `%2F`. For example,
117
+ # `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`.
118
+ #
119
+ # For organizations and folders, use the numeric ID in the full resource
120
+ # name. For projects, you can use the alphanumeric or the numeric ID.
121
+ # @!attribute [rw] page_size
122
+ # @return [::Integer]
123
+ # The maximum number of policies to return. IAM ignores this value and uses
124
+ # the value 1000.
125
+ # @!attribute [rw] page_token
126
+ # @return [::String]
127
+ # A page token received in a
128
+ # {::Google::Iam::V2::ListPoliciesResponse ListPoliciesResponse}. Provide this
129
+ # token to retrieve the next page.
130
+ class ListPoliciesRequest
131
+ include ::Google::Protobuf::MessageExts
132
+ extend ::Google::Protobuf::MessageExts::ClassMethods
133
+ end
134
+
135
+ # Response message for `ListPolicies`.
136
+ # @!attribute [rw] policies
137
+ # @return [::Array<::Google::Iam::V2::Policy>]
138
+ # Metadata for the policies that are attached to the resource.
139
+ # @!attribute [rw] next_page_token
140
+ # @return [::String]
141
+ # A page token that you can use in a
142
+ # {::Google::Iam::V2::ListPoliciesRequest ListPoliciesRequest} to retrieve the
143
+ # next page. If this field is omitted, there are no additional pages.
144
+ class ListPoliciesResponse
145
+ include ::Google::Protobuf::MessageExts
146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
147
+ end
148
+
149
+ # Request message for `GetPolicy`.
150
+ # @!attribute [rw] name
151
+ # @return [::String]
152
+ # Required. The resource name of the policy to retrieve. Format:
153
+ # `policies/{attachment_point}/denypolicies/{policy_id}`
154
+ #
155
+ #
156
+ # Use the URL-encoded full resource name, which means that the forward-slash
157
+ # character, `/`, must be written as `%2F`. For example,
158
+ # `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`.
159
+ #
160
+ # For organizations and folders, use the numeric ID in the full resource
161
+ # name. For projects, you can use the alphanumeric or the numeric ID.
162
+ class GetPolicyRequest
163
+ include ::Google::Protobuf::MessageExts
164
+ extend ::Google::Protobuf::MessageExts::ClassMethods
165
+ end
166
+
167
+ # Request message for `CreatePolicy`.
168
+ # @!attribute [rw] parent
169
+ # @return [::String]
170
+ # Required. The resource that the policy is attached to, along with the kind
171
+ # of policy to create. Format: `policies/{attachment_point}/denypolicies`
172
+ #
173
+ #
174
+ # The attachment point is identified by its URL-encoded full resource name,
175
+ # which means that the forward-slash character, `/`, must be written as
176
+ # `%2F`. For example,
177
+ # `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`.
178
+ #
179
+ # For organizations and folders, use the numeric ID in the full resource
180
+ # name. For projects, you can use the alphanumeric or the numeric ID.
181
+ # @!attribute [rw] policy
182
+ # @return [::Google::Iam::V2::Policy]
183
+ # Required. The policy to create.
184
+ # @!attribute [rw] policy_id
185
+ # @return [::String]
186
+ # The ID to use for this policy, which will become the final component of
187
+ # the policy's resource name. The ID must contain 3 to 63 characters. It can
188
+ # contain lowercase letters and numbers, as well as dashes (`-`) and periods
189
+ # (`.`). The first character must be a lowercase letter.
190
+ class CreatePolicyRequest
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+ end
194
+
195
+ # Request message for `UpdatePolicy`.
196
+ # @!attribute [rw] policy
197
+ # @return [::Google::Iam::V2::Policy]
198
+ # Required. The policy to update.
199
+ #
200
+ # To prevent conflicting updates, the `etag` value must match the value that
201
+ # is stored in IAM. If the `etag` values do not match, the request fails with
202
+ # a `409` error code and `ABORTED` status.
203
+ class UpdatePolicyRequest
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Request message for `DeletePolicy`.
209
+ # @!attribute [rw] name
210
+ # @return [::String]
211
+ # Required. The resource name of the policy to delete. Format:
212
+ # `policies/{attachment_point}/denypolicies/{policy_id}`
213
+ #
214
+ #
215
+ # Use the URL-encoded full resource name, which means that the forward-slash
216
+ # character, `/`, must be written as `%2F`. For example,
217
+ # `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`.
218
+ #
219
+ # For organizations and folders, use the numeric ID in the full resource
220
+ # name. For projects, you can use the alphanumeric or the numeric ID.
221
+ # @!attribute [rw] etag
222
+ # @return [::String]
223
+ # Optional. The expected `etag` of the policy to delete. If the value does
224
+ # not match the value that is stored in IAM, the request fails with a `409`
225
+ # error code and `ABORTED` status.
226
+ #
227
+ # If you omit this field, the policy is deleted regardless of its current
228
+ # `etag`.
229
+ class DeletePolicyRequest
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # `ListApplicablePoliciesRequest` represents the Request message for the
235
+ # `ListApplicablePolicies` method. It provides the input for a filterable query
236
+ # of Policies that apply to a certain GCP Resource, specified by the field
237
+ # `attachment_point`, found on this message.
238
+ # Example:
239
+ # ```
240
+ # {
241
+ # attachment_point:
242
+ # 'cloudresourcemanager.googleapis.com%2Forganizations%2F212345678901'
243
+ # filter: 'kind:denyPolicies'
244
+ # }
245
+ # ```
246
+ # @!attribute [rw] attachment_point
247
+ # @return [::String]
248
+ # Required. The Cloud resource at which the applicable policies are to be
249
+ # retrieved. Format: `{attachment-point}` Use the URL-encoded full resource
250
+ # name, which means that the forward-slash character, `/`, must be written as
251
+ # `%2F`. For example,
252
+ # `cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project`.
253
+ # @!attribute [rw] filter
254
+ # @return [::String]
255
+ # Filtering currently only supports the kind of policies to return, and
256
+ # must be in the format “kind:[policyKind1] OR kind:[policyKind2]”. New
257
+ # policy kinds may be added in the future without notice.
258
+ #
259
+ # Example value: “kind:denyPolicies”
260
+ # @!attribute [rw] page_token
261
+ # @return [::String]
262
+ # If present, then retrieve the batch of results following the results from
263
+ # the preceding call to this method. `page_token` must be the value of
264
+ # `next_page_token`
265
+ # {::Google::Iam::V2::ListApplicablePoliciesResponse#next_page_token ListApplicablePoliciesResponse.next_page_token}
266
+ # from the previous response. The values of other method parameters should
267
+ # be identical to those in the previous call.
268
+ # @!attribute [rw] page_size
269
+ # @return [::Integer]
270
+ # Limit on the number of policies to include in the response.
271
+ # Further policies can subsequently be obtained by including the
272
+ # [ListApplicablePoliciesResponse.next_page_token][google.iam.admin.v1.ListApplicablePoliciesResponse.next_page_token]
273
+ # in a subsequent request.
274
+ # The minimum is 25, and the maximum is 100.
275
+ class ListApplicablePoliciesRequest
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+
280
+ # Response message for [ListApplicablePolicies][] method.
281
+ # @!attribute [rw] policies
282
+ # @return [::Array<::Google::Iam::V2::Policy>]
283
+ # Ordered list starting from the resource on which this API was called
284
+ # then proceeding up the hierarchy. Policies for the same attachment point
285
+ # will be grouped, but no further ordering is guaranteed.
286
+ # @!attribute [rw] inaccessible
287
+ # @return [::Array<::String>]
288
+ # A list of resources that the caller does not have permission to retrieve.
289
+ # List or Get can be used to get detailed error messages.
290
+ # Get: `policies/{attachment-point}/denypolicies/{policy-id}`
291
+ # List: `policies/{attachment-point}/denypolicies`
292
+ # @!attribute [rw] next_page_token
293
+ # @return [::String]
294
+ # A page token that can be used in a
295
+ # {::Google::Iam::V2::ListApplicablePoliciesRequest ListApplicablePoliciesRequest}
296
+ # to retrieve the next page. If this field is blank, there are no additional
297
+ # pages.
298
+ class ListApplicablePoliciesResponse
299
+ include ::Google::Protobuf::MessageExts
300
+ extend ::Google::Protobuf::MessageExts::ClassMethods
301
+ end
302
+
303
+ # Metadata for long-running `Policy` operations.
304
+ # @!attribute [rw] create_time
305
+ # @return [::Google::Protobuf::Timestamp]
306
+ # Timestamp when the `google.longrunning.Operation` was created.
307
+ class PolicyOperationMetadata
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+ end
312
+ end
313
+ end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 Longrunning
22
+ # This resource represents a long-running operation that is the result of a
23
+ # network API call.
24
+ # @!attribute [rw] name
25
+ # @return [::String]
26
+ # The server-assigned name, which is only unique within the same service that
27
+ # originally returns it. If you use the default HTTP mapping, the
28
+ # `name` should be a resource name ending with `operations/{unique_id}`.
29
+ # @!attribute [rw] metadata
30
+ # @return [::Google::Protobuf::Any]
31
+ # Service-specific metadata associated with the operation. It typically
32
+ # contains progress information and common metadata such as create time.
33
+ # Some services might not provide such metadata. Any method that returns a
34
+ # long-running operation should document the metadata type, if any.
35
+ # @!attribute [rw] done
36
+ # @return [::Boolean]
37
+ # If the value is `false`, it means the operation is still in progress.
38
+ # If `true`, the operation is completed, and either `error` or `response` is
39
+ # available.
40
+ # @!attribute [rw] error
41
+ # @return [::Google::Rpc::Status]
42
+ # The error result of the operation in case of failure or cancellation.
43
+ # @!attribute [rw] response
44
+ # @return [::Google::Protobuf::Any]
45
+ # The normal response of the operation in case of success. If the original
46
+ # method returns no data on success, such as `Delete`, the response is
47
+ # `google.protobuf.Empty`. If the original method is standard
48
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
49
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
50
+ # is the original method name. For example, if the original method name
51
+ # is `TakeSnapshot()`, the inferred response type is
52
+ # `TakeSnapshotResponse`.
53
+ class Operation
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # The request message for Operations.GetOperation.
59
+ # @!attribute [rw] name
60
+ # @return [::String]
61
+ # The name of the operation resource.
62
+ class GetOperationRequest
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # The request message for Operations.ListOperations.
68
+ # @!attribute [rw] name
69
+ # @return [::String]
70
+ # The name of the operation's parent resource.
71
+ # @!attribute [rw] filter
72
+ # @return [::String]
73
+ # The standard list filter.
74
+ # @!attribute [rw] page_size
75
+ # @return [::Integer]
76
+ # The standard list page size.
77
+ # @!attribute [rw] page_token
78
+ # @return [::String]
79
+ # The standard list page token.
80
+ class ListOperationsRequest
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+
85
+ # The response message for Operations.ListOperations.
86
+ # @!attribute [rw] operations
87
+ # @return [::Array<::Google::Longrunning::Operation>]
88
+ # A list of operations that matches the specified filter in the request.
89
+ # @!attribute [rw] next_page_token
90
+ # @return [::String]
91
+ # The standard List next-page token.
92
+ class ListOperationsResponse
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # The request message for Operations.CancelOperation.
98
+ # @!attribute [rw] name
99
+ # @return [::String]
100
+ # The name of the operation resource to be cancelled.
101
+ class CancelOperationRequest
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # The request message for Operations.DeleteOperation.
107
+ # @!attribute [rw] name
108
+ # @return [::String]
109
+ # The name of the operation resource to be deleted.
110
+ class DeleteOperationRequest
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+
115
+ # The request message for Operations.WaitOperation.
116
+ # @!attribute [rw] name
117
+ # @return [::String]
118
+ # The name of the operation resource to wait on.
119
+ # @!attribute [rw] timeout
120
+ # @return [::Google::Protobuf::Duration]
121
+ # The maximum duration to wait before timing out. If left blank, the wait
122
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
123
+ # If RPC context deadline is also specified, the shorter one will be used.
124
+ class WaitOperationRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
129
+ # A message representing the message types used by a long-running operation.
130
+ #
131
+ # Example:
132
+ #
133
+ # rpc LongRunningRecognize(LongRunningRecognizeRequest)
134
+ # returns (google.longrunning.Operation) {
135
+ # option (google.longrunning.operation_info) = {
136
+ # response_type: "LongRunningRecognizeResponse"
137
+ # metadata_type: "LongRunningRecognizeMetadata"
138
+ # };
139
+ # }
140
+ # @!attribute [rw] response_type
141
+ # @return [::String]
142
+ # Required. The message name of the primary return type for this
143
+ # long-running operation.
144
+ # This type will be used to deserialize the LRO's response.
145
+ #
146
+ # If the response is in a different package from the rpc, a fully-qualified
147
+ # message name must be used (e.g. `google.protobuf.Struct`).
148
+ #
149
+ # Note: Altering this value constitutes a breaking change.
150
+ # @!attribute [rw] metadata_type
151
+ # @return [::String]
152
+ # Required. The message name of the metadata type for this long-running
153
+ # operation.
154
+ #
155
+ # If the response is in a different package from the rpc, a fully-qualified
156
+ # message name must be used (e.g. `google.protobuf.Struct`).
157
+ #
158
+ # Note: Altering this value constitutes a breaking change.
159
+ class OperationInfo
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+ end
164
+ end