google-cloud-os_config-v1 0.4.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +8 -8
- data/README.md +1 -1
- data/lib/google/cloud/os_config/v1/os_config_service/client.rb +58 -50
- data/lib/google/cloud/os_config/v1/os_config_zonal_service/client.rb +653 -0
- data/lib/google/cloud/os_config/v1/os_config_zonal_service/credentials.rb +51 -0
- data/lib/google/cloud/os_config/v1/os_config_zonal_service/paths.rb +114 -0
- data/lib/google/cloud/os_config/v1/os_config_zonal_service.rb +52 -0
- data/lib/google/cloud/os_config/v1/version.rb +1 -1
- data/lib/google/cloud/os_config/v1.rb +1 -0
- data/lib/google/cloud/osconfig/v1/inventory_pb.rb +45 -7
- data/lib/google/cloud/osconfig/v1/osconfig_service_services_pb.rb +1 -1
- data/lib/google/cloud/osconfig/v1/osconfig_zonal_service_pb.rb +23 -0
- data/lib/google/cloud/osconfig/v1/osconfig_zonal_service_services_pb.rb +56 -0
- data/lib/google/cloud/osconfig/v1/vulnerability_pb.rb +119 -0
- data/proto_docs/google/api/field_behavior.rb +7 -1
- data/proto_docs/google/cloud/osconfig/v1/inventory.rb +141 -19
- data/proto_docs/google/cloud/osconfig/v1/vulnerability.rb +342 -0
- data/proto_docs/google/type/date.rb +53 -0
- data/proto_docs/google/type/datetime.rb +9 -1
- data/proto_docs/google/type/dayofweek.rb +9 -9
- data/proto_docs/google/type/timeofday.rb +2 -1
- metadata +13 -4
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2021 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
require "googleauth"
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Cloud
|
23
|
+
module OsConfig
|
24
|
+
module V1
|
25
|
+
module OsConfigZonalService
|
26
|
+
# Credentials for the OsConfigZonalService API.
|
27
|
+
class Credentials < ::Google::Auth::Credentials
|
28
|
+
self.scope = [
|
29
|
+
"https://www.googleapis.com/auth/cloud-platform"
|
30
|
+
]
|
31
|
+
self.env_vars = [
|
32
|
+
"OS_CONFIG_CREDENTIALS",
|
33
|
+
"OS_CONFIG_KEYFILE",
|
34
|
+
"GOOGLE_CLOUD_CREDENTIALS",
|
35
|
+
"GOOGLE_CLOUD_KEYFILE",
|
36
|
+
"GCLOUD_KEYFILE",
|
37
|
+
"OS_CONFIG_CREDENTIALS_JSON",
|
38
|
+
"OS_CONFIG_KEYFILE_JSON",
|
39
|
+
"GOOGLE_CLOUD_CREDENTIALS_JSON",
|
40
|
+
"GOOGLE_CLOUD_KEYFILE_JSON",
|
41
|
+
"GCLOUD_KEYFILE_JSON"
|
42
|
+
]
|
43
|
+
self.paths = [
|
44
|
+
"~/.config/google_cloud/application_default_credentials.json"
|
45
|
+
]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2021 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module OsConfig
|
23
|
+
module V1
|
24
|
+
module OsConfigZonalService
|
25
|
+
# Path helper methods for the OsConfigZonalService API.
|
26
|
+
module Paths
|
27
|
+
##
|
28
|
+
# Create a fully-qualified Instance resource string.
|
29
|
+
#
|
30
|
+
# @overload instance_path(project:, zone:, instance:)
|
31
|
+
# The resource will be in the following format:
|
32
|
+
#
|
33
|
+
# `projects/{project}/zones/{zone}/instances/{instance}`
|
34
|
+
#
|
35
|
+
# @param project [String]
|
36
|
+
# @param zone [String]
|
37
|
+
# @param instance [String]
|
38
|
+
#
|
39
|
+
# @overload instance_path(project:, location:, instance:)
|
40
|
+
# The resource will be in the following format:
|
41
|
+
#
|
42
|
+
# `projects/{project}/locations/{location}/instances/{instance}`
|
43
|
+
#
|
44
|
+
# @param project [String]
|
45
|
+
# @param location [String]
|
46
|
+
# @param instance [String]
|
47
|
+
#
|
48
|
+
# @return [::String]
|
49
|
+
def instance_path **args
|
50
|
+
resources = {
|
51
|
+
"instance:project:zone" => (proc do |project:, zone:, instance:|
|
52
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
53
|
+
raise ::ArgumentError, "zone cannot contain /" if zone.to_s.include? "/"
|
54
|
+
|
55
|
+
"projects/#{project}/zones/#{zone}/instances/#{instance}"
|
56
|
+
end),
|
57
|
+
"instance:location:project" => (proc do |project:, location:, instance:|
|
58
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
59
|
+
raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
|
60
|
+
|
61
|
+
"projects/#{project}/locations/#{location}/instances/#{instance}"
|
62
|
+
end)
|
63
|
+
}
|
64
|
+
|
65
|
+
resource = resources[args.keys.sort.join(":")]
|
66
|
+
raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
|
67
|
+
resource.call(**args)
|
68
|
+
end
|
69
|
+
|
70
|
+
##
|
71
|
+
# Create a fully-qualified Inventory resource string.
|
72
|
+
#
|
73
|
+
# The resource will be in the following format:
|
74
|
+
#
|
75
|
+
# `projects/{project}/locations/{location}/instances/{instance}/inventory`
|
76
|
+
#
|
77
|
+
# @param project [String]
|
78
|
+
# @param location [String]
|
79
|
+
# @param instance [String]
|
80
|
+
#
|
81
|
+
# @return [::String]
|
82
|
+
def inventory_path project:, location:, instance:
|
83
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
84
|
+
raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
|
85
|
+
|
86
|
+
"projects/#{project}/locations/#{location}/instances/#{instance}/inventory"
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Create a fully-qualified VulnerabilityReport resource string.
|
91
|
+
#
|
92
|
+
# The resource will be in the following format:
|
93
|
+
#
|
94
|
+
# `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport`
|
95
|
+
#
|
96
|
+
# @param project [String]
|
97
|
+
# @param location [String]
|
98
|
+
# @param instance [String]
|
99
|
+
#
|
100
|
+
# @return [::String]
|
101
|
+
def vulnerability_report_path project:, location:, instance:
|
102
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
103
|
+
raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
|
104
|
+
|
105
|
+
"projects/#{project}/locations/#{location}/instances/#{instance}/vulnerabilityReport"
|
106
|
+
end
|
107
|
+
|
108
|
+
extend self
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2021 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
require "gapic/common"
|
20
|
+
require "gapic/config"
|
21
|
+
require "gapic/config/method"
|
22
|
+
|
23
|
+
require "google/cloud/os_config/v1/version"
|
24
|
+
|
25
|
+
require "google/cloud/os_config/v1/os_config_zonal_service/credentials"
|
26
|
+
require "google/cloud/os_config/v1/os_config_zonal_service/paths"
|
27
|
+
require "google/cloud/os_config/v1/os_config_zonal_service/client"
|
28
|
+
|
29
|
+
module Google
|
30
|
+
module Cloud
|
31
|
+
module OsConfig
|
32
|
+
module V1
|
33
|
+
##
|
34
|
+
# Zonal OS Config API
|
35
|
+
#
|
36
|
+
# The OS Config service is the server-side component that allows users to
|
37
|
+
# manage package installations and patch jobs for Compute Engine VM instances.
|
38
|
+
#
|
39
|
+
# To load this service and instantiate a client:
|
40
|
+
#
|
41
|
+
# require "google/cloud/os_config/v1/os_config_zonal_service"
|
42
|
+
# client = ::Google::Cloud::OsConfig::V1::OsConfigZonalService::Client.new
|
43
|
+
#
|
44
|
+
module OsConfigZonalService
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
helper_path = ::File.join __dir__, "os_config_zonal_service", "helpers.rb"
|
52
|
+
require "google/cloud/os_config/v1/os_config_zonal_service/helpers" if ::File.file? helper_path
|
@@ -3,12 +3,17 @@
|
|
3
3
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
|
+
require 'google/api/field_behavior_pb'
|
7
|
+
require 'google/api/resource_pb'
|
6
8
|
require 'google/protobuf/timestamp_pb'
|
9
|
+
require 'google/type/date_pb'
|
7
10
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
11
|
add_file("google/cloud/osconfig/v1/inventory.proto", :syntax => :proto3) do
|
9
12
|
add_message "google.cloud.osconfig.v1.Inventory" do
|
13
|
+
optional :name, :string, 3
|
10
14
|
optional :os_info, :message, 1, "google.cloud.osconfig.v1.Inventory.OsInfo"
|
11
15
|
map :items, :string, :message, 2, "google.cloud.osconfig.v1.Inventory.Item"
|
16
|
+
optional :update_time, :message, 4, "google.protobuf.Timestamp"
|
12
17
|
end
|
13
18
|
add_message "google.cloud.osconfig.v1.Inventory.OsInfo" do
|
14
19
|
optional :hostname, :string, 9
|
@@ -50,6 +55,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
50
55
|
optional :wua_package, :message, 6, "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage"
|
51
56
|
optional :qfe_package, :message, 7, "google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage"
|
52
57
|
optional :cos_package, :message, 8, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
|
58
|
+
optional :windows_application, :message, 9, "google.cloud.osconfig.v1.Inventory.WindowsApplication"
|
53
59
|
end
|
54
60
|
end
|
55
61
|
add_message "google.cloud.osconfig.v1.Inventory.VersionedPackage" do
|
@@ -57,6 +63,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
57
63
|
optional :architecture, :string, 2
|
58
64
|
optional :version, :string, 3
|
59
65
|
end
|
66
|
+
add_message "google.cloud.osconfig.v1.Inventory.ZypperPatch" do
|
67
|
+
optional :patch_name, :string, 5
|
68
|
+
optional :category, :string, 2
|
69
|
+
optional :severity, :string, 3
|
70
|
+
optional :summary, :string, 4
|
71
|
+
end
|
60
72
|
add_message "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage" do
|
61
73
|
optional :title, :string, 1
|
62
74
|
optional :description, :string, 2
|
@@ -72,18 +84,39 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
72
84
|
optional :id, :string, 1
|
73
85
|
optional :name, :string, 2
|
74
86
|
end
|
75
|
-
add_message "google.cloud.osconfig.v1.Inventory.ZypperPatch" do
|
76
|
-
optional :patch_name, :string, 5
|
77
|
-
optional :category, :string, 2
|
78
|
-
optional :severity, :string, 3
|
79
|
-
optional :summary, :string, 4
|
80
|
-
end
|
81
87
|
add_message "google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage" do
|
82
88
|
optional :caption, :string, 1
|
83
89
|
optional :description, :string, 2
|
84
90
|
optional :hot_fix_id, :string, 3
|
85
91
|
optional :install_time, :message, 5, "google.protobuf.Timestamp"
|
86
92
|
end
|
93
|
+
add_message "google.cloud.osconfig.v1.Inventory.WindowsApplication" do
|
94
|
+
optional :display_name, :string, 1
|
95
|
+
optional :display_version, :string, 2
|
96
|
+
optional :publisher, :string, 3
|
97
|
+
optional :install_date, :message, 4, "google.type.Date"
|
98
|
+
optional :help_link, :string, 5
|
99
|
+
end
|
100
|
+
add_message "google.cloud.osconfig.v1.GetInventoryRequest" do
|
101
|
+
optional :name, :string, 1
|
102
|
+
optional :view, :enum, 2, "google.cloud.osconfig.v1.InventoryView"
|
103
|
+
end
|
104
|
+
add_message "google.cloud.osconfig.v1.ListInventoriesRequest" do
|
105
|
+
optional :parent, :string, 1
|
106
|
+
optional :view, :enum, 2, "google.cloud.osconfig.v1.InventoryView"
|
107
|
+
optional :page_size, :int32, 3
|
108
|
+
optional :page_token, :string, 4
|
109
|
+
optional :filter, :string, 5
|
110
|
+
end
|
111
|
+
add_message "google.cloud.osconfig.v1.ListInventoriesResponse" do
|
112
|
+
repeated :inventories, :message, 1, "google.cloud.osconfig.v1.Inventory"
|
113
|
+
optional :next_page_token, :string, 2
|
114
|
+
end
|
115
|
+
add_enum "google.cloud.osconfig.v1.InventoryView" do
|
116
|
+
value :INVENTORY_VIEW_UNSPECIFIED, 0
|
117
|
+
value :BASIC, 1
|
118
|
+
value :FULL, 2
|
119
|
+
end
|
87
120
|
end
|
88
121
|
end
|
89
122
|
|
@@ -98,10 +131,15 @@ module Google
|
|
98
131
|
Inventory::Item::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.Item.Type").enummodule
|
99
132
|
Inventory::SoftwarePackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.SoftwarePackage").msgclass
|
100
133
|
Inventory::VersionedPackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.VersionedPackage").msgclass
|
134
|
+
Inventory::ZypperPatch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.ZypperPatch").msgclass
|
101
135
|
Inventory::WindowsUpdatePackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage").msgclass
|
102
136
|
Inventory::WindowsUpdatePackage::WindowsUpdateCategory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory").msgclass
|
103
|
-
Inventory::ZypperPatch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.ZypperPatch").msgclass
|
104
137
|
Inventory::WindowsQuickFixEngineeringPackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage").msgclass
|
138
|
+
Inventory::WindowsApplication = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsApplication").msgclass
|
139
|
+
GetInventoryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.GetInventoryRequest").msgclass
|
140
|
+
ListInventoriesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListInventoriesRequest").msgclass
|
141
|
+
ListInventoriesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListInventoriesResponse").msgclass
|
142
|
+
InventoryView = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.InventoryView").enummodule
|
105
143
|
end
|
106
144
|
end
|
107
145
|
end
|
@@ -30,7 +30,7 @@ module Google
|
|
30
30
|
# manage package installations and patch jobs for virtual machine instances.
|
31
31
|
class Service
|
32
32
|
|
33
|
-
include
|
33
|
+
include GRPC::GenericService
|
34
34
|
|
35
35
|
self.marshal_class_method = :encode
|
36
36
|
self.unmarshal_class_method = :decode
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/cloud/osconfig/v1/osconfig_zonal_service.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/api/client_pb'
|
8
|
+
require 'google/api/resource_pb'
|
9
|
+
require 'google/cloud/osconfig/v1/inventory_pb'
|
10
|
+
require 'google/cloud/osconfig/v1/vulnerability_pb'
|
11
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
12
|
+
add_file("google/cloud/osconfig/v1/osconfig_zonal_service.proto", :syntax => :proto3) do
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module OsConfig
|
19
|
+
module V1
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: google/cloud/osconfig/v1/osconfig_zonal_service.proto for package 'Google.Cloud.OsConfig.V1'
|
3
|
+
# Original file comments:
|
4
|
+
# Copyright 2021 Google LLC
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'grpc'
|
20
|
+
require 'google/cloud/osconfig/v1/osconfig_zonal_service_pb'
|
21
|
+
|
22
|
+
module Google
|
23
|
+
module Cloud
|
24
|
+
module OsConfig
|
25
|
+
module V1
|
26
|
+
module OsConfigZonalService
|
27
|
+
# Zonal OS Config API
|
28
|
+
#
|
29
|
+
# The OS Config service is the server-side component that allows users to
|
30
|
+
# manage package installations and patch jobs for Compute Engine VM instances.
|
31
|
+
class Service
|
32
|
+
|
33
|
+
include GRPC::GenericService
|
34
|
+
|
35
|
+
self.marshal_class_method = :encode
|
36
|
+
self.unmarshal_class_method = :decode
|
37
|
+
self.service_name = 'google.cloud.osconfig.v1.OsConfigZonalService'
|
38
|
+
|
39
|
+
# Get inventory data for the specified VM instance. If the VM has no
|
40
|
+
# associated inventory, the message `NOT_FOUND` is returned.
|
41
|
+
rpc :GetInventory, ::Google::Cloud::OsConfig::V1::GetInventoryRequest, ::Google::Cloud::OsConfig::V1::Inventory
|
42
|
+
# List inventory data for all VM instances in the specified zone.
|
43
|
+
rpc :ListInventories, ::Google::Cloud::OsConfig::V1::ListInventoriesRequest, ::Google::Cloud::OsConfig::V1::ListInventoriesResponse
|
44
|
+
# Gets the vulnerability report for the specified VM instance. Only VMs with
|
45
|
+
# inventory data have vulnerability reports associated with them.
|
46
|
+
rpc :GetVulnerabilityReport, ::Google::Cloud::OsConfig::V1::GetVulnerabilityReportRequest, ::Google::Cloud::OsConfig::V1::VulnerabilityReport
|
47
|
+
# List vulnerability reports for all VM instances in the specified zone.
|
48
|
+
rpc :ListVulnerabilityReports, ::Google::Cloud::OsConfig::V1::ListVulnerabilityReportsRequest, ::Google::Cloud::OsConfig::V1::ListVulnerabilityReportsResponse
|
49
|
+
end
|
50
|
+
|
51
|
+
Stub = Service.rpc_stub_class
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/cloud/osconfig/v1/vulnerability.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/field_behavior_pb'
|
7
|
+
require 'google/api/resource_pb'
|
8
|
+
require 'google/protobuf/timestamp_pb'
|
9
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
|
+
add_file("google/cloud/osconfig/v1/vulnerability.proto", :syntax => :proto3) do
|
11
|
+
add_message "google.cloud.osconfig.v1.VulnerabilityReport" do
|
12
|
+
optional :name, :string, 1
|
13
|
+
repeated :vulnerabilities, :message, 2, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability"
|
14
|
+
optional :update_time, :message, 3, "google.protobuf.Timestamp"
|
15
|
+
end
|
16
|
+
add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability" do
|
17
|
+
optional :details, :message, 1, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details"
|
18
|
+
repeated :installed_inventory_item_ids, :string, 2
|
19
|
+
repeated :available_inventory_item_ids, :string, 3
|
20
|
+
optional :create_time, :message, 4, "google.protobuf.Timestamp"
|
21
|
+
optional :update_time, :message, 5, "google.protobuf.Timestamp"
|
22
|
+
end
|
23
|
+
add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details" do
|
24
|
+
optional :cve, :string, 1
|
25
|
+
optional :cvss_v2_score, :float, 2
|
26
|
+
optional :cvss_v3, :message, 3, "google.cloud.osconfig.v1.CVSSv3"
|
27
|
+
optional :severity, :string, 4
|
28
|
+
optional :description, :string, 5
|
29
|
+
repeated :references, :message, 6, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference"
|
30
|
+
end
|
31
|
+
add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference" do
|
32
|
+
optional :url, :string, 1
|
33
|
+
optional :source, :string, 2
|
34
|
+
end
|
35
|
+
add_message "google.cloud.osconfig.v1.GetVulnerabilityReportRequest" do
|
36
|
+
optional :name, :string, 1
|
37
|
+
end
|
38
|
+
add_message "google.cloud.osconfig.v1.ListVulnerabilityReportsRequest" do
|
39
|
+
optional :parent, :string, 1
|
40
|
+
optional :page_size, :int32, 2
|
41
|
+
optional :page_token, :string, 3
|
42
|
+
optional :filter, :string, 4
|
43
|
+
end
|
44
|
+
add_message "google.cloud.osconfig.v1.ListVulnerabilityReportsResponse" do
|
45
|
+
repeated :vulnerability_reports, :message, 1, "google.cloud.osconfig.v1.VulnerabilityReport"
|
46
|
+
optional :next_page_token, :string, 2
|
47
|
+
end
|
48
|
+
add_message "google.cloud.osconfig.v1.CVSSv3" do
|
49
|
+
optional :base_score, :float, 1
|
50
|
+
optional :exploitability_score, :float, 2
|
51
|
+
optional :impact_score, :float, 3
|
52
|
+
optional :attack_vector, :enum, 5, "google.cloud.osconfig.v1.CVSSv3.AttackVector"
|
53
|
+
optional :attack_complexity, :enum, 6, "google.cloud.osconfig.v1.CVSSv3.AttackComplexity"
|
54
|
+
optional :privileges_required, :enum, 7, "google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired"
|
55
|
+
optional :user_interaction, :enum, 8, "google.cloud.osconfig.v1.CVSSv3.UserInteraction"
|
56
|
+
optional :scope, :enum, 9, "google.cloud.osconfig.v1.CVSSv3.Scope"
|
57
|
+
optional :confidentiality_impact, :enum, 10, "google.cloud.osconfig.v1.CVSSv3.Impact"
|
58
|
+
optional :integrity_impact, :enum, 11, "google.cloud.osconfig.v1.CVSSv3.Impact"
|
59
|
+
optional :availability_impact, :enum, 12, "google.cloud.osconfig.v1.CVSSv3.Impact"
|
60
|
+
end
|
61
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.AttackVector" do
|
62
|
+
value :ATTACK_VECTOR_UNSPECIFIED, 0
|
63
|
+
value :ATTACK_VECTOR_NETWORK, 1
|
64
|
+
value :ATTACK_VECTOR_ADJACENT, 2
|
65
|
+
value :ATTACK_VECTOR_LOCAL, 3
|
66
|
+
value :ATTACK_VECTOR_PHYSICAL, 4
|
67
|
+
end
|
68
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.AttackComplexity" do
|
69
|
+
value :ATTACK_COMPLEXITY_UNSPECIFIED, 0
|
70
|
+
value :ATTACK_COMPLEXITY_LOW, 1
|
71
|
+
value :ATTACK_COMPLEXITY_HIGH, 2
|
72
|
+
end
|
73
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired" do
|
74
|
+
value :PRIVILEGES_REQUIRED_UNSPECIFIED, 0
|
75
|
+
value :PRIVILEGES_REQUIRED_NONE, 1
|
76
|
+
value :PRIVILEGES_REQUIRED_LOW, 2
|
77
|
+
value :PRIVILEGES_REQUIRED_HIGH, 3
|
78
|
+
end
|
79
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.UserInteraction" do
|
80
|
+
value :USER_INTERACTION_UNSPECIFIED, 0
|
81
|
+
value :USER_INTERACTION_NONE, 1
|
82
|
+
value :USER_INTERACTION_REQUIRED, 2
|
83
|
+
end
|
84
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.Scope" do
|
85
|
+
value :SCOPE_UNSPECIFIED, 0
|
86
|
+
value :SCOPE_UNCHANGED, 1
|
87
|
+
value :SCOPE_CHANGED, 2
|
88
|
+
end
|
89
|
+
add_enum "google.cloud.osconfig.v1.CVSSv3.Impact" do
|
90
|
+
value :IMPACT_UNSPECIFIED, 0
|
91
|
+
value :IMPACT_HIGH, 1
|
92
|
+
value :IMPACT_LOW, 2
|
93
|
+
value :IMPACT_NONE, 3
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
module Google
|
99
|
+
module Cloud
|
100
|
+
module OsConfig
|
101
|
+
module V1
|
102
|
+
VulnerabilityReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport").msgclass
|
103
|
+
VulnerabilityReport::Vulnerability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability").msgclass
|
104
|
+
VulnerabilityReport::Vulnerability::Details = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details").msgclass
|
105
|
+
VulnerabilityReport::Vulnerability::Details::Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference").msgclass
|
106
|
+
GetVulnerabilityReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.GetVulnerabilityReportRequest").msgclass
|
107
|
+
ListVulnerabilityReportsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListVulnerabilityReportsRequest").msgclass
|
108
|
+
ListVulnerabilityReportsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListVulnerabilityReportsResponse").msgclass
|
109
|
+
CVSSv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3").msgclass
|
110
|
+
CVSSv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.AttackVector").enummodule
|
111
|
+
CVSSv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.AttackComplexity").enummodule
|
112
|
+
CVSSv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired").enummodule
|
113
|
+
CVSSv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.UserInteraction").enummodule
|
114
|
+
CVSSv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.Scope").enummodule
|
115
|
+
CVSSv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.Impact").enummodule
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|