google-cloud-os_config-v1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +203 -0
- data/README.md +71 -0
- data/lib/google-cloud-os_config-v1.rb +21 -0
- data/lib/google/cloud/os_config/v1.rb +35 -0
- data/lib/google/cloud/os_config/v1/os_config_service.rb +52 -0
- data/lib/google/cloud/os_config/v1/os_config_service/client.rb +1021 -0
- data/lib/google/cloud/os_config/v1/os_config_service/credentials.rb +51 -0
- data/lib/google/cloud/os_config/v1/os_config_service/paths.rb +81 -0
- data/lib/google/cloud/os_config/v1/version.rb +28 -0
- data/lib/google/cloud/osconfig/v1/osconfig_service_pb.rb +24 -0
- data/lib/google/cloud/osconfig/v1/osconfig_service_services_pb.rb +66 -0
- data/lib/google/cloud/osconfig/v1/patch_deployments_pb.rb +106 -0
- data/lib/google/cloud/osconfig/v1/patch_jobs_pb.rb +246 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +59 -0
- data/proto_docs/google/api/resource.rb +247 -0
- data/proto_docs/google/cloud/osconfig/v1/patch_deployments.rb +242 -0
- data/proto_docs/google/cloud/osconfig/v1/patch_jobs.rb +713 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/timestamp.rb +120 -0
- data/proto_docs/google/type/datetime.rb +91 -0
- data/proto_docs/google/type/dayofweek.rb +49 -0
- data/proto_docs/google/type/timeofday.rb +44 -0
- metadata +209 -0
@@ -0,0 +1,713 @@
|
|
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
|
+
# A request message to initiate patching across Compute Engine
|
25
|
+
# instances.
|
26
|
+
# @!attribute [rw] parent
|
27
|
+
# @return [::String]
|
28
|
+
# Required. The project in which to run this patch in the form `projects/*`
|
29
|
+
# @!attribute [rw] description
|
30
|
+
# @return [::String]
|
31
|
+
# Description of the patch job. Length of the description is limited
|
32
|
+
# to 1024 characters.
|
33
|
+
# @!attribute [rw] instance_filter
|
34
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchInstanceFilter]
|
35
|
+
# Required. Instances to patch, either explicitly or filtered by some criteria such
|
36
|
+
# as zone or labels.
|
37
|
+
# @!attribute [rw] patch_config
|
38
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchConfig]
|
39
|
+
# Patch configuration being applied. If omitted, instances are
|
40
|
+
# patched using the default configurations.
|
41
|
+
# @!attribute [rw] duration
|
42
|
+
# @return [::Google::Protobuf::Duration]
|
43
|
+
# Duration of the patch job. After the duration ends, the patch job
|
44
|
+
# times out.
|
45
|
+
# @!attribute [rw] dry_run
|
46
|
+
# @return [::Boolean]
|
47
|
+
# If this patch is a dry-run only, instances are contacted but
|
48
|
+
# will do nothing.
|
49
|
+
# @!attribute [rw] display_name
|
50
|
+
# @return [::String]
|
51
|
+
# Display name for this patch job. This does not have to be unique.
|
52
|
+
class ExecutePatchJobRequest
|
53
|
+
include ::Google::Protobuf::MessageExts
|
54
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
55
|
+
end
|
56
|
+
|
57
|
+
# Request to get an active or completed patch job.
|
58
|
+
# @!attribute [rw] name
|
59
|
+
# @return [::String]
|
60
|
+
# Required. Name of the patch in the form `projects/*/patchJobs/*`
|
61
|
+
class GetPatchJobRequest
|
62
|
+
include ::Google::Protobuf::MessageExts
|
63
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
64
|
+
end
|
65
|
+
|
66
|
+
# Request to list details for all instances that are part of a patch job.
|
67
|
+
# @!attribute [rw] parent
|
68
|
+
# @return [::String]
|
69
|
+
# Required. The parent for the instances are in the form of `projects/*/patchJobs/*`.
|
70
|
+
# @!attribute [rw] page_size
|
71
|
+
# @return [::Integer]
|
72
|
+
# The maximum number of instance details records to return. Default is 100.
|
73
|
+
# @!attribute [rw] page_token
|
74
|
+
# @return [::String]
|
75
|
+
# A pagination token returned from a previous call
|
76
|
+
# that indicates where this listing should continue from.
|
77
|
+
# @!attribute [rw] filter
|
78
|
+
# @return [::String]
|
79
|
+
# A filter expression that filters results listed in the response. This
|
80
|
+
# field supports filtering results by instance zone, name, state, or
|
81
|
+
# `failure_reason`.
|
82
|
+
class ListPatchJobInstanceDetailsRequest
|
83
|
+
include ::Google::Protobuf::MessageExts
|
84
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
85
|
+
end
|
86
|
+
|
87
|
+
# A response message for listing the instances details for a patch job.
|
88
|
+
# @!attribute [rw] patch_job_instance_details
|
89
|
+
# @return [::Array<::Google::Cloud::OsConfig::V1::PatchJobInstanceDetails>]
|
90
|
+
# A list of instance status.
|
91
|
+
# @!attribute [rw] next_page_token
|
92
|
+
# @return [::String]
|
93
|
+
# A pagination token that can be used to get the next page of results.
|
94
|
+
class ListPatchJobInstanceDetailsResponse
|
95
|
+
include ::Google::Protobuf::MessageExts
|
96
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
97
|
+
end
|
98
|
+
|
99
|
+
# Patch details for a VM instance. For more information about reviewing VM
|
100
|
+
# instance details, see
|
101
|
+
# [Listing all VM instance details for a specific patch
|
102
|
+
# job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).
|
103
|
+
# @!attribute [rw] name
|
104
|
+
# @return [::String]
|
105
|
+
# The instance name in the form `projects/*/zones/*/instances/*`
|
106
|
+
# @!attribute [rw] instance_system_id
|
107
|
+
# @return [::String]
|
108
|
+
# The unique identifier for the instance. This identifier is
|
109
|
+
# defined by the server.
|
110
|
+
# @!attribute [rw] state
|
111
|
+
# @return [::Google::Cloud::OsConfig::V1::Instance::PatchState]
|
112
|
+
# Current state of instance patch.
|
113
|
+
# @!attribute [rw] failure_reason
|
114
|
+
# @return [::String]
|
115
|
+
# If the patch fails, this field provides the reason.
|
116
|
+
# @!attribute [rw] attempt_count
|
117
|
+
# @return [::Integer]
|
118
|
+
# The number of times the agent that the agent attempts to apply the patch.
|
119
|
+
class PatchJobInstanceDetails
|
120
|
+
include ::Google::Protobuf::MessageExts
|
121
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
122
|
+
end
|
123
|
+
|
124
|
+
# A request message for listing patch jobs.
|
125
|
+
# @!attribute [rw] parent
|
126
|
+
# @return [::String]
|
127
|
+
# Required. In the form of `projects/*`
|
128
|
+
# @!attribute [rw] page_size
|
129
|
+
# @return [::Integer]
|
130
|
+
# The maximum number of instance status to return.
|
131
|
+
# @!attribute [rw] page_token
|
132
|
+
# @return [::String]
|
133
|
+
# A pagination token returned from a previous call
|
134
|
+
# that indicates where this listing should continue from.
|
135
|
+
# @!attribute [rw] filter
|
136
|
+
# @return [::String]
|
137
|
+
# If provided, this field specifies the criteria that must be met by patch
|
138
|
+
# jobs to be included in the response.
|
139
|
+
# Currently, filtering is only available on the patch_deployment field.
|
140
|
+
class ListPatchJobsRequest
|
141
|
+
include ::Google::Protobuf::MessageExts
|
142
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
143
|
+
end
|
144
|
+
|
145
|
+
# A response message for listing patch jobs.
|
146
|
+
# @!attribute [rw] patch_jobs
|
147
|
+
# @return [::Array<::Google::Cloud::OsConfig::V1::PatchJob>]
|
148
|
+
# The list of patch jobs.
|
149
|
+
# @!attribute [rw] next_page_token
|
150
|
+
# @return [::String]
|
151
|
+
# A pagination token that can be used to get the next page of results.
|
152
|
+
class ListPatchJobsResponse
|
153
|
+
include ::Google::Protobuf::MessageExts
|
154
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
155
|
+
end
|
156
|
+
|
157
|
+
# A high level representation of a patch job that is either in progress
|
158
|
+
# or has completed.
|
159
|
+
#
|
160
|
+
# Instances details are not included in the job. To paginate through instance
|
161
|
+
# details, use ListPatchJobInstanceDetails.
|
162
|
+
#
|
163
|
+
# For more information about patch jobs, see
|
164
|
+
# [Creating patch
|
165
|
+
# jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
|
166
|
+
# @!attribute [rw] name
|
167
|
+
# @return [::String]
|
168
|
+
# Unique identifier for this patch job in the form
|
169
|
+
# `projects/*/patchJobs/*`
|
170
|
+
# @!attribute [rw] display_name
|
171
|
+
# @return [::String]
|
172
|
+
# Display name for this patch job. This is not a unique identifier.
|
173
|
+
# @!attribute [rw] description
|
174
|
+
# @return [::String]
|
175
|
+
# Description of the patch job. Length of the description is limited
|
176
|
+
# to 1024 characters.
|
177
|
+
# @!attribute [rw] create_time
|
178
|
+
# @return [::Google::Protobuf::Timestamp]
|
179
|
+
# Time this patch job was created.
|
180
|
+
# @!attribute [rw] update_time
|
181
|
+
# @return [::Google::Protobuf::Timestamp]
|
182
|
+
# Last time this patch job was updated.
|
183
|
+
# @!attribute [rw] state
|
184
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchJob::State]
|
185
|
+
# The current state of the PatchJob .
|
186
|
+
# @!attribute [rw] instance_filter
|
187
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchInstanceFilter]
|
188
|
+
# Instances to patch.
|
189
|
+
# @!attribute [rw] patch_config
|
190
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchConfig]
|
191
|
+
# Patch configuration being applied.
|
192
|
+
# @!attribute [rw] duration
|
193
|
+
# @return [::Google::Protobuf::Duration]
|
194
|
+
# Duration of the patch job. After the duration ends, the
|
195
|
+
# patch job times out.
|
196
|
+
# @!attribute [rw] instance_details_summary
|
197
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchJob::InstanceDetailsSummary]
|
198
|
+
# Summary of instance details.
|
199
|
+
# @!attribute [rw] dry_run
|
200
|
+
# @return [::Boolean]
|
201
|
+
# If this patch job is a dry run, the agent reports that it has
|
202
|
+
# finished without running any updates on the VM instance.
|
203
|
+
# @!attribute [rw] error_message
|
204
|
+
# @return [::String]
|
205
|
+
# If this patch job failed, this message provides information about the
|
206
|
+
# failure.
|
207
|
+
# @!attribute [rw] percent_complete
|
208
|
+
# @return [::Float]
|
209
|
+
# Reflects the overall progress of the patch job in the range of
|
210
|
+
# 0.0 being no progress to 100.0 being complete.
|
211
|
+
# @!attribute [r] patch_deployment
|
212
|
+
# @return [::String]
|
213
|
+
# Output only. Name of the patch deployment that created this patch job.
|
214
|
+
class PatchJob
|
215
|
+
include ::Google::Protobuf::MessageExts
|
216
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
217
|
+
|
218
|
+
# A summary of the current patch state across all instances that this patch
|
219
|
+
# job affects. Contains counts of instances in different states. These states
|
220
|
+
# map to `InstancePatchState`. List patch job instance details to see the
|
221
|
+
# specific states of each instance.
|
222
|
+
# @!attribute [rw] pending_instance_count
|
223
|
+
# @return [::Integer]
|
224
|
+
# Number of instances pending patch job.
|
225
|
+
# @!attribute [rw] inactive_instance_count
|
226
|
+
# @return [::Integer]
|
227
|
+
# Number of instances that are inactive.
|
228
|
+
# @!attribute [rw] notified_instance_count
|
229
|
+
# @return [::Integer]
|
230
|
+
# Number of instances notified about patch job.
|
231
|
+
# @!attribute [rw] started_instance_count
|
232
|
+
# @return [::Integer]
|
233
|
+
# Number of instances that have started.
|
234
|
+
# @!attribute [rw] downloading_patches_instance_count
|
235
|
+
# @return [::Integer]
|
236
|
+
# Number of instances that are downloading patches.
|
237
|
+
# @!attribute [rw] applying_patches_instance_count
|
238
|
+
# @return [::Integer]
|
239
|
+
# Number of instances that are applying patches.
|
240
|
+
# @!attribute [rw] rebooting_instance_count
|
241
|
+
# @return [::Integer]
|
242
|
+
# Number of instances rebooting.
|
243
|
+
# @!attribute [rw] succeeded_instance_count
|
244
|
+
# @return [::Integer]
|
245
|
+
# Number of instances that have completed successfully.
|
246
|
+
# @!attribute [rw] succeeded_reboot_required_instance_count
|
247
|
+
# @return [::Integer]
|
248
|
+
# Number of instances that require reboot.
|
249
|
+
# @!attribute [rw] failed_instance_count
|
250
|
+
# @return [::Integer]
|
251
|
+
# Number of instances that failed.
|
252
|
+
# @!attribute [rw] acked_instance_count
|
253
|
+
# @return [::Integer]
|
254
|
+
# Number of instances that have acked and will start shortly.
|
255
|
+
# @!attribute [rw] timed_out_instance_count
|
256
|
+
# @return [::Integer]
|
257
|
+
# Number of instances that exceeded the time out while applying the patch.
|
258
|
+
# @!attribute [rw] pre_patch_step_instance_count
|
259
|
+
# @return [::Integer]
|
260
|
+
# Number of instances that are running the pre-patch step.
|
261
|
+
# @!attribute [rw] post_patch_step_instance_count
|
262
|
+
# @return [::Integer]
|
263
|
+
# Number of instances that are running the post-patch step.
|
264
|
+
# @!attribute [rw] no_agent_detected_instance_count
|
265
|
+
# @return [::Integer]
|
266
|
+
# Number of instances that do not appear to be running the agent. Check to
|
267
|
+
# ensure that the agent is installed, running, and able to communicate with
|
268
|
+
# the service.
|
269
|
+
class InstanceDetailsSummary
|
270
|
+
include ::Google::Protobuf::MessageExts
|
271
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
272
|
+
end
|
273
|
+
|
274
|
+
# Enumeration of the various states a patch job passes through as it
|
275
|
+
# executes.
|
276
|
+
module State
|
277
|
+
# State must be specified.
|
278
|
+
STATE_UNSPECIFIED = 0
|
279
|
+
|
280
|
+
# The patch job was successfully initiated.
|
281
|
+
STARTED = 1
|
282
|
+
|
283
|
+
# The patch job is looking up instances to run the patch on.
|
284
|
+
INSTANCE_LOOKUP = 2
|
285
|
+
|
286
|
+
# Instances are being patched.
|
287
|
+
PATCHING = 3
|
288
|
+
|
289
|
+
# Patch job completed successfully.
|
290
|
+
SUCCEEDED = 4
|
291
|
+
|
292
|
+
# Patch job completed but there were errors.
|
293
|
+
COMPLETED_WITH_ERRORS = 5
|
294
|
+
|
295
|
+
# The patch job was canceled.
|
296
|
+
CANCELED = 6
|
297
|
+
|
298
|
+
# The patch job timed out.
|
299
|
+
TIMED_OUT = 7
|
300
|
+
end
|
301
|
+
end
|
302
|
+
|
303
|
+
# Patch configuration specifications. Contains details on how to apply the
|
304
|
+
# patch(es) to a VM instance.
|
305
|
+
# @!attribute [rw] reboot_config
|
306
|
+
# @return [::Google::Cloud::OsConfig::V1::PatchConfig::RebootConfig]
|
307
|
+
# Post-patch reboot settings.
|
308
|
+
# @!attribute [rw] apt
|
309
|
+
# @return [::Google::Cloud::OsConfig::V1::AptSettings]
|
310
|
+
# Apt update settings. Use this setting to override the default `apt` patch
|
311
|
+
# rules.
|
312
|
+
# @!attribute [rw] yum
|
313
|
+
# @return [::Google::Cloud::OsConfig::V1::YumSettings]
|
314
|
+
# Yum update settings. Use this setting to override the default `yum` patch
|
315
|
+
# rules.
|
316
|
+
# @!attribute [rw] goo
|
317
|
+
# @return [::Google::Cloud::OsConfig::V1::GooSettings]
|
318
|
+
# Goo update settings. Use this setting to override the default `goo` patch
|
319
|
+
# rules.
|
320
|
+
# @!attribute [rw] zypper
|
321
|
+
# @return [::Google::Cloud::OsConfig::V1::ZypperSettings]
|
322
|
+
# Zypper update settings. Use this setting to override the default `zypper`
|
323
|
+
# patch rules.
|
324
|
+
# @!attribute [rw] windows_update
|
325
|
+
# @return [::Google::Cloud::OsConfig::V1::WindowsUpdateSettings]
|
326
|
+
# Windows update settings. Use this override the default windows patch rules.
|
327
|
+
# @!attribute [rw] pre_step
|
328
|
+
# @return [::Google::Cloud::OsConfig::V1::ExecStep]
|
329
|
+
# The `ExecStep` to run before the patch update.
|
330
|
+
# @!attribute [rw] post_step
|
331
|
+
# @return [::Google::Cloud::OsConfig::V1::ExecStep]
|
332
|
+
# The `ExecStep` to run after the patch update.
|
333
|
+
class PatchConfig
|
334
|
+
include ::Google::Protobuf::MessageExts
|
335
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
336
|
+
|
337
|
+
# Post-patch reboot settings.
|
338
|
+
module RebootConfig
|
339
|
+
# The default behavior is DEFAULT.
|
340
|
+
REBOOT_CONFIG_UNSPECIFIED = 0
|
341
|
+
|
342
|
+
# The agent decides if a reboot is necessary by checking signals such as
|
343
|
+
# registry keys on Windows or `/var/run/reboot-required` on APT based
|
344
|
+
# systems. On RPM based systems, a set of core system package install times
|
345
|
+
# are compared with system boot time.
|
346
|
+
DEFAULT = 1
|
347
|
+
|
348
|
+
# Always reboot the machine after the update completes.
|
349
|
+
ALWAYS = 2
|
350
|
+
|
351
|
+
# Never reboot the machine after the update completes.
|
352
|
+
NEVER = 3
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
356
|
+
# Namespace for instance state enums.
|
357
|
+
class Instance
|
358
|
+
include ::Google::Protobuf::MessageExts
|
359
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
360
|
+
|
361
|
+
# Patch state of an instance.
|
362
|
+
module PatchState
|
363
|
+
# Unspecified.
|
364
|
+
PATCH_STATE_UNSPECIFIED = 0
|
365
|
+
|
366
|
+
# The instance is not yet notified.
|
367
|
+
PENDING = 1
|
368
|
+
|
369
|
+
# Instance is inactive and cannot be patched.
|
370
|
+
INACTIVE = 2
|
371
|
+
|
372
|
+
# The instance is notified that it should be patched.
|
373
|
+
NOTIFIED = 3
|
374
|
+
|
375
|
+
# The instance has started the patching process.
|
376
|
+
STARTED = 4
|
377
|
+
|
378
|
+
# The instance is downloading patches.
|
379
|
+
DOWNLOADING_PATCHES = 5
|
380
|
+
|
381
|
+
# The instance is applying patches.
|
382
|
+
APPLYING_PATCHES = 6
|
383
|
+
|
384
|
+
# The instance is rebooting.
|
385
|
+
REBOOTING = 7
|
386
|
+
|
387
|
+
# The instance has completed applying patches.
|
388
|
+
SUCCEEDED = 8
|
389
|
+
|
390
|
+
# The instance has completed applying patches but a reboot is required.
|
391
|
+
SUCCEEDED_REBOOT_REQUIRED = 9
|
392
|
+
|
393
|
+
# The instance has failed to apply the patch.
|
394
|
+
FAILED = 10
|
395
|
+
|
396
|
+
# The instance acked the notification and will start shortly.
|
397
|
+
ACKED = 11
|
398
|
+
|
399
|
+
# The instance exceeded the time out while applying the patch.
|
400
|
+
TIMED_OUT = 12
|
401
|
+
|
402
|
+
# The instance is running the pre-patch step.
|
403
|
+
RUNNING_PRE_PATCH_STEP = 13
|
404
|
+
|
405
|
+
# The instance is running the post-patch step.
|
406
|
+
RUNNING_POST_PATCH_STEP = 14
|
407
|
+
|
408
|
+
# The service could not detect the presence of the agent. Check to ensure
|
409
|
+
# that the agent is installed, running, and able to communicate with the
|
410
|
+
# service.
|
411
|
+
NO_AGENT_DETECTED = 15
|
412
|
+
end
|
413
|
+
end
|
414
|
+
|
415
|
+
# Message for canceling a patch job.
|
416
|
+
# @!attribute [rw] name
|
417
|
+
# @return [::String]
|
418
|
+
# Required. Name of the patch in the form `projects/*/patchJobs/*`
|
419
|
+
class CancelPatchJobRequest
|
420
|
+
include ::Google::Protobuf::MessageExts
|
421
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
422
|
+
end
|
423
|
+
|
424
|
+
# Apt patching is completed by executing `apt-get update && apt-get
|
425
|
+
# upgrade`. Additional options can be set to control how this is executed.
|
426
|
+
# @!attribute [rw] type
|
427
|
+
# @return [::Google::Cloud::OsConfig::V1::AptSettings::Type]
|
428
|
+
# By changing the type to DIST, the patching is performed
|
429
|
+
# using `apt-get dist-upgrade` instead.
|
430
|
+
# @!attribute [rw] excludes
|
431
|
+
# @return [::Array<::String>]
|
432
|
+
# List of packages to exclude from update. These packages will be excluded
|
433
|
+
# @!attribute [rw] exclusive_packages
|
434
|
+
# @return [::Array<::String>]
|
435
|
+
# An exclusive list of packages to be updated. These are the only packages
|
436
|
+
# that will be updated. If these packages are not installed, they will be
|
437
|
+
# ignored. This field cannot be specified with any other patch configuration
|
438
|
+
# fields.
|
439
|
+
class AptSettings
|
440
|
+
include ::Google::Protobuf::MessageExts
|
441
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
442
|
+
|
443
|
+
# Apt patch type.
|
444
|
+
module Type
|
445
|
+
# By default, upgrade will be performed.
|
446
|
+
TYPE_UNSPECIFIED = 0
|
447
|
+
|
448
|
+
# Runs `apt-get dist-upgrade`.
|
449
|
+
DIST = 1
|
450
|
+
|
451
|
+
# Runs `apt-get upgrade`.
|
452
|
+
UPGRADE = 2
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
456
|
+
# Yum patching is performed by executing `yum update`. Additional options
|
457
|
+
# can be set to control how this is executed.
|
458
|
+
#
|
459
|
+
# Note that not all settings are supported on all platforms.
|
460
|
+
# @!attribute [rw] security
|
461
|
+
# @return [::Boolean]
|
462
|
+
# Adds the `--security` flag to `yum update`. Not supported on
|
463
|
+
# all platforms.
|
464
|
+
# @!attribute [rw] minimal
|
465
|
+
# @return [::Boolean]
|
466
|
+
# Will cause patch to run `yum update-minimal` instead.
|
467
|
+
# @!attribute [rw] excludes
|
468
|
+
# @return [::Array<::String>]
|
469
|
+
# List of packages to exclude from update. These packages are excluded by
|
470
|
+
# using the yum `--exclude` flag.
|
471
|
+
# @!attribute [rw] exclusive_packages
|
472
|
+
# @return [::Array<::String>]
|
473
|
+
# An exclusive list of packages to be updated. These are the only packages
|
474
|
+
# that will be updated. If these packages are not installed, they will be
|
475
|
+
# ignored. This field must not be specified with any other patch
|
476
|
+
# configuration fields.
|
477
|
+
class YumSettings
|
478
|
+
include ::Google::Protobuf::MessageExts
|
479
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
480
|
+
end
|
481
|
+
|
482
|
+
# Googet patching is performed by running `googet update`.
|
483
|
+
class GooSettings
|
484
|
+
include ::Google::Protobuf::MessageExts
|
485
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
486
|
+
end
|
487
|
+
|
488
|
+
# Zypper patching is performed by running `zypper patch`.
|
489
|
+
# See also https://en.opensuse.org/SDB:Zypper_manual.
|
490
|
+
# @!attribute [rw] with_optional
|
491
|
+
# @return [::Boolean]
|
492
|
+
# Adds the `--with-optional` flag to `zypper patch`.
|
493
|
+
# @!attribute [rw] with_update
|
494
|
+
# @return [::Boolean]
|
495
|
+
# Adds the `--with-update` flag, to `zypper patch`.
|
496
|
+
# @!attribute [rw] categories
|
497
|
+
# @return [::Array<::String>]
|
498
|
+
# Install only patches with these categories.
|
499
|
+
# Common categories include security, recommended, and feature.
|
500
|
+
# @!attribute [rw] severities
|
501
|
+
# @return [::Array<::String>]
|
502
|
+
# Install only patches with these severities.
|
503
|
+
# Common severities include critical, important, moderate, and low.
|
504
|
+
# @!attribute [rw] excludes
|
505
|
+
# @return [::Array<::String>]
|
506
|
+
# List of patches to exclude from update.
|
507
|
+
# @!attribute [rw] exclusive_patches
|
508
|
+
# @return [::Array<::String>]
|
509
|
+
# An exclusive list of patches to be updated. These are the only patches
|
510
|
+
# that will be installed using 'zypper patch patch:<patch_name>' command.
|
511
|
+
# This field must not be used with any other patch configuration fields.
|
512
|
+
class ZypperSettings
|
513
|
+
include ::Google::Protobuf::MessageExts
|
514
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
515
|
+
end
|
516
|
+
|
517
|
+
# Windows patching is performed using the Windows Update Agent.
|
518
|
+
# @!attribute [rw] classifications
|
519
|
+
# @return [::Array<::Google::Cloud::OsConfig::V1::WindowsUpdateSettings::Classification>]
|
520
|
+
# Only apply updates of these windows update classifications. If empty, all
|
521
|
+
# updates are applied.
|
522
|
+
# @!attribute [rw] excludes
|
523
|
+
# @return [::Array<::String>]
|
524
|
+
# List of KBs to exclude from update.
|
525
|
+
# @!attribute [rw] exclusive_patches
|
526
|
+
# @return [::Array<::String>]
|
527
|
+
# An exclusive list of kbs to be updated. These are the only patches
|
528
|
+
# that will be updated. This field must not be used with other
|
529
|
+
# patch configurations.
|
530
|
+
class WindowsUpdateSettings
|
531
|
+
include ::Google::Protobuf::MessageExts
|
532
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
533
|
+
|
534
|
+
# Microsoft Windows update classifications as defined in
|
535
|
+
# [1]
|
536
|
+
# https://support.microsoft.com/en-us/help/824684/description-of-the-standard-terminology-that-is-used-to-describe-micro
|
537
|
+
module Classification
|
538
|
+
# Invalid. If classifications are included, they must be specified.
|
539
|
+
CLASSIFICATION_UNSPECIFIED = 0
|
540
|
+
|
541
|
+
# "A widely released fix for a specific problem that addresses a critical,
|
542
|
+
# non-security-related bug." [1]
|
543
|
+
CRITICAL = 1
|
544
|
+
|
545
|
+
# "A widely released fix for a product-specific, security-related
|
546
|
+
# vulnerability. Security vulnerabilities are rated by their severity. The
|
547
|
+
# severity rating is indicated in the Microsoft security bulletin as
|
548
|
+
# critical, important, moderate, or low." [1]
|
549
|
+
SECURITY = 2
|
550
|
+
|
551
|
+
# "A widely released and frequent software update that contains additions
|
552
|
+
# to a product's definition database. Definition databases are often used
|
553
|
+
# to detect objects that have specific attributes, such as malicious code,
|
554
|
+
# phishing websites, or junk mail." [1]
|
555
|
+
DEFINITION = 3
|
556
|
+
|
557
|
+
# "Software that controls the input and output of a device." [1]
|
558
|
+
DRIVER = 4
|
559
|
+
|
560
|
+
# "New product functionality that is first distributed outside the context
|
561
|
+
# of a product release and that is typically included in the next full
|
562
|
+
# product release." [1]
|
563
|
+
FEATURE_PACK = 5
|
564
|
+
|
565
|
+
# "A tested, cumulative set of all hotfixes, security updates, critical
|
566
|
+
# updates, and updates. Additionally, service packs may contain additional
|
567
|
+
# fixes for problems that are found internally since the release of the
|
568
|
+
# product. Service packs my also contain a limited number of
|
569
|
+
# customer-requested design changes or features." [1]
|
570
|
+
SERVICE_PACK = 6
|
571
|
+
|
572
|
+
# "A utility or feature that helps complete a task or set of tasks." [1]
|
573
|
+
TOOL = 7
|
574
|
+
|
575
|
+
# "A tested, cumulative set of hotfixes, security updates, critical
|
576
|
+
# updates, and updates that are packaged together for easy deployment. A
|
577
|
+
# rollup generally targets a specific area, such as security, or a
|
578
|
+
# component of a product, such as Internet Information Services (IIS)." [1]
|
579
|
+
UPDATE_ROLLUP = 8
|
580
|
+
|
581
|
+
# "A widely released fix for a specific problem. An update addresses a
|
582
|
+
# noncritical, non-security-related bug." [1]
|
583
|
+
UPDATE = 9
|
584
|
+
end
|
585
|
+
end
|
586
|
+
|
587
|
+
# A step that runs an executable for a PatchJob.
|
588
|
+
# @!attribute [rw] linux_exec_step_config
|
589
|
+
# @return [::Google::Cloud::OsConfig::V1::ExecStepConfig]
|
590
|
+
# The ExecStepConfig for all Linux VMs targeted by the PatchJob.
|
591
|
+
# @!attribute [rw] windows_exec_step_config
|
592
|
+
# @return [::Google::Cloud::OsConfig::V1::ExecStepConfig]
|
593
|
+
# The ExecStepConfig for all Windows VMs targeted by the PatchJob.
|
594
|
+
class ExecStep
|
595
|
+
include ::Google::Protobuf::MessageExts
|
596
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
597
|
+
end
|
598
|
+
|
599
|
+
# Common configurations for an ExecStep.
|
600
|
+
# @!attribute [rw] local_path
|
601
|
+
# @return [::String]
|
602
|
+
# An absolute path to the executable on the VM.
|
603
|
+
# @!attribute [rw] gcs_object
|
604
|
+
# @return [::Google::Cloud::OsConfig::V1::GcsObject]
|
605
|
+
# A Cloud Storage object containing the executable.
|
606
|
+
# @!attribute [rw] allowed_success_codes
|
607
|
+
# @return [::Array<::Integer>]
|
608
|
+
# Defaults to [0]. A list of possible return values that the
|
609
|
+
# execution can return to indicate a success.
|
610
|
+
# @!attribute [rw] interpreter
|
611
|
+
# @return [::Google::Cloud::OsConfig::V1::ExecStepConfig::Interpreter]
|
612
|
+
# The script interpreter to use to run the script. If no interpreter is
|
613
|
+
# specified the script will be executed directly, which will likely
|
614
|
+
# only succeed for scripts with [shebang lines]
|
615
|
+
# (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
|
616
|
+
class ExecStepConfig
|
617
|
+
include ::Google::Protobuf::MessageExts
|
618
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
619
|
+
|
620
|
+
# The interpreter used to execute the a file.
|
621
|
+
module Interpreter
|
622
|
+
# Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the
|
623
|
+
# interpreter will be parsed from the shebang line of the script if
|
624
|
+
# unspecified.
|
625
|
+
INTERPRETER_UNSPECIFIED = 0
|
626
|
+
|
627
|
+
# Indicates that the script is run with `/bin/sh` on Linux and `cmd`
|
628
|
+
# on Windows.
|
629
|
+
SHELL = 1
|
630
|
+
|
631
|
+
# Indicates that the file is run with PowerShell flags
|
632
|
+
# `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`.
|
633
|
+
POWERSHELL = 2
|
634
|
+
end
|
635
|
+
end
|
636
|
+
|
637
|
+
# Cloud Storage object representation.
|
638
|
+
# @!attribute [rw] bucket
|
639
|
+
# @return [::String]
|
640
|
+
# Required. Bucket of the Cloud Storage object.
|
641
|
+
# @!attribute [rw] object
|
642
|
+
# @return [::String]
|
643
|
+
# Required. Name of the Cloud Storage object.
|
644
|
+
# @!attribute [rw] generation_number
|
645
|
+
# @return [::Integer]
|
646
|
+
# Required. Generation number of the Cloud Storage object. This is used to
|
647
|
+
# ensure that the ExecStep specified by this PatchJob does not change.
|
648
|
+
class GcsObject
|
649
|
+
include ::Google::Protobuf::MessageExts
|
650
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
651
|
+
end
|
652
|
+
|
653
|
+
# A filter to target VM instances for patching. The targeted
|
654
|
+
# VMs must meet all criteria specified. So if both labels and zones are
|
655
|
+
# specified, the patch job targets only VMs with those labels and in those
|
656
|
+
# zones.
|
657
|
+
# @!attribute [rw] all
|
658
|
+
# @return [::Boolean]
|
659
|
+
# Target all VM instances in the project. If true, no other criteria is
|
660
|
+
# permitted.
|
661
|
+
# @!attribute [rw] group_labels
|
662
|
+
# @return [::Array<::Google::Cloud::OsConfig::V1::PatchInstanceFilter::GroupLabel>]
|
663
|
+
# Targets VM instances matching ANY of these GroupLabels. This allows
|
664
|
+
# targeting of disparate groups of VM instances.
|
665
|
+
# @!attribute [rw] zones
|
666
|
+
# @return [::Array<::String>]
|
667
|
+
# Targets VM instances in ANY of these zones. Leave empty to target VM
|
668
|
+
# instances in any zone.
|
669
|
+
# @!attribute [rw] instances
|
670
|
+
# @return [::Array<::String>]
|
671
|
+
# Targets any of the VM instances specified. Instances are specified by their
|
672
|
+
# URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
|
673
|
+
# `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
|
674
|
+
# `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
|
675
|
+
# @!attribute [rw] instance_name_prefixes
|
676
|
+
# @return [::Array<::String>]
|
677
|
+
# Targets VMs whose name starts with one of these prefixes. Similar to
|
678
|
+
# labels, this is another way to group VMs when targeting configs, for
|
679
|
+
# example prefix="prod-".
|
680
|
+
class PatchInstanceFilter
|
681
|
+
include ::Google::Protobuf::MessageExts
|
682
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
683
|
+
|
684
|
+
# Targets a group of VM instances by using their [assigned
|
685
|
+
# labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
|
686
|
+
# are key-value pairs. A `GroupLabel` is a combination of labels
|
687
|
+
# that is used to target VMs for a patch job.
|
688
|
+
#
|
689
|
+
# For example, a patch job can target VMs that have the following
|
690
|
+
# `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
|
691
|
+
# is applied to VMs that have both the labels `env=test` and `app=web`.
|
692
|
+
# @!attribute [rw] labels
|
693
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
694
|
+
# Compute Engine instance labels that must be present for a VM
|
695
|
+
# instance to be targeted by this filter.
|
696
|
+
class GroupLabel
|
697
|
+
include ::Google::Protobuf::MessageExts
|
698
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
699
|
+
|
700
|
+
# @!attribute [rw] key
|
701
|
+
# @return [::String]
|
702
|
+
# @!attribute [rw] value
|
703
|
+
# @return [::String]
|
704
|
+
class LabelsEntry
|
705
|
+
include ::Google::Protobuf::MessageExts
|
706
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
707
|
+
end
|
708
|
+
end
|
709
|
+
end
|
710
|
+
end
|
711
|
+
end
|
712
|
+
end
|
713
|
+
end
|