google-cloud-os_config-v1 0.1.4 → 0.4.1
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.
- 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 +39 -27
- 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 +10 -10
- 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 +24 -11
@@ -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
|