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.
- checksums.yaml +4 -4
- data/lib/google/cloud/asset/v1/asset_service/client.rb +302 -98
- data/lib/google/cloud/asset/v1/asset_service_pb.rb +103 -0
- data/lib/google/cloud/asset/v1/asset_service_services_pb.rb +35 -23
- data/lib/google/cloud/asset/v1/assets_pb.rb +50 -1
- data/lib/google/cloud/asset/v1/version.rb +1 -1
- data/lib/google/cloud/osconfig/v1/inventory_pb.rb +108 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/cloud/asset/v1/asset_service.rb +550 -90
- data/proto_docs/google/cloud/asset/v1/assets.rb +207 -25
- data/proto_docs/google/cloud/osconfig/v1/inventory.rb +284 -0
- metadata +5 -3
@@ -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
|
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
|
217
|
-
# * use a free text query. Example: `
|
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
|
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
|
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
|
258
|
-
# * use a free text query. Example: `
|
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
|
268
|
-
# - query on any label's key or value. Example: `labels
|
269
|
-
# - query by a given label. Example: `labels.env
|
270
|
-
# - query by a given label'
|
271
|
-
# * use a free text query. Example: `
|
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
|
282
|
-
# * use a free text query. Example: `
|
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
|
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
|
-
# `
|
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
|
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
|
356
|
+
# * use a field query:
|
342
357
|
# - query by the policy contained members. Example:
|
343
|
-
# `policy
|
358
|
+
# `policy:amy@gmail.com`
|
344
359
|
# - query by the policy contained roles. Example:
|
345
|
-
# `policy
|
346
|
-
# - query by the policy contained roles'
|
347
|
-
# `policy.role.permissions
|
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
|
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
|