google-cloud-os_config-v1 0.5.0 → 0.9.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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/os_config/v1/os_config_service/client.rb +198 -27
  3. data/lib/google/cloud/os_config/v1/os_config_zonal_service/client.rb +1628 -0
  4. data/lib/google/cloud/os_config/v1/os_config_zonal_service/credentials.rb +51 -0
  5. data/lib/google/cloud/os_config/v1/os_config_zonal_service/operations.rb +767 -0
  6. data/lib/google/cloud/os_config/v1/os_config_zonal_service/paths.rb +192 -0
  7. data/lib/google/cloud/os_config/v1/os_config_zonal_service.rb +53 -0
  8. data/lib/google/cloud/os_config/v1/version.rb +1 -1
  9. data/lib/google/cloud/os_config/v1.rb +1 -0
  10. data/lib/google/cloud/osconfig/v1/inventory_pb.rb +37 -9
  11. data/lib/google/cloud/osconfig/v1/os_policy_assignment_reports_pb.rb +92 -0
  12. data/lib/google/cloud/osconfig/v1/os_policy_assignments_pb.rb +134 -0
  13. data/lib/google/cloud/osconfig/v1/os_policy_pb.rb +204 -0
  14. data/lib/google/cloud/osconfig/v1/osconfig_service_pb.rb +2 -2
  15. data/lib/google/cloud/osconfig/v1/osconfig_service_services_pb.rb +1 -1
  16. data/lib/google/cloud/osconfig/v1/osconfig_zonal_service_pb.rb +25 -0
  17. data/lib/google/cloud/osconfig/v1/osconfig_zonal_service_services_pb.rb +107 -0
  18. data/lib/google/cloud/osconfig/v1/patch_deployments_pb.rb +3 -2
  19. data/lib/google/cloud/osconfig/v1/patch_jobs_pb.rb +2 -2
  20. data/lib/google/cloud/osconfig/v1/vulnerability_pb.rb +127 -0
  21. data/proto_docs/google/cloud/osconfig/v1/inventory.rb +111 -20
  22. data/proto_docs/google/cloud/osconfig/v1/os_policy.rb +597 -0
  23. data/proto_docs/google/cloud/osconfig/v1/os_policy_assignment_reports.rb +293 -0
  24. data/proto_docs/google/cloud/osconfig/v1/os_policy_assignments.rb +392 -0
  25. data/proto_docs/google/cloud/osconfig/v1/patch_deployments.rb +4 -0
  26. data/proto_docs/google/cloud/osconfig/v1/vulnerability.rb +374 -0
  27. data/proto_docs/google/longrunning/operations.rb +164 -0
  28. data/proto_docs/google/protobuf/any.rb +141 -0
  29. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  30. data/proto_docs/google/rpc/status.rb +46 -0
  31. metadata +21 -2
@@ -130,6 +130,10 @@ module Google
130
130
  # Indicates that the frequency should be expressed in terms of
131
131
  # months.
132
132
  MONTHLY = 2
133
+
134
+ # Indicates that the frequency should be expressed in terms of
135
+ # days.
136
+ DAILY = 3
133
137
  end
134
138
  end
135
139
 
@@ -0,0 +1,374 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 OsConfig
23
+ module V1
24
+ # This API resource represents the vulnerability report for a specified
25
+ # Compute Engine virtual machine (VM) instance at a given point in time.
26
+ #
27
+ # For more information, see [Vulnerability
28
+ # reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).
29
+ # @!attribute [r] name
30
+ # @return [::String]
31
+ # Output only. The `vulnerabilityReport` API resource name.
32
+ #
33
+ # Format:
34
+ # `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
35
+ # @!attribute [r] vulnerabilities
36
+ # @return [::Array<::Google::Cloud::OsConfig::V1::VulnerabilityReport::Vulnerability>]
37
+ # Output only. List of vulnerabilities affecting the VM.
38
+ # @!attribute [r] update_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. The timestamp for when the last vulnerability report was generated for the
41
+ # VM.
42
+ class VulnerabilityReport
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+
46
+ # A vulnerability affecting the VM instance.
47
+ # @!attribute [rw] details
48
+ # @return [::Google::Cloud::OsConfig::V1::VulnerabilityReport::Vulnerability::Details]
49
+ # Contains metadata as per the upstream feed of the operating system and
50
+ # NVD.
51
+ # @!attribute [rw] installed_inventory_item_ids
52
+ # @return [::Array<::String>]
53
+ # Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM.
54
+ # This field displays the inventory items affected by this vulnerability.
55
+ # If the vulnerability report was not updated after the VM inventory
56
+ # update, these values might not display in VM inventory. For some distros,
57
+ # this field may be empty.
58
+ # @!attribute [rw] available_inventory_item_ids
59
+ # @return [::Array<::String>]
60
+ # Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM.
61
+ # If the vulnerability report was not updated after the VM inventory
62
+ # update, these values might not display in VM inventory. If there is no
63
+ # available fix, the field is empty. The `inventory_item` value specifies
64
+ # the latest `SoftwarePackage` available to the VM that fixes the
65
+ # vulnerability.
66
+ # @!attribute [rw] create_time
67
+ # @return [::Google::Protobuf::Timestamp]
68
+ # The timestamp for when the vulnerability was first detected.
69
+ # @!attribute [rw] update_time
70
+ # @return [::Google::Protobuf::Timestamp]
71
+ # The timestamp for when the vulnerability was last modified.
72
+ # @!attribute [rw] items
73
+ # @return [::Array<::Google::Cloud::OsConfig::V1::VulnerabilityReport::Vulnerability::Item>]
74
+ # List of items affected by the vulnerability.
75
+ class Vulnerability
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+
79
+ # Contains metadata information for the vulnerability. This information is
80
+ # collected from the upstream feed of the operating system.
81
+ # @!attribute [rw] cve
82
+ # @return [::String]
83
+ # The CVE of the vulnerability. CVE cannot be
84
+ # empty and the combination of <cve, classification> should be unique
85
+ # across vulnerabilities for a VM.
86
+ # @!attribute [rw] cvss_v2_score
87
+ # @return [::Float]
88
+ # The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of
89
+ # 0 - 10 where 0 indicates low severity and 10 indicates high severity.
90
+ # @!attribute [rw] cvss_v3
91
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3]
92
+ # The full description of the CVSSv3 for this vulnerability from NVD.
93
+ # @!attribute [rw] severity
94
+ # @return [::String]
95
+ # Assigned severity/impact ranking from the distro.
96
+ # @!attribute [rw] description
97
+ # @return [::String]
98
+ # The note or description describing the vulnerability from the distro.
99
+ # @!attribute [rw] references
100
+ # @return [::Array<::Google::Cloud::OsConfig::V1::VulnerabilityReport::Vulnerability::Details::Reference>]
101
+ # Corresponds to the references attached to the `VulnerabilityDetails`.
102
+ class Details
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+
106
+ # A reference for this vulnerability.
107
+ # @!attribute [rw] url
108
+ # @return [::String]
109
+ # The url of the reference.
110
+ # @!attribute [rw] source
111
+ # @return [::String]
112
+ # The source of the reference e.g. NVD.
113
+ class Reference
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+ end
118
+
119
+ # OS inventory item that is affected by a vulnerability or fixed as a
120
+ # result of a vulnerability.
121
+ # @!attribute [rw] installed_inventory_item_id
122
+ # @return [::String]
123
+ # Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM.
124
+ # This field displays the inventory items affected by this vulnerability.
125
+ # If the vulnerability report was not updated after the VM inventory
126
+ # update, these values might not display in VM inventory. For some
127
+ # operating systems, this field might be empty.
128
+ # @!attribute [rw] available_inventory_item_id
129
+ # @return [::String]
130
+ # Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM.
131
+ # If the vulnerability report was not updated after the VM inventory
132
+ # update, these values might not display in VM inventory. If there is no
133
+ # available fix, the field is empty. The `inventory_item` value specifies
134
+ # the latest `SoftwarePackage` available to the VM that fixes the
135
+ # vulnerability.
136
+ # @!attribute [rw] fixed_cpe_uri
137
+ # @return [::String]
138
+ # The recommended [CPE URI](https://cpe.mitre.org/specification/) update
139
+ # that contains a fix for this vulnerability.
140
+ # @!attribute [rw] upstream_fix
141
+ # @return [::String]
142
+ # The upstream OS patch, packages or KB that fixes the vulnerability.
143
+ class Item
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+ end
148
+ end
149
+
150
+ # A request message for getting the vulnerability report for the specified VM.
151
+ # @!attribute [rw] name
152
+ # @return [::String]
153
+ # Required. API resource name for vulnerability resource.
154
+ #
155
+ # Format:
156
+ # `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport`
157
+ #
158
+ # For `{project}`, either `project-number` or `project-id` can be provided.
159
+ # For `{instance}`, either Compute Engine `instance-id` or `instance-name`
160
+ # can be provided.
161
+ class GetVulnerabilityReportRequest
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
166
+ # A request message for listing vulnerability reports for all VM instances in
167
+ # the specified location.
168
+ # @!attribute [rw] parent
169
+ # @return [::String]
170
+ # Required. The parent resource name.
171
+ #
172
+ # Format: `projects/{project}/locations/{location}/instances/-`
173
+ #
174
+ # For `{project}`, either `project-number` or `project-id` can be provided.
175
+ # @!attribute [rw] page_size
176
+ # @return [::Integer]
177
+ # The maximum number of results to return.
178
+ # @!attribute [rw] page_token
179
+ # @return [::String]
180
+ # A pagination token returned from a previous call to
181
+ # `ListVulnerabilityReports` that indicates where this listing
182
+ # should continue from.
183
+ # @!attribute [rw] filter
184
+ # @return [::String]
185
+ # If provided, this field specifies the criteria that must be met by a
186
+ # `vulnerabilityReport` API resource to be included in the response.
187
+ class ListVulnerabilityReportsRequest
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # A response message for listing vulnerability reports for all VM instances in
193
+ # the specified location.
194
+ # @!attribute [rw] vulnerability_reports
195
+ # @return [::Array<::Google::Cloud::OsConfig::V1::VulnerabilityReport>]
196
+ # List of vulnerabilityReport objects.
197
+ # @!attribute [rw] next_page_token
198
+ # @return [::String]
199
+ # The pagination token to retrieve the next page of vulnerabilityReports
200
+ # object.
201
+ class ListVulnerabilityReportsResponse
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # Common Vulnerability Scoring System version 3.
207
+ # For details, see https://www.first.org/cvss/specification-document
208
+ # @!attribute [rw] base_score
209
+ # @return [::Float]
210
+ # The base score is a function of the base metric scores.
211
+ # https://www.first.org/cvss/specification-document#Base-Metrics
212
+ # @!attribute [rw] exploitability_score
213
+ # @return [::Float]
214
+ # The Exploitability sub-score equation is derived from the Base
215
+ # Exploitability metrics.
216
+ # https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics
217
+ # @!attribute [rw] impact_score
218
+ # @return [::Float]
219
+ # The Impact sub-score equation is derived from the Base Impact metrics.
220
+ # @!attribute [rw] attack_vector
221
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::AttackVector]
222
+ # This metric reflects the context by which vulnerability exploitation is
223
+ # possible.
224
+ # @!attribute [rw] attack_complexity
225
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::AttackComplexity]
226
+ # This metric describes the conditions beyond the attacker's control that
227
+ # must exist in order to exploit the vulnerability.
228
+ # @!attribute [rw] privileges_required
229
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::PrivilegesRequired]
230
+ # This metric describes the level of privileges an attacker must possess
231
+ # before successfully exploiting the vulnerability.
232
+ # @!attribute [rw] user_interaction
233
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::UserInteraction]
234
+ # This metric captures the requirement for a human user, other than the
235
+ # attacker, to participate in the successful compromise of the vulnerable
236
+ # component.
237
+ # @!attribute [rw] scope
238
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::Scope]
239
+ # The Scope metric captures whether a vulnerability in one vulnerable
240
+ # component impacts resources in components beyond its security scope.
241
+ # @!attribute [rw] confidentiality_impact
242
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::Impact]
243
+ # This metric measures the impact to the confidentiality of the information
244
+ # resources managed by a software component due to a successfully exploited
245
+ # vulnerability.
246
+ # @!attribute [rw] integrity_impact
247
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::Impact]
248
+ # This metric measures the impact to integrity of a successfully exploited
249
+ # vulnerability.
250
+ # @!attribute [rw] availability_impact
251
+ # @return [::Google::Cloud::OsConfig::V1::CVSSv3::Impact]
252
+ # This metric measures the impact to the availability of the impacted
253
+ # component resulting from a successfully exploited vulnerability.
254
+ class CVSSv3
255
+ include ::Google::Protobuf::MessageExts
256
+ extend ::Google::Protobuf::MessageExts::ClassMethods
257
+
258
+ # This metric reflects the context by which vulnerability exploitation is
259
+ # possible.
260
+ module AttackVector
261
+ # Invalid value.
262
+ ATTACK_VECTOR_UNSPECIFIED = 0
263
+
264
+ # The vulnerable component is bound to the network stack and the set of
265
+ # possible attackers extends beyond the other options listed below, up to
266
+ # and including the entire Internet.
267
+ ATTACK_VECTOR_NETWORK = 1
268
+
269
+ # The vulnerable component is bound to the network stack, but the attack is
270
+ # limited at the protocol level to a logically adjacent topology.
271
+ ATTACK_VECTOR_ADJACENT = 2
272
+
273
+ # The vulnerable component is not bound to the network stack and the
274
+ # attacker's path is via read/write/execute capabilities.
275
+ ATTACK_VECTOR_LOCAL = 3
276
+
277
+ # The attack requires the attacker to physically touch or manipulate the
278
+ # vulnerable component.
279
+ ATTACK_VECTOR_PHYSICAL = 4
280
+ end
281
+
282
+ # This metric describes the conditions beyond the attacker's control that
283
+ # must exist in order to exploit the vulnerability.
284
+ module AttackComplexity
285
+ # Invalid value.
286
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0
287
+
288
+ # Specialized access conditions or extenuating circumstances do not exist.
289
+ # An attacker can expect repeatable success when attacking the vulnerable
290
+ # component.
291
+ ATTACK_COMPLEXITY_LOW = 1
292
+
293
+ # A successful attack depends on conditions beyond the attacker's control.
294
+ # That is, a successful attack cannot be accomplished at will, but requires
295
+ # the attacker to invest in some measurable amount of effort in preparation
296
+ # or execution against the vulnerable component before a successful attack
297
+ # can be expected.
298
+ ATTACK_COMPLEXITY_HIGH = 2
299
+ end
300
+
301
+ # This metric describes the level of privileges an attacker must possess
302
+ # before successfully exploiting the vulnerability.
303
+ module PrivilegesRequired
304
+ # Invalid value.
305
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0
306
+
307
+ # The attacker is unauthorized prior to attack, and therefore does not
308
+ # require any access to settings or files of the vulnerable system to
309
+ # carry out an attack.
310
+ PRIVILEGES_REQUIRED_NONE = 1
311
+
312
+ # The attacker requires privileges that provide basic user capabilities
313
+ # that could normally affect only settings and files owned by a user.
314
+ # Alternatively, an attacker with Low privileges has the ability to access
315
+ # only non-sensitive resources.
316
+ PRIVILEGES_REQUIRED_LOW = 2
317
+
318
+ # The attacker requires privileges that provide significant (e.g.,
319
+ # administrative) control over the vulnerable component allowing access to
320
+ # component-wide settings and files.
321
+ PRIVILEGES_REQUIRED_HIGH = 3
322
+ end
323
+
324
+ # This metric captures the requirement for a human user, other than the
325
+ # attacker, to participate in the successful compromise of the vulnerable
326
+ # component.
327
+ module UserInteraction
328
+ # Invalid value.
329
+ USER_INTERACTION_UNSPECIFIED = 0
330
+
331
+ # The vulnerable system can be exploited without interaction from any user.
332
+ USER_INTERACTION_NONE = 1
333
+
334
+ # Successful exploitation of this vulnerability requires a user to take
335
+ # some action before the vulnerability can be exploited.
336
+ USER_INTERACTION_REQUIRED = 2
337
+ end
338
+
339
+ # The Scope metric captures whether a vulnerability in one vulnerable
340
+ # component impacts resources in components beyond its security scope.
341
+ module Scope
342
+ # Invalid value.
343
+ SCOPE_UNSPECIFIED = 0
344
+
345
+ # An exploited vulnerability can only affect resources managed by the same
346
+ # security authority.
347
+ SCOPE_UNCHANGED = 1
348
+
349
+ # An exploited vulnerability can affect resources beyond the security scope
350
+ # managed by the security authority of the vulnerable component.
351
+ SCOPE_CHANGED = 2
352
+ end
353
+
354
+ # The Impact metrics capture the effects of a successfully exploited
355
+ # vulnerability on the component that suffers the worst outcome that is most
356
+ # directly and predictably associated with the attack.
357
+ module Impact
358
+ # Invalid value.
359
+ IMPACT_UNSPECIFIED = 0
360
+
361
+ # High impact.
362
+ IMPACT_HIGH = 1
363
+
364
+ # Low impact.
365
+ IMPACT_LOW = 2
366
+
367
+ # No impact.
368
+ IMPACT_NONE = 3
369
+ end
370
+ end
371
+ end
372
+ end
373
+ end
374
+ end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Protobuf
22
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
23
+ # URL that describes the type of the serialized message.
24
+ #
25
+ # Protobuf library provides support to pack/unpack Any values in the form
26
+ # of utility functions or additional generated methods of the Any type.
27
+ #
28
+ # Example 1: Pack and unpack a message in C++.
29
+ #
30
+ # Foo foo = ...;
31
+ # Any any;
32
+ # any.PackFrom(foo);
33
+ # ...
34
+ # if (any.UnpackTo(&foo)) {
35
+ # ...
36
+ # }
37
+ #
38
+ # Example 2: Pack and unpack a message in Java.
39
+ #
40
+ # Foo foo = ...;
41
+ # Any any = Any.pack(foo);
42
+ # ...
43
+ # if (any.is(Foo.class)) {
44
+ # foo = any.unpack(Foo.class);
45
+ # }
46
+ #
47
+ # Example 3: Pack and unpack a message in Python.
48
+ #
49
+ # foo = Foo(...)
50
+ # any = Any()
51
+ # any.Pack(foo)
52
+ # ...
53
+ # if any.Is(Foo.DESCRIPTOR):
54
+ # any.Unpack(foo)
55
+ # ...
56
+ #
57
+ # Example 4: Pack and unpack a message in Go
58
+ #
59
+ # foo := &pb.Foo{...}
60
+ # any, err := anypb.New(foo)
61
+ # if err != nil {
62
+ # ...
63
+ # }
64
+ # ...
65
+ # foo := &pb.Foo{}
66
+ # if err := any.UnmarshalTo(foo); err != nil {
67
+ # ...
68
+ # }
69
+ #
70
+ # The pack methods provided by protobuf library will by default use
71
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
72
+ # methods only use the fully qualified type name after the last '/'
73
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
74
+ # name "y.z".
75
+ #
76
+ #
77
+ # JSON
78
+ # ====
79
+ # The JSON representation of an `Any` value uses the regular
80
+ # representation of the deserialized, embedded message, with an
81
+ # additional field `@type` which contains the type URL. Example:
82
+ #
83
+ # package google.profile;
84
+ # message Person {
85
+ # string first_name = 1;
86
+ # string last_name = 2;
87
+ # }
88
+ #
89
+ # {
90
+ # "@type": "type.googleapis.com/google.profile.Person",
91
+ # "firstName": <string>,
92
+ # "lastName": <string>
93
+ # }
94
+ #
95
+ # If the embedded message type is well-known and has a custom JSON
96
+ # representation, that representation will be embedded adding a field
97
+ # `value` which holds the custom JSON in addition to the `@type`
98
+ # field. Example (for message [google.protobuf.Duration][]):
99
+ #
100
+ # {
101
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
102
+ # "value": "1.212s"
103
+ # }
104
+ # @!attribute [rw] type_url
105
+ # @return [::String]
106
+ # A URL/resource name that uniquely identifies the type of the serialized
107
+ # protocol buffer message. This string must contain at least
108
+ # one "/" character. The last segment of the URL's path must represent
109
+ # the fully qualified name of the type (as in
110
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
111
+ # (e.g., leading "." is not accepted).
112
+ #
113
+ # In practice, teams usually precompile into the binary all types that they
114
+ # expect it to use in the context of Any. However, for URLs which use the
115
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
116
+ # server that maps type URLs to message definitions as follows:
117
+ #
118
+ # * If no scheme is provided, `https` is assumed.
119
+ # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
120
+ # value in binary format, or produce an error.
121
+ # * Applications are allowed to cache lookup results based on the
122
+ # URL, or have them precompiled into a binary to avoid any
123
+ # lookup. Therefore, binary compatibility needs to be preserved
124
+ # on changes to types. (Use versioned type names to manage
125
+ # breaking changes.)
126
+ #
127
+ # Note: this functionality is not currently available in the official
128
+ # protobuf release, and it is not used for type URLs beginning with
129
+ # type.googleapis.com.
130
+ #
131
+ # Schemes other than `http`, `https` (or the empty scheme) might be
132
+ # used with implementation specific semantics.
133
+ # @!attribute [rw] value
134
+ # @return [::String]
135
+ # Must be a valid serialized protocol buffer of the above specified type.
136
+ class Any
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+ end
141
+ end