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