google-iam-v2 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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