google-cloud-os_config-v1 0.1.3 → 0.4.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.
@@ -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 limited
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 out.
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 longer
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. -1
149
- # indicates the last day of the month.
150
- # Months without the target day will be skipped. For example, a schedule to
151
- # run "every month on the 31st" will not run in February, April, June, etc.
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 month. -1
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 `projects/*`.
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 name
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 100.
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 ListPatchDeployments
211
- # that indicates where this listing should continue from.
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 criteria such
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 `projects/*/patchJobs/*`.
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
- # Instances details are not included in the job. To paginate through instance
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