google-cloud-os_config-v1alpha 0.2.1 → 0.4.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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/AUTHENTICATION.md +7 -25
  4. data/README.md +11 -6
  5. data/lib/google/cloud/os_config/v1alpha/os_config_zonal_service/client.rb +238 -7
  6. data/lib/google/cloud/os_config/v1alpha/os_config_zonal_service/operations.rb +3 -0
  7. data/lib/google/cloud/os_config/v1alpha/os_config_zonal_service/paths.rb +42 -0
  8. data/lib/google/cloud/os_config/v1alpha/version.rb +1 -1
  9. data/lib/google/cloud/os_config/v1alpha.rb +2 -0
  10. data/lib/google/cloud/osconfig/v1alpha/config_common_pb.rb +2 -0
  11. data/lib/google/cloud/osconfig/v1alpha/instance_os_policies_compliance_pb.rb +3 -1
  12. data/lib/google/cloud/osconfig/v1alpha/inventory_pb.rb +3 -1
  13. data/lib/google/cloud/osconfig/v1alpha/os_policy_assignment_reports_pb.rb +94 -0
  14. data/lib/google/cloud/osconfig/v1alpha/os_policy_assignments_pb.rb +10 -1
  15. data/lib/google/cloud/osconfig/v1alpha/os_policy_pb.rb +9 -1
  16. data/lib/google/cloud/osconfig/v1alpha/osconfig_common_pb.rb +2 -0
  17. data/lib/google/cloud/osconfig/v1alpha/osconfig_zonal_service_pb.rb +3 -1
  18. data/lib/google/cloud/osconfig/v1alpha/osconfig_zonal_service_services_pb.rb +6 -0
  19. data/lib/google/cloud/osconfig/v1alpha/vulnerability_pb.rb +12 -1
  20. data/proto_docs/google/api/resource.rb +10 -71
  21. data/proto_docs/google/cloud/osconfig/v1alpha/inventory.rb +9 -14
  22. data/proto_docs/google/cloud/osconfig/v1alpha/os_policy.rb +44 -11
  23. data/proto_docs/google/cloud/osconfig/v1alpha/os_policy_assignment_reports.rb +293 -0
  24. data/proto_docs/google/cloud/osconfig/v1alpha/os_policy_assignments.rb +33 -5
  25. data/proto_docs/google/cloud/osconfig/v1alpha/vulnerability.rb +38 -5
  26. data/proto_docs/google/protobuf/any.rb +3 -3
  27. metadata +14 -12
@@ -1,6 +1,9 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/osconfig/v1alpha/os_policy_assignments.proto
3
3
 
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
4
7
  require 'google/api/field_behavior_pb'
5
8
  require 'google/api/resource_pb'
6
9
  require 'google/cloud/osconfig/v1alpha/os_policy_pb'
@@ -8,7 +11,6 @@ require 'google/cloud/osconfig/v1alpha/osconfig_common_pb'
8
11
  require 'google/protobuf/duration_pb'
9
12
  require 'google/protobuf/field_mask_pb'
10
13
  require 'google/protobuf/timestamp_pb'
11
- require 'google/protobuf'
12
14
 
13
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
14
16
  add_file("google/cloud/osconfig/v1alpha/os_policy_assignments.proto", :syntax => :proto3) do
@@ -20,6 +22,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
20
22
  optional :rollout, :message, 5, "google.cloud.osconfig.v1alpha.OSPolicyAssignment.Rollout"
21
23
  optional :revision_id, :string, 6
22
24
  optional :revision_create_time, :message, 7, "google.protobuf.Timestamp"
25
+ optional :etag, :string, 8
23
26
  optional :rollout_state, :enum, 9, "google.cloud.osconfig.v1alpha.OSPolicyAssignment.RolloutState"
24
27
  optional :baseline, :bool, 10
25
28
  optional :deleted, :bool, 11
@@ -34,6 +37,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
34
37
  repeated :os_short_names, :string, 2
35
38
  repeated :inclusion_labels, :message, 3, "google.cloud.osconfig.v1alpha.OSPolicyAssignment.LabelSet"
36
39
  repeated :exclusion_labels, :message, 4, "google.cloud.osconfig.v1alpha.OSPolicyAssignment.LabelSet"
40
+ repeated :inventories, :message, 5, "google.cloud.osconfig.v1alpha.OSPolicyAssignment.InstanceFilter.Inventory"
41
+ end
42
+ add_message "google.cloud.osconfig.v1alpha.OSPolicyAssignment.InstanceFilter.Inventory" do
43
+ optional :os_short_name, :string, 1
44
+ optional :os_version, :string, 2
37
45
  end
38
46
  add_message "google.cloud.osconfig.v1alpha.OSPolicyAssignment.Rollout" do
39
47
  optional :disruption_budget, :message, 1, "google.cloud.osconfig.v1alpha.FixedOrPercent"
@@ -109,6 +117,7 @@ module Google
109
117
  OSPolicyAssignment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment").msgclass
110
118
  OSPolicyAssignment::LabelSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment.LabelSet").msgclass
111
119
  OSPolicyAssignment::InstanceFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment.InstanceFilter").msgclass
120
+ OSPolicyAssignment::InstanceFilter::Inventory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment.InstanceFilter.Inventory").msgclass
112
121
  OSPolicyAssignment::Rollout = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment.Rollout").msgclass
113
122
  OSPolicyAssignment::RolloutState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignment.RolloutState").enummodule
114
123
  OSPolicyAssignmentOperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicyAssignmentOperationMetadata").msgclass
@@ -1,9 +1,11 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/osconfig/v1alpha/os_policy.proto
3
3
 
4
- require 'google/api/field_behavior_pb'
5
4
  require 'google/protobuf'
6
5
 
6
+ require 'google/api/annotations_pb'
7
+ require 'google/api/field_behavior_pb'
8
+
7
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
10
  add_file("google/cloud/osconfig/v1alpha/os_policy.proto", :syntax => :proto3) do
9
11
  add_message "google.cloud.osconfig.v1alpha.OSPolicy" do
@@ -17,6 +19,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
17
19
  optional :os_short_name, :string, 1
18
20
  optional :os_version, :string, 2
19
21
  end
22
+ add_message "google.cloud.osconfig.v1alpha.OSPolicy.InventoryFilter" do
23
+ optional :os_short_name, :string, 1
24
+ optional :os_version, :string, 2
25
+ end
20
26
  add_message "google.cloud.osconfig.v1alpha.OSPolicy.Resource" do
21
27
  optional :id, :string, 1
22
28
  oneof :resource_type do
@@ -156,6 +162,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
156
162
  end
157
163
  add_message "google.cloud.osconfig.v1alpha.OSPolicy.ResourceGroup" do
158
164
  optional :os_filter, :message, 1, "google.cloud.osconfig.v1alpha.OSPolicy.OSFilter"
165
+ repeated :inventory_filters, :message, 3, "google.cloud.osconfig.v1alpha.OSPolicy.InventoryFilter"
159
166
  repeated :resources, :message, 2, "google.cloud.osconfig.v1alpha.OSPolicy.Resource"
160
167
  end
161
168
  add_enum "google.cloud.osconfig.v1alpha.OSPolicy.Mode" do
@@ -172,6 +179,7 @@ module Google
172
179
  module V1alpha
173
180
  OSPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy").msgclass
174
181
  OSPolicy::OSFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy.OSFilter").msgclass
182
+ OSPolicy::InventoryFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy.InventoryFilter").msgclass
175
183
  OSPolicy::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy.Resource").msgclass
176
184
  OSPolicy::Resource::File = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy.Resource.File").msgclass
177
185
  OSPolicy::Resource::File::Remote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.OSPolicy.Resource.File.Remote").msgclass
@@ -3,6 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/api/annotations_pb'
7
+
6
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
9
  add_file("google/cloud/osconfig/v1alpha/osconfig_common.proto", :syntax => :proto3) do
8
10
  add_message "google.cloud.osconfig.v1alpha.FixedOrPercent" do
@@ -1,15 +1,17 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/osconfig/v1alpha/osconfig_zonal_service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
5
7
  require 'google/api/client_pb'
6
8
  require 'google/api/resource_pb'
7
9
  require 'google/cloud/osconfig/v1alpha/instance_os_policies_compliance_pb'
8
10
  require 'google/cloud/osconfig/v1alpha/inventory_pb'
11
+ require 'google/cloud/osconfig/v1alpha/os_policy_assignment_reports_pb'
9
12
  require 'google/cloud/osconfig/v1alpha/os_policy_assignments_pb'
10
13
  require 'google/cloud/osconfig/v1alpha/vulnerability_pb'
11
14
  require 'google/longrunning/operations_pb'
12
- require 'google/protobuf'
13
15
 
14
16
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
17
  add_file("google/cloud/osconfig/v1alpha/osconfig_zonal_service.proto", :syntax => :proto3) do
@@ -87,6 +87,12 @@ module Google
87
87
  # List OS policies compliance data for all Compute Engine VM instances in the
88
88
  # specified zone.
89
89
  rpc :ListInstanceOSPoliciesCompliances, ::Google::Cloud::OsConfig::V1alpha::ListInstanceOSPoliciesCompliancesRequest, ::Google::Cloud::OsConfig::V1alpha::ListInstanceOSPoliciesCompliancesResponse
90
+ # Get the OS policy asssignment report for the specified Compute Engine VM
91
+ # instance.
92
+ rpc :GetOSPolicyAssignmentReport, ::Google::Cloud::OsConfig::V1alpha::GetOSPolicyAssignmentReportRequest, ::Google::Cloud::OsConfig::V1alpha::OSPolicyAssignmentReport
93
+ # List OS policy asssignment reports for all Compute Engine VM instances in
94
+ # the specified zone.
95
+ rpc :ListOSPolicyAssignmentReports, ::Google::Cloud::OsConfig::V1alpha::ListOSPolicyAssignmentReportsRequest, ::Google::Cloud::OsConfig::V1alpha::ListOSPolicyAssignmentReportsResponse
90
96
  # Get inventory data for the specified VM instance. If the VM has no
91
97
  # associated inventory, the message `NOT_FOUND` is returned.
92
98
  rpc :GetInventory, ::Google::Cloud::OsConfig::V1alpha::GetInventoryRequest, ::Google::Cloud::OsConfig::V1alpha::Inventory
@@ -1,10 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/osconfig/v1alpha/vulnerability.proto
3
3
 
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
4
7
  require 'google/api/field_behavior_pb'
5
8
  require 'google/api/resource_pb'
6
9
  require 'google/protobuf/timestamp_pb'
7
- require 'google/protobuf'
8
10
 
9
11
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
12
  add_file("google/cloud/osconfig/v1alpha/vulnerability.proto", :syntax => :proto3) do
@@ -19,6 +21,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
19
21
  repeated :available_inventory_item_ids, :string, 3
20
22
  optional :create_time, :message, 4, "google.protobuf.Timestamp"
21
23
  optional :update_time, :message, 5, "google.protobuf.Timestamp"
24
+ repeated :items, :message, 6, "google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Item"
22
25
  end
23
26
  add_message "google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Details" do
24
27
  optional :cve, :string, 1
@@ -30,6 +33,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
30
33
  end
31
34
  add_message "google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Details.Reference" do
32
35
  optional :url, :string, 1
36
+ optional :source, :string, 2
37
+ end
38
+ add_message "google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Item" do
39
+ optional :installed_inventory_item_id, :string, 1
40
+ optional :available_inventory_item_id, :string, 2
41
+ optional :fixed_cpe_uri, :string, 3
42
+ optional :upstream_fix, :string, 4
33
43
  end
34
44
  add_message "google.cloud.osconfig.v1alpha.GetVulnerabilityReportRequest" do
35
45
  optional :name, :string, 1
@@ -102,6 +112,7 @@ module Google
102
112
  VulnerabilityReport::Vulnerability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability").msgclass
103
113
  VulnerabilityReport::Vulnerability::Details = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Details").msgclass
104
114
  VulnerabilityReport::Vulnerability::Details::Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Details.Reference").msgclass
115
+ VulnerabilityReport::Vulnerability::Item = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.VulnerabilityReport.Vulnerability.Item").msgclass
105
116
  GetVulnerabilityReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.GetVulnerabilityReportRequest").msgclass
106
117
  ListVulnerabilityReportsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.ListVulnerabilityReportsRequest").msgclass
107
118
  ListVulnerabilityReportsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1alpha.ListVulnerabilityReportsResponse").msgclass
@@ -33,11 +33,7 @@ module Google
33
33
  # // For Kubernetes resources, the format is {api group}/{kind}.
34
34
  # option (google.api.resource) = {
35
35
  # type: "pubsub.googleapis.com/Topic"
36
- # name_descriptor: {
37
- # pattern: "projects/{project}/topics/{topic}"
38
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
- # parent_name_extractor: "projects/{project}"
40
- # }
36
+ # pattern: "projects/{project}/topics/{topic}"
41
37
  # };
42
38
  # }
43
39
  #
@@ -45,10 +41,7 @@ module Google
45
41
  #
46
42
  # resources:
47
43
  # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/{project}/topics/{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/{project}"
44
+ # pattern: "projects/{project}/topics/{topic}"
52
45
  #
53
46
  # Sometimes, resources have multiple patterns, typically because they can
54
47
  # live under multiple parents.
@@ -58,26 +51,10 @@ module Google
58
51
  # message LogEntry {
59
52
  # option (google.api.resource) = {
60
53
  # type: "logging.googleapis.com/LogEntry"
61
- # name_descriptor: {
62
- # pattern: "projects/{project}/logs/{log}"
63
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
- # parent_name_extractor: "projects/{project}"
65
- # }
66
- # name_descriptor: {
67
- # pattern: "folders/{folder}/logs/{log}"
68
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
- # parent_name_extractor: "folders/{folder}"
70
- # }
71
- # name_descriptor: {
72
- # pattern: "organizations/{organization}/logs/{log}"
73
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
- # parent_name_extractor: "organizations/{organization}"
75
- # }
76
- # name_descriptor: {
77
- # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
- # parent_type: "billing.googleapis.com/BillingAccount"
79
- # parent_name_extractor: "billingAccounts/{billing_account}"
80
- # }
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
81
58
  # };
82
59
  # }
83
60
  #
@@ -85,48 +62,10 @@ module Google
85
62
  #
86
63
  # resources:
87
64
  # - type: 'logging.googleapis.com/LogEntry'
88
- # name_descriptor:
89
- # - pattern: "projects/{project}/logs/{log}"
90
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
- # parent_name_extractor: "projects/{project}"
92
- # - pattern: "folders/{folder}/logs/{log}"
93
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
- # parent_name_extractor: "folders/{folder}"
95
- # - pattern: "organizations/{organization}/logs/{log}"
96
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
- # parent_name_extractor: "organizations/{organization}"
98
- # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
- # parent_type: "billing.googleapis.com/BillingAccount"
100
- # parent_name_extractor: "billingAccounts/{billing_account}"
101
- #
102
- # For flexible resources, the resource name doesn't contain parent names, but
103
- # the resource itself has parents for policy evaluation.
104
- #
105
- # Example:
106
- #
107
- # message Shelf {
108
- # option (google.api.resource) = {
109
- # type: "library.googleapis.com/Shelf"
110
- # name_descriptor: {
111
- # pattern: "shelves/{shelf}"
112
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
- # }
114
- # name_descriptor: {
115
- # pattern: "shelves/{shelf}"
116
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
- # }
118
- # };
119
- # }
120
- #
121
- # The ResourceDescriptor Yaml config will look like:
122
- #
123
- # resources:
124
- # - type: 'library.googleapis.com/Shelf'
125
- # name_descriptor:
126
- # - pattern: "shelves/{shelf}"
127
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
- # - pattern: "shelves/{shelf}"
129
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
130
69
  # @!attribute [rw] type
131
70
  # @return [::String]
132
71
  # The resource type. It must be in the format of
@@ -39,10 +39,10 @@ module Google
39
39
  # Output only. Base level operating system information for the VM.
40
40
  # @!attribute [r] items
41
41
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::OsConfig::V1alpha::Inventory::Item}]
42
- # Output only. Inventory items related to the VM keyed by an opaque unique
43
- # identifier for each inventory item. The identifier is unique to each
44
- # distinct and addressable inventory item and will change, when there is a
45
- # new package version.
42
+ # Output only. Inventory items related to the VM keyed by an opaque unique identifier for
43
+ # each inventory item. The identifier is unique to each distinct and
44
+ # addressable inventory item and will change, when there is a new package
45
+ # version.
46
46
  # @!attribute [r] update_time
47
47
  # @return [::Google::Protobuf::Timestamp]
48
48
  # Output only. Timestamp of the last reported inventory for the VM.
@@ -287,12 +287,9 @@ module Google
287
287
  extend ::Google::Protobuf::MessageExts::ClassMethods
288
288
  end
289
289
 
290
- # Contains information about a Windows application as retrieved from the
291
- # Windows Registry. For more information about these fields, see
292
- #
293
- # [Windows Installer Properties for the Uninstall
294
- # Registry](https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key){:
295
- # class="external" }
290
+ # Contains information about a Windows application that is retrieved from the
291
+ # Windows Registry. For more information about these fields, see:
292
+ # https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
296
293
  # @!attribute [rw] display_name
297
294
  # @return [::String]
298
295
  # The name of the application or product.
@@ -351,11 +348,9 @@ module Google
351
348
  # @return [::String]
352
349
  # Required. The parent resource name.
353
350
  #
354
- # Format: `projects/{project}/locations/{location}/instances/{instance}`
351
+ # Format: `projects/{project}/locations/{location}/instances/-`
355
352
  #
356
- # For `{project}`, either `project-number` or `project-id` can be
357
- # provided. For `{instance}`, only hyphen or dash character is supported to
358
- # list inventories across VMs.
353
+ # For `{project}`, either `project-number` or `project-id` can be provided.
359
354
  # @!attribute [rw] view
360
355
  # @return [::Google::Cloud::OsConfig::V1alpha::InventoryView]
361
356
  # Inventory view indicating what information should be included in the
@@ -58,8 +58,7 @@ module Google
58
58
  include ::Google::Protobuf::MessageExts
59
59
  extend ::Google::Protobuf::MessageExts::ClassMethods
60
60
 
61
- # The `OSFilter` is used to specify the OS filtering criteria for the
62
- # resource group.
61
+ # Filtering criteria to select VMs based on OS details.
63
62
  # @!attribute [rw] os_short_name
64
63
  # @return [::String]
65
64
  # This should match OS short name emitted by the OS inventory agent.
@@ -76,6 +75,24 @@ module Google
76
75
  extend ::Google::Protobuf::MessageExts::ClassMethods
77
76
  end
78
77
 
78
+ # Filtering criteria to select VMs based on inventory details.
79
+ # @!attribute [rw] os_short_name
80
+ # @return [::String]
81
+ # Required. The OS short name
82
+ # @!attribute [rw] os_version
83
+ # @return [::String]
84
+ # The OS version
85
+ #
86
+ # Prefix matches are supported if asterisk(*) is provided as the
87
+ # last character. For example, to match all versions with a major
88
+ # version of `7`, specify the following value for this field `7.*`
89
+ #
90
+ # An empty string matches all OS versions.
91
+ class InventoryFilter
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
79
96
  # An OS policy resource is used to define the desired state configuration
80
97
  # and provides a specific functionality like installing/removing packages,
81
98
  # executing a script etc.
@@ -473,21 +490,21 @@ module Google
473
490
 
474
491
  # The interpreter to use.
475
492
  module Interpreter
476
- # Defaults to NONE.
493
+ # Invalid value, the request will return validation error.
477
494
  INTERPRETER_UNSPECIFIED = 0
478
495
 
479
- # If no interpreter is specified the
480
- # source will be executed directly, which will likely only
481
- # succeed for executables and scripts with shebang lines.
482
- # [Wikipedia
483
- # shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).
496
+ # If an interpreter is not specified, the
497
+ # source is executed directly. This execution, without an
498
+ # interpreter, only succeeds for executables and scripts that have <a
499
+ # href="https://en.wikipedia.org/wiki/Shebang_(Unix)"
500
+ # class="external">shebang lines</a>.
484
501
  NONE = 1
485
502
 
486
- # Indicates that the script will be run with /bin/sh on Linux and
487
- # cmd.exe on windows.
503
+ # Indicates that the script runs with `/bin/sh` on Linux and
504
+ # `cmd.exe` on Windows.
488
505
  SHELL = 2
489
506
 
490
- # Indicates that the script will be run with powershell.
507
+ # Indicates that the script runs with PowerShell.
491
508
  POWERSHELL = 3
492
509
  end
493
510
  end
@@ -554,7 +571,23 @@ module Google
554
571
  # within the resource group.
555
572
  # @!attribute [rw] os_filter
556
573
  # @return [::Google::Cloud::OsConfig::V1alpha::OSPolicy::OSFilter]
574
+ # Deprecated. Use the `inventory_filters` field instead.
557
575
  # Used to specify the OS filter for a resource group
576
+ # @!attribute [rw] inventory_filters
577
+ # @return [::Array<::Google::Cloud::OsConfig::V1alpha::OSPolicy::InventoryFilter>]
578
+ # List of inventory filters for the resource group.
579
+ #
580
+ # The resources in this resource group are applied to the target VM if it
581
+ # satisfies at least one of the following inventory filters.
582
+ #
583
+ # For example, to apply this resource group to VMs running either `RHEL` or
584
+ # `CentOS` operating systems, specify 2 items for the list with following
585
+ # values:
586
+ # inventory_filters[0].os_short_name='rhel' and
587
+ # inventory_filters[1].os_short_name='centos'
588
+ #
589
+ # If the list is empty, this resource group will be applied to the target
590
+ # VM unconditionally.
558
591
  # @!attribute [rw] resources
559
592
  # @return [::Array<::Google::Cloud::OsConfig::V1alpha::OSPolicy::Resource>]
560
593
  # Required. List of resources configured for this resource group.