google-cloud-asset-v1 0.5.3 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -134,6 +134,11 @@ module Google
134
134
  # @return [::Google::Identity::AccessContextManager::V1::ServicePerimeter]
135
135
  # Please also refer to the [service perimeter user
136
136
  # guide](https://cloud.google.com/vpc-service-controls/docs/overview).
137
+ # @!attribute [rw] os_inventory
138
+ # @return [::Google::Cloud::OsConfig::V1::Inventory]
139
+ # A representation of runtime OS Inventory information. See [this
140
+ # topic](https://cloud.google.com/compute/docs/instances/os-inventory-management)
141
+ # for more information.
137
142
  # @!attribute [rw] ancestors
138
143
  # @return [::Array<::String>]
139
144
  # The ancestry path of an asset in Google Cloud [resource
@@ -202,7 +207,7 @@ module Google
202
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
203
208
  end
204
209
 
205
- # A result of Resource Search, containing information of a cloud resoure.
210
+ # A result of Resource Search, containing information of a cloud resource.
206
211
  # @!attribute [rw] name
207
212
  # @return [::String]
208
213
  # The full resource name of this resource. Example:
@@ -213,8 +218,8 @@ module Google
213
218
  #
214
219
  # To search against the `name`:
215
220
  #
216
- # * use a field query. Example: `name : "instance1"`
217
- # * use a free text query. Example: `"instance1"`
221
+ # * use a field query. Example: `name:instance1`
222
+ # * use a free text query. Example: `instance1`
218
223
  # @!attribute [rw] asset_type
219
224
  # @return [::String]
220
225
  # The type of this resource. Example: `compute.googleapis.com/Disk`.
@@ -236,7 +241,7 @@ module Google
236
241
  #
237
242
  # To search against the `display_name`:
238
243
  #
239
- # * use a field query. Example: `displayName : "My Instance"`
244
+ # * use a field query. Example: `displayName:"My Instance"`
240
245
  # * use a free text query. Example: `"My Instance"`
241
246
  # @!attribute [rw] description
242
247
  # @return [::String]
@@ -245,7 +250,7 @@ module Google
245
250
  #
246
251
  # To search against the `description`:
247
252
  #
248
- # * use a field query. Example: `description : "*important instance*"`
253
+ # * use a field query. Example: `description:"*important instance*"`
249
254
  # * use a free text query. Example: `"*important instance*"`
250
255
  # @!attribute [rw] location
251
256
  # @return [::String]
@@ -254,8 +259,8 @@ module Google
254
259
  #
255
260
  # To search against the `location`:
256
261
  #
257
- # * use a field query. Example: `location : "us-west*"`
258
- # * use a free text query. Example: `"us-west*"`
262
+ # * use a field query. Example: `location:us-west*`
263
+ # * use a free text query. Example: `us-west*`
259
264
  # @!attribute [rw] labels
260
265
  # @return [::Google::Protobuf::Map{::String => ::String}]
261
266
  # Labels associated with this resource. See [Labelling and grouping GCP
@@ -264,11 +269,11 @@ module Google
264
269
  #
265
270
  # To search against the `labels`:
266
271
  #
267
- # * use a field query, as following:
268
- # - query on any label's key or value. Example: `labels : "prod"`
269
- # - query by a given label. Example: `labels.env : "prod"`
270
- # - query by a given label'sexistence. Example: `labels.env : *`
271
- # * use a free text query. Example: `"prod"`
272
+ # * use a field query:
273
+ # - query on any label's key or value. Example: `labels:prod`
274
+ # - query by a given label. Example: `labels.env:prod`
275
+ # - query by a given label's existence. Example: `labels.env:*`
276
+ # * use a free text query. Example: `prod`
272
277
  # @!attribute [rw] network_tags
273
278
  # @return [::Array<::String>]
274
279
  # Network tags associated with this resource. Like labels, network tags are a
@@ -278,19 +283,29 @@ module Google
278
283
  #
279
284
  # To search against the `network_tags`:
280
285
  #
281
- # * use a field query. Example: `networkTags : "internal"`
282
- # * use a free text query. Example: `"internal"`
286
+ # * use a field query. Example: `networkTags:internal`
287
+ # * use a free text query. Example: `internal`
283
288
  # @!attribute [rw] additional_attributes
284
289
  # @return [::Google::Protobuf::Struct]
285
- # The additional attributes of this resource. The attributes may vary from
286
- # one resource type to another. Examples: `projectId` for Project,
287
- # `dnsName` for DNS ManagedZone.
290
+ # The additional searchable attributes of this resource. The attributes may
291
+ # vary from one resource type to another. Examples: `projectId` for Project,
292
+ # `dnsName` for DNS ManagedZone. This field contains a subset of the resource
293
+ # metadata fields that are returned by the List or Get APIs provided by the
294
+ # corresponding GCP service (e.g., Compute Engine). see [API references and
295
+ # supported searchable
296
+ # attributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types)
297
+ # for more information.
298
+ #
299
+ # You can search values of these fields through free text search. However,
300
+ # you should not consume the field programically as the field names and
301
+ # values may change as the GCP service updates to a new incompatible API
302
+ # version.
288
303
  #
289
304
  # To search against the `additional_attributes`:
290
305
  #
291
306
  # * use a free text query to match the attributes values. Example: to search
292
307
  # `additional_attributes = { dnsName: "foobar" }`, you can issue a query
293
- # `"foobar"`.
308
+ # `foobar`.
294
309
  class ResourceSearchResult
295
310
  include ::Google::Protobuf::MessageExts
296
311
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -317,7 +332,7 @@ module Google
317
332
  #
318
333
  # To search against the `resource`:
319
334
  #
320
- # * use a field query. Example: `resource : "organizations/123"`
335
+ # * use a field query. Example: `resource:organizations/123`
321
336
  # @!attribute [rw] project
322
337
  # @return [::String]
323
338
  # The project that the associated GCP resource belongs to, in the form of
@@ -338,13 +353,13 @@ module Google
338
353
  #
339
354
  # To search against the `policy` bindings:
340
355
  #
341
- # * use a field query, as following:
356
+ # * use a field query:
342
357
  # - query by the policy contained members. Example:
343
- # `policy : "amy@gmail.com"`
358
+ # `policy:amy@gmail.com`
344
359
  # - query by the policy contained roles. Example:
345
- # `policy : "roles/compute.admin"`
346
- # - query by the policy contained roles' implied permissions. Example:
347
- # `policy.role.permissions : "compute.instances.create"`
360
+ # `policy:roles/compute.admin`
361
+ # - query by the policy contained roles' included permissions. Example:
362
+ # `policy.role.permissions:compute.instances.create`
348
363
  # @!attribute [rw] explanation
349
364
  # @return [::Google::Cloud::Asset::V1::IamPolicySearchResult::Explanation]
350
365
  # Explanation about the IAM policy search result. It contains additional
@@ -358,7 +373,7 @@ module Google
358
373
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Asset::V1::IamPolicySearchResult::Explanation::Permissions}]
359
374
  # The map from roles to their included permissions that match the
360
375
  # permission query (i.e., a query containing `policy.role.permissions:`).
361
- # Example: if query `policy.role.permissions : "compute.disk.get"`
376
+ # Example: if query `policy.role.permissions:compute.disk.get`
362
377
  # matches a policy binding that contains owner role, the
363
378
  # matched_permissions will be `{"roles/owner": ["compute.disk.get"]}`. The
364
379
  # roles can also be found in the returned `policy` bindings. Note that the
@@ -386,6 +401,173 @@ module Google
386
401
  end
387
402
  end
388
403
  end
404
+
405
+ # Represents the detailed state of an entity under analysis, such as a
406
+ # resource, an identity or an access.
407
+ # @!attribute [rw] code
408
+ # @return [::Google::Rpc::Code]
409
+ # The Google standard error code that best describes the state.
410
+ # For example:
411
+ # - OK means the analysis on this entity has been successfully finished;
412
+ # - PERMISSION_DENIED means an access denied error is encountered;
413
+ # - DEADLINE_EXCEEDED means the analysis on this entity hasn't been started
414
+ # in time;
415
+ # @!attribute [rw] cause
416
+ # @return [::String]
417
+ # The human-readable description of the cause of failure.
418
+ class IamPolicyAnalysisState
419
+ include ::Google::Protobuf::MessageExts
420
+ extend ::Google::Protobuf::MessageExts::ClassMethods
421
+ end
422
+
423
+ # IAM Policy analysis result, consisting of one IAM policy binding and derived
424
+ # access control lists.
425
+ # @!attribute [rw] attached_resource_full_name
426
+ # @return [::String]
427
+ # The [full resource
428
+ # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
429
+ # of the resource to which the {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult#iam_binding iam_binding} policy attaches.
430
+ # @!attribute [rw] iam_binding
431
+ # @return [::Google::Iam::V1::Binding]
432
+ # The Cloud IAM policy binding under analysis.
433
+ # @!attribute [rw] access_control_lists
434
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::AccessControlList>]
435
+ # The access control lists derived from the {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult#iam_binding iam_binding} that match or
436
+ # potentially match resource and access selectors specified in the request.
437
+ # @!attribute [rw] identity_list
438
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::IdentityList]
439
+ # The identity list derived from members of the {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult#iam_binding iam_binding} that match or
440
+ # potentially match identity selector specified in the request.
441
+ # @!attribute [rw] fully_explored
442
+ # @return [::Boolean]
443
+ # Represents whether all analyses on the {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult#iam_binding iam_binding} have successfully
444
+ # finished.
445
+ class IamPolicyAnalysisResult
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+
449
+ # A Google Cloud resource under analysis.
450
+ # @!attribute [rw] full_resource_name
451
+ # @return [::String]
452
+ # The [full resource
453
+ # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
454
+ # @!attribute [rw] analysis_state
455
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisState]
456
+ # The analysis state of this resource.
457
+ class Resource
458
+ include ::Google::Protobuf::MessageExts
459
+ extend ::Google::Protobuf::MessageExts::ClassMethods
460
+ end
461
+
462
+ # An IAM role or permission under analysis.
463
+ # @!attribute [rw] role
464
+ # @return [::String]
465
+ # The role.
466
+ # @!attribute [rw] permission
467
+ # @return [::String]
468
+ # The permission.
469
+ # @!attribute [rw] analysis_state
470
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisState]
471
+ # The analysis state of this access.
472
+ class Access
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # An identity under analysis.
478
+ # @!attribute [rw] name
479
+ # @return [::String]
480
+ # The identity name in any form of members appear in
481
+ # [IAM policy
482
+ # binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
483
+ # as:
484
+ # - user:foo@google.com
485
+ # - group:group1@google.com
486
+ # - serviceAccount:s1@prj1.iam.gserviceaccount.com
487
+ # - projectOwner:some_project_id
488
+ # - domain:google.com
489
+ # - allUsers
490
+ # - etc.
491
+ # @!attribute [rw] analysis_state
492
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisState]
493
+ # The analysis state of this identity.
494
+ class Identity
495
+ include ::Google::Protobuf::MessageExts
496
+ extend ::Google::Protobuf::MessageExts::ClassMethods
497
+ end
498
+
499
+ # A directional edge.
500
+ # @!attribute [rw] source_node
501
+ # @return [::String]
502
+ # The source node of the edge. For example, it could be a full resource
503
+ # name for a resource node or an email of an identity.
504
+ # @!attribute [rw] target_node
505
+ # @return [::String]
506
+ # The target node of the edge. For example, it could be a full resource
507
+ # name for a resource node or an email of an identity.
508
+ class Edge
509
+ include ::Google::Protobuf::MessageExts
510
+ extend ::Google::Protobuf::MessageExts::ClassMethods
511
+ end
512
+
513
+ # An access control list, derived from the above IAM policy binding, which
514
+ # contains a set of resources and accesses. May include one
515
+ # item from each set to compose an access control entry.
516
+ #
517
+ # NOTICE that there could be multiple access control lists for one IAM policy
518
+ # binding. The access control lists are created based on resource and access
519
+ # combinations.
520
+ #
521
+ # For example, assume we have the following cases in one IAM policy binding:
522
+ # - Permission P1 and P2 apply to resource R1 and R2;
523
+ # - Permission P3 applies to resource R2 and R3;
524
+ #
525
+ # This will result in the following access control lists:
526
+ # - AccessControlList 1: [R1, R2], [P1, P2]
527
+ # - AccessControlList 2: [R2, R3], [P3]
528
+ # @!attribute [rw] resources
529
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Resource>]
530
+ # The resources that match one of the following conditions:
531
+ # - The resource_selector, if it is specified in request;
532
+ # - Otherwise, resources reachable from the policy attached resource.
533
+ # @!attribute [rw] accesses
534
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Access>]
535
+ # The accesses that match one of the following conditions:
536
+ # - The access_selector, if it is specified in request;
537
+ # - Otherwise, access specifiers reachable from the policy binding's role.
538
+ # @!attribute [rw] resource_edges
539
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge>]
540
+ # Resource edges of the graph starting from the policy attached
541
+ # resource to any descendant resources. The {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge#source_node Edge.source_node} contains
542
+ # the full resource name of a parent resource and {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge#target_node Edge.target_node}
543
+ # contains the full resource name of a child resource. This field is
544
+ # present only if the output_resource_edges option is enabled in request.
545
+ class AccessControlList
546
+ include ::Google::Protobuf::MessageExts
547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
548
+ end
549
+
550
+ # The identities and group edges.
551
+ # @!attribute [rw] identities
552
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Identity>]
553
+ # Only the identities that match one of the following conditions will be
554
+ # presented:
555
+ # - The identity_selector, if it is specified in request;
556
+ # - Otherwise, identities reachable from the policy binding's members.
557
+ # @!attribute [rw] group_edges
558
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge>]
559
+ # Group identity edges of the graph starting from the binding's
560
+ # group members to any node of the {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::IdentityList#identities identities}. The {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge#source_node Edge.source_node}
561
+ # contains a group, such as `group:parent@google.com`. The
562
+ # {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult::Edge#target_node Edge.target_node} contains a member of the group,
563
+ # such as `group:child@google.com` or `user:foo@google.com`.
564
+ # This field is present only if the output_group_edges option is enabled in
565
+ # request.
566
+ class IdentityList
567
+ include ::Google::Protobuf::MessageExts
568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
569
+ end
570
+ end
389
571
  end
390
572
  end
391
573
  end
@@ -0,0 +1,284 @@
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 OsConfig
23
+ module V1
24
+ # The inventory details of a VM.
25
+ # @!attribute [rw] os_info
26
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::OsInfo]
27
+ # Base level operating system information for the VM.
28
+ # @!attribute [rw] items
29
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::OsConfig::V1::Inventory::Item}]
30
+ # Inventory items related to the VM keyed by an opaque unique identifier for
31
+ # each inventory item. The identifier is unique to each distinct and
32
+ # addressable inventory item and will change, when there is a new package
33
+ # version.
34
+ class Inventory
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # Operating system information for the VM.
39
+ # @!attribute [rw] hostname
40
+ # @return [::String]
41
+ # The VM hostname.
42
+ # @!attribute [rw] long_name
43
+ # @return [::String]
44
+ # The operating system long name.
45
+ # For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019
46
+ # Datacenter'.
47
+ # @!attribute [rw] short_name
48
+ # @return [::String]
49
+ # The operating system short name.
50
+ # For example, 'windows' or 'debian'.
51
+ # @!attribute [rw] version
52
+ # @return [::String]
53
+ # The version of the operating system.
54
+ # @!attribute [rw] architecture
55
+ # @return [::String]
56
+ # The system architecture of the operating system.
57
+ # @!attribute [rw] kernel_version
58
+ # @return [::String]
59
+ # The kernel version of the operating system.
60
+ # @!attribute [rw] kernel_release
61
+ # @return [::String]
62
+ # The kernel release of the operating system.
63
+ # @!attribute [rw] osconfig_agent_version
64
+ # @return [::String]
65
+ # The current version of the OS Config agent running on the VM.
66
+ class OsInfo
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # A single piece of inventory on a VM.
72
+ # @!attribute [rw] id
73
+ # @return [::String]
74
+ # Identifier for this item, unique across items for this VM.
75
+ # @!attribute [rw] origin_type
76
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::Item::OriginType]
77
+ # The origin of this inventory item.
78
+ # @!attribute [rw] create_time
79
+ # @return [::Google::Protobuf::Timestamp]
80
+ # When this inventory item was first detected.
81
+ # @!attribute [rw] update_time
82
+ # @return [::Google::Protobuf::Timestamp]
83
+ # When this inventory item was last modified.
84
+ # @!attribute [rw] type
85
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::Item::Type]
86
+ # The specific type of inventory, correlating to its specific details.
87
+ # @!attribute [rw] installed_package
88
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::SoftwarePackage]
89
+ # Software package present on the VM instance.
90
+ # @!attribute [rw] available_package
91
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::SoftwarePackage]
92
+ # Software package available to be installed on the VM instance.
93
+ class Item
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+
97
+ # The origin of a specific inventory item.
98
+ module OriginType
99
+ # Invalid. An origin type must be specified.
100
+ ORIGIN_TYPE_UNSPECIFIED = 0
101
+
102
+ # This inventory item was discovered as the result of the agent
103
+ # reporting inventory via the reporting API.
104
+ INVENTORY_REPORT = 1
105
+ end
106
+
107
+ # The different types of inventory that are tracked on a VM.
108
+ module Type
109
+ # Invalid. An type must be specified.
110
+ TYPE_UNSPECIFIED = 0
111
+
112
+ # This represents a package that is installed on the VM.
113
+ INSTALLED_PACKAGE = 1
114
+
115
+ # This represents an update that is available for a package.
116
+ AVAILABLE_PACKAGE = 2
117
+ end
118
+ end
119
+
120
+ # Software package information of the operating system.
121
+ # @!attribute [rw] yum_package
122
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::VersionedPackage]
123
+ # Yum package info.
124
+ # For details about the yum package manager, see
125
+ # https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
126
+ # @!attribute [rw] apt_package
127
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::VersionedPackage]
128
+ # Details of an APT package.
129
+ # For details about the apt package manager, see
130
+ # https://wiki.debian.org/Apt.
131
+ # @!attribute [rw] zypper_package
132
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::VersionedPackage]
133
+ # Details of a Zypper package.
134
+ # For details about the Zypper package manager, see
135
+ # https://en.opensuse.org/SDB:Zypper_manual.
136
+ # @!attribute [rw] googet_package
137
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::VersionedPackage]
138
+ # Details of a Googet package.
139
+ # For details about the googet package manager, see
140
+ # https://github.com/google/googet.
141
+ # @!attribute [rw] zypper_patch
142
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::ZypperPatch]
143
+ # Details of a Zypper patch.
144
+ # For details about the Zypper package manager, see
145
+ # https://en.opensuse.org/SDB:Zypper_manual.
146
+ # @!attribute [rw] wua_package
147
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::WindowsUpdatePackage]
148
+ # Details of a Windows Update package.
149
+ # See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for
150
+ # information about Windows Update.
151
+ # @!attribute [rw] qfe_package
152
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::WindowsQuickFixEngineeringPackage]
153
+ # Details of a Windows Quick Fix engineering package.
154
+ # See
155
+ # https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
156
+ # for info in Windows Quick Fix Engineering.
157
+ # @!attribute [rw] cos_package
158
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::VersionedPackage]
159
+ # Details of a COS package.
160
+ class SoftwarePackage
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+
165
+ # Information related to the a standard versioned package. This includes
166
+ # package info for APT, Yum, Zypper, and Googet package managers.
167
+ # @!attribute [rw] package_name
168
+ # @return [::String]
169
+ # The name of the package.
170
+ # @!attribute [rw] architecture
171
+ # @return [::String]
172
+ # The system architecture this package is intended for.
173
+ # @!attribute [rw] version
174
+ # @return [::String]
175
+ # The version of the package.
176
+ class VersionedPackage
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Details related to a Windows Update package.
182
+ # Field data and names are taken from Windows Update API IUpdate Interface:
183
+ # https://docs.microsoft.com/en-us/windows/win32/api/_wua/
184
+ # Descriptive fields like title, and description are localized based on
185
+ # the locale of the VM being updated.
186
+ # @!attribute [rw] title
187
+ # @return [::String]
188
+ # The localized title of the update package.
189
+ # @!attribute [rw] description
190
+ # @return [::String]
191
+ # The localized description of the update package.
192
+ # @!attribute [rw] categories
193
+ # @return [::Array<::Google::Cloud::OsConfig::V1::Inventory::WindowsUpdatePackage::WindowsUpdateCategory>]
194
+ # The categories that are associated with this update package.
195
+ # @!attribute [rw] kb_article_ids
196
+ # @return [::Array<::String>]
197
+ # A collection of Microsoft Knowledge Base article IDs that are associated
198
+ # with the update package.
199
+ # @!attribute [rw] support_url
200
+ # @return [::String]
201
+ # A hyperlink to the language-specific support information for the update.
202
+ # @!attribute [rw] more_info_urls
203
+ # @return [::Array<::String>]
204
+ # A collection of URLs that provide more information about the update
205
+ # package.
206
+ # @!attribute [rw] update_id
207
+ # @return [::String]
208
+ # Gets the identifier of an update package. Stays the same across
209
+ # revisions.
210
+ # @!attribute [rw] revision_number
211
+ # @return [::Integer]
212
+ # The revision number of this update package.
213
+ # @!attribute [rw] last_deployment_change_time
214
+ # @return [::Google::Protobuf::Timestamp]
215
+ # The last published date of the update, in (UTC) date and time.
216
+ class WindowsUpdatePackage
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+
220
+ # Categories specified by the Windows Update.
221
+ # @!attribute [rw] id
222
+ # @return [::String]
223
+ # The identifier of the windows update category.
224
+ # @!attribute [rw] name
225
+ # @return [::String]
226
+ # The name of the windows update category.
227
+ class WindowsUpdateCategory
228
+ include ::Google::Protobuf::MessageExts
229
+ extend ::Google::Protobuf::MessageExts::ClassMethods
230
+ end
231
+ end
232
+
233
+ # Details related to a Zypper Patch.
234
+ # @!attribute [rw] patch_name
235
+ # @return [::String]
236
+ # The name of the patch.
237
+ # @!attribute [rw] category
238
+ # @return [::String]
239
+ # The category of the patch.
240
+ # @!attribute [rw] severity
241
+ # @return [::String]
242
+ # The severity specified for this patch
243
+ # @!attribute [rw] summary
244
+ # @return [::String]
245
+ # Any summary information provided about this patch.
246
+ class ZypperPatch
247
+ include ::Google::Protobuf::MessageExts
248
+ extend ::Google::Protobuf::MessageExts::ClassMethods
249
+ end
250
+
251
+ # Information related to a Quick Fix Engineering package.
252
+ # Fields are taken from Windows QuickFixEngineering Interface and match
253
+ # the source names:
254
+ # https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
255
+ # @!attribute [rw] caption
256
+ # @return [::String]
257
+ # A short textual description of the QFE update.
258
+ # @!attribute [rw] description
259
+ # @return [::String]
260
+ # A textual description of the QFE update.
261
+ # @!attribute [rw] hot_fix_id
262
+ # @return [::String]
263
+ # Unique identifier associated with a particular QFE update.
264
+ # @!attribute [rw] install_time
265
+ # @return [::Google::Protobuf::Timestamp]
266
+ # Date that the QFE update was installed. Mapped from installed_on field.
267
+ class WindowsQuickFixEngineeringPackage
268
+ include ::Google::Protobuf::MessageExts
269
+ extend ::Google::Protobuf::MessageExts::ClassMethods
270
+ end
271
+
272
+ # @!attribute [rw] key
273
+ # @return [::String]
274
+ # @!attribute [rw] value
275
+ # @return [::Google::Cloud::OsConfig::V1::Inventory::Item]
276
+ class ItemsEntry
277
+ include ::Google::Protobuf::MessageExts
278
+ extend ::Google::Protobuf::MessageExts::ClassMethods
279
+ end
280
+ end
281
+ end
282
+ end
283
+ end
284
+ end