google-cloud-os_config-v1alpha 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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.