google-cloud-os_config-v1 0.1.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.md +188 -190
- data/README.md +66 -2
- data/lib/google/cloud/os_config/v1.rb +3 -0
- data/lib/google/cloud/os_config/v1/os_config_service/client.rb +40 -28
- data/lib/google/cloud/os_config/v1/version.rb +1 -1
- data/lib/google/cloud/osconfig/v1/inventory_pb.rb +108 -0
- data/lib/google/cloud/osconfig/v1/osconfig_common_pb.rb +25 -0
- data/lib/google/cloud/osconfig/v1/osconfig_service_services_pb.rb +9 -9
- data/lib/google/cloud/osconfig/v1/patch_deployments_pb.rb +1 -0
- data/lib/google/cloud/osconfig/v1/patch_jobs_pb.rb +14 -0
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/cloud/osconfig/v1/inventory.rb +284 -0
- data/proto_docs/google/cloud/osconfig/v1/osconfig_common.rb +40 -0
- data/proto_docs/google/cloud/osconfig/v1/patch_deployments.rb +24 -17
- data/proto_docs/google/cloud/osconfig/v1/patch_jobs.rb +64 -5
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +14 -7
@@ -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
|
@@ -0,0 +1,40 @@
|
|
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
|
+
# Message encapsulating a value that can be either absolute ("fixed") or
|
25
|
+
# relative ("percent") to a value.
|
26
|
+
# @!attribute [rw] fixed
|
27
|
+
# @return [::Integer]
|
28
|
+
# Specifies a fixed value.
|
29
|
+
# @!attribute [rw] percent
|
30
|
+
# @return [::Integer]
|
31
|
+
# Specifies the relative value defined as a percentage, which will be
|
32
|
+
# multiplied by a reference value.
|
33
|
+
class FixedOrPercent
|
34
|
+
include ::Google::Protobuf::MessageExts
|
35
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -34,8 +34,8 @@ module Google
|
|
34
34
|
# This field is ignored when you create a new patch deployment.
|
35
35
|
# @!attribute [rw] description
|
36
36
|
# @return [::String]
|
37
|
-
# Optional. Description of the patch deployment. Length of the description is
|
38
|
-
# to 1024 characters.
|
37
|
+
# Optional. Description of the patch deployment. Length of the description is
|
38
|
+
# limited to 1024 characters.
|
39
39
|
# @!attribute [rw] instance_filter
|
40
40
|
# @return [::Google::Cloud::OsConfig::V1::PatchInstanceFilter]
|
41
41
|
# Required. VM instances to patch.
|
@@ -44,7 +44,8 @@ module Google
|
|
44
44
|
# Optional. Patch configuration that is applied.
|
45
45
|
# @!attribute [rw] duration
|
46
46
|
# @return [::Google::Protobuf::Duration]
|
47
|
-
# Optional. Duration of the patch. After the duration ends, the patch times
|
47
|
+
# Optional. Duration of the patch. After the duration ends, the patch times
|
48
|
+
# out.
|
48
49
|
# @!attribute [rw] one_time_schedule
|
49
50
|
# @return [::Google::Cloud::OsConfig::V1::OneTimeSchedule]
|
50
51
|
# Required. Schedule a one-time execution.
|
@@ -64,6 +65,9 @@ module Google
|
|
64
65
|
# Output only. The last time a patch job was started by this deployment.
|
65
66
|
# Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
|
66
67
|
# format.
|
68
|
+
# @!attribute [rw] rollout
|
69
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchRollout]
|
70
|
+
# Optional. Rollout strategy of the patch job.
|
67
71
|
class PatchDeployment
|
68
72
|
include ::Google::Protobuf::MessageExts
|
69
73
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -90,8 +94,8 @@ module Google
|
|
90
94
|
# Defaults to `create_time` of the patch deployment.
|
91
95
|
# @!attribute [rw] end_time
|
92
96
|
# @return [::Google::Protobuf::Timestamp]
|
93
|
-
# Optional. The end time at which a recurring patch deployment schedule is no
|
94
|
-
# active.
|
97
|
+
# Optional. The end time at which a recurring patch deployment schedule is no
|
98
|
+
# longer active.
|
95
99
|
# @!attribute [rw] time_of_day
|
96
100
|
# @return [::Google::Type::TimeOfDay]
|
97
101
|
# Required. Time of the day to run a recurring deployment.
|
@@ -145,10 +149,10 @@ module Google
|
|
145
149
|
# Required. Week day in a month.
|
146
150
|
# @!attribute [rw] month_day
|
147
151
|
# @return [::Integer]
|
148
|
-
# Required. One day of the month. 1-31 indicates the 1st to the 31st day.
|
149
|
-
# indicates the last day of the month.
|
150
|
-
#
|
151
|
-
#
|
152
|
+
# Required. One day of the month. 1-31 indicates the 1st to the 31st day.
|
153
|
+
# -1 indicates the last day of the month. Months without the target day
|
154
|
+
# will be skipped. For example, a schedule to run "every month on the 31st"
|
155
|
+
# will not run in February, April, June, etc.
|
152
156
|
class MonthlySchedule
|
153
157
|
include ::Google::Protobuf::MessageExts
|
154
158
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -157,8 +161,8 @@ module Google
|
|
157
161
|
# Represents one week day in a month. An example is "the 4th Sunday".
|
158
162
|
# @!attribute [rw] week_ordinal
|
159
163
|
# @return [::Integer]
|
160
|
-
# Required. Week number in a month. 1-4 indicates the 1st to 4th week of the
|
161
|
-
# indicates the last week of the month.
|
164
|
+
# Required. Week number in a month. 1-4 indicates the 1st to 4th week of the
|
165
|
+
# month. -1 indicates the last week of the month.
|
162
166
|
# @!attribute [rw] day_of_week
|
163
167
|
# @return [::Google::Type::DayOfWeek]
|
164
168
|
# Required. A day of the week.
|
@@ -170,11 +174,12 @@ module Google
|
|
170
174
|
# A request message for creating a patch deployment.
|
171
175
|
# @!attribute [rw] parent
|
172
176
|
# @return [::String]
|
173
|
-
# Required. The project to apply this patch deployment to in the form
|
177
|
+
# Required. The project to apply this patch deployment to in the form
|
178
|
+
# `projects/*`.
|
174
179
|
# @!attribute [rw] patch_deployment_id
|
175
180
|
# @return [::String]
|
176
|
-
# Required. A name for the patch deployment in the project. When creating a
|
177
|
-
# the following rules apply:
|
181
|
+
# Required. A name for the patch deployment in the project. When creating a
|
182
|
+
# name the following rules apply:
|
178
183
|
# * Must contain only lowercase letters, numbers, and hyphens.
|
179
184
|
# * Must start with a letter.
|
180
185
|
# * Must be between 1-63 characters.
|
@@ -204,11 +209,13 @@ module Google
|
|
204
209
|
# Required. The resource name of the parent in the form `projects/*`.
|
205
210
|
# @!attribute [rw] page_size
|
206
211
|
# @return [::Integer]
|
207
|
-
# Optional. The maximum number of patch deployments to return. Default is
|
212
|
+
# Optional. The maximum number of patch deployments to return. Default is
|
213
|
+
# 100.
|
208
214
|
# @!attribute [rw] page_token
|
209
215
|
# @return [::String]
|
210
|
-
# Optional. A pagination token returned from a previous call to
|
211
|
-
# that indicates where this listing should continue
|
216
|
+
# Optional. A pagination token returned from a previous call to
|
217
|
+
# ListPatchDeployments that indicates where this listing should continue
|
218
|
+
# from.
|
212
219
|
class ListPatchDeploymentsRequest
|
213
220
|
include ::Google::Protobuf::MessageExts
|
214
221
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -32,8 +32,8 @@ module Google
|
|
32
32
|
# to 1024 characters.
|
33
33
|
# @!attribute [rw] instance_filter
|
34
34
|
# @return [::Google::Cloud::OsConfig::V1::PatchInstanceFilter]
|
35
|
-
# Required. Instances to patch, either explicitly or filtered by some
|
36
|
-
# as zone or labels.
|
35
|
+
# Required. Instances to patch, either explicitly or filtered by some
|
36
|
+
# criteria such as zone or labels.
|
37
37
|
# @!attribute [rw] patch_config
|
38
38
|
# @return [::Google::Cloud::OsConfig::V1::PatchConfig]
|
39
39
|
# Patch configuration being applied. If omitted, instances are
|
@@ -49,6 +49,9 @@ module Google
|
|
49
49
|
# @!attribute [rw] display_name
|
50
50
|
# @return [::String]
|
51
51
|
# Display name for this patch job. This does not have to be unique.
|
52
|
+
# @!attribute [rw] rollout
|
53
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchRollout]
|
54
|
+
# Rollout strategy of the patch job.
|
52
55
|
class ExecutePatchJobRequest
|
53
56
|
include ::Google::Protobuf::MessageExts
|
54
57
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -66,7 +69,8 @@ module Google
|
|
66
69
|
# Request to list details for all instances that are part of a patch job.
|
67
70
|
# @!attribute [rw] parent
|
68
71
|
# @return [::String]
|
69
|
-
# Required. The parent for the instances are in the form of
|
72
|
+
# Required. The parent for the instances are in the form of
|
73
|
+
# `projects/*/patchJobs/*`.
|
70
74
|
# @!attribute [rw] page_size
|
71
75
|
# @return [::Integer]
|
72
76
|
# The maximum number of instance details records to return. Default is 100.
|
@@ -157,7 +161,7 @@ module Google
|
|
157
161
|
# A high level representation of a patch job that is either in progress
|
158
162
|
# or has completed.
|
159
163
|
#
|
160
|
-
#
|
164
|
+
# Instance details are not included in the job. To paginate through instance
|
161
165
|
# details, use ListPatchJobInstanceDetails.
|
162
166
|
#
|
163
167
|
# For more information about patch jobs, see
|
@@ -182,7 +186,7 @@ module Google
|
|
182
186
|
# Last time this patch job was updated.
|
183
187
|
# @!attribute [rw] state
|
184
188
|
# @return [::Google::Cloud::OsConfig::V1::PatchJob::State]
|
185
|
-
# The current state of the PatchJob
|
189
|
+
# The current state of the PatchJob.
|
186
190
|
# @!attribute [rw] instance_filter
|
187
191
|
# @return [::Google::Cloud::OsConfig::V1::PatchInstanceFilter]
|
188
192
|
# Instances to patch.
|
@@ -211,6 +215,9 @@ module Google
|
|
211
215
|
# @!attribute [r] patch_deployment
|
212
216
|
# @return [::String]
|
213
217
|
# Output only. Name of the patch deployment that created this patch job.
|
218
|
+
# @!attribute [rw] rollout
|
219
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchRollout]
|
220
|
+
# Rollout strategy being applied.
|
214
221
|
class PatchJob
|
215
222
|
include ::Google::Protobuf::MessageExts
|
216
223
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -707,6 +714,58 @@ module Google
|
|
707
714
|
end
|
708
715
|
end
|
709
716
|
end
|
717
|
+
|
718
|
+
# Patch rollout configuration specifications. Contains details on the
|
719
|
+
# concurrency control when applying patch(es) to all targeted VMs.
|
720
|
+
# @!attribute [rw] mode
|
721
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchRollout::Mode]
|
722
|
+
# Mode of the patch rollout.
|
723
|
+
# @!attribute [rw] disruption_budget
|
724
|
+
# @return [::Google::Cloud::OsConfig::V1::FixedOrPercent]
|
725
|
+
# The maximum number (or percentage) of VMs per zone to disrupt at any given
|
726
|
+
# moment. The number of VMs calculated from multiplying the percentage by the
|
727
|
+
# total number of VMs in a zone is rounded up.
|
728
|
+
#
|
729
|
+
# During patching, a VM is considered disrupted from the time the agent is
|
730
|
+
# notified to begin until patching has completed. This disruption time
|
731
|
+
# includes the time to complete reboot and any post-patch steps.
|
732
|
+
#
|
733
|
+
# A VM contributes to the disruption budget if its patching operation fails
|
734
|
+
# either when applying the patches, running pre or post patch steps, or if it
|
735
|
+
# fails to respond with a success notification before timing out. VMs that
|
736
|
+
# are not running or do not have an active agent do not count toward this
|
737
|
+
# disruption budget.
|
738
|
+
#
|
739
|
+
# For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
|
740
|
+
# the patch job stops, because continuing to the next zone requires
|
741
|
+
# completion of the patch process in the previous zone.
|
742
|
+
#
|
743
|
+
# For example, if the disruption budget has a fixed value of `10`, and 8 VMs
|
744
|
+
# fail to patch in the current zone, the patch job continues to patch 2 VMs
|
745
|
+
# at a time until the zone is completed. When that zone is completed
|
746
|
+
# successfully, patching begins with 10 VMs at a time in the next zone. If 10
|
747
|
+
# VMs in the next zone fail to patch, the patch job stops.
|
748
|
+
class PatchRollout
|
749
|
+
include ::Google::Protobuf::MessageExts
|
750
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
751
|
+
|
752
|
+
# Type of the rollout.
|
753
|
+
module Mode
|
754
|
+
# Mode must be specified.
|
755
|
+
MODE_UNSPECIFIED = 0
|
756
|
+
|
757
|
+
# Patches are applied one zone at a time. The patch job begins in the
|
758
|
+
# region with the lowest number of targeted VMs. Within the region,
|
759
|
+
# patching begins in the zone with the lowest number of targeted VMs. If
|
760
|
+
# multiple regions (or zones within a region) have the same number of
|
761
|
+
# targeted VMs, a tie-breaker is achieved by sorting the regions or zones
|
762
|
+
# in alphabetical order.
|
763
|
+
ZONE_BY_ZONE = 1
|
764
|
+
|
765
|
+
# Patches are applied to VMs in all zones at the same time.
|
766
|
+
CONCURRENT_ZONES = 2
|
767
|
+
end
|
768
|
+
end
|
710
769
|
end
|
711
770
|
end
|
712
771
|
end
|