google-cloud-gke_backup-v1 0.8.0 → 0.10.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 +4 -4
- data/lib/google/cloud/gke_backup/v1/backup_for_gke/client.rb +197 -70
- data/lib/google/cloud/gke_backup/v1/backup_for_gke/operations.rb +13 -5
- data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/client.rb +190 -70
- data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/operations.rb +13 -6
- data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/service_stub.rb +59 -0
- data/lib/google/cloud/gke_backup/v1/version.rb +1 -1
- data/lib/google/cloud/gkebackup/v1/backup_pb.rb +1 -1
- data/lib/google/cloud/gkebackup/v1/backup_plan_pb.rb +11 -1
- data/lib/google/cloud/gkebackup/v1/common_pb.rb +4 -1
- data/lib/google/cloud/gkebackup/v1/gkebackup_pb.rb +3 -1
- data/lib/google/cloud/gkebackup/v1/gkebackup_services_pb.rb +2 -0
- data/lib/google/cloud/gkebackup/v1/restore_pb.rb +7 -1
- data/lib/google/cloud/gkebackup/v1/restore_plan_pb.rb +1 -1
- data/proto_docs/google/api/client.rb +4 -0
- data/proto_docs/google/cloud/gkebackup/v1/backup.rb +27 -18
- data/proto_docs/google/cloud/gkebackup/v1/backup_plan.rb +139 -34
- data/proto_docs/google/cloud/gkebackup/v1/common.rb +20 -5
- data/proto_docs/google/cloud/gkebackup/v1/gkebackup.rb +65 -46
- data/proto_docs/google/cloud/gkebackup/v1/restore.rb +233 -61
- data/proto_docs/google/cloud/gkebackup/v1/restore_plan.rb +2 -3
- data/proto_docs/google/cloud/gkebackup/v1/volume.rb +0 -2
- data/proto_docs/google/type/date.rb +53 -0
- data/proto_docs/google/type/dayofweek.rb +49 -0
- data/proto_docs/google/type/timeofday.rb +45 -0
- metadata +5 -2
@@ -23,7 +23,6 @@ module Google
|
|
23
23
|
module V1
|
24
24
|
# Represents both a request to Restore some portion of a Backup into
|
25
25
|
# a target GKE cluster and a record of the restore operation itself.
|
26
|
-
# Next id: 18
|
27
26
|
# @!attribute [r] name
|
28
27
|
# @return [::String]
|
29
28
|
# Output only. The full name of the Restore resource.
|
@@ -101,10 +100,45 @@ module Google
|
|
101
100
|
# and systems are expected to put that etag in the request to
|
102
101
|
# `UpdateRestore` or `DeleteRestore` to ensure that their change will be
|
103
102
|
# applied to the same version of the resource.
|
103
|
+
# @!attribute [rw] filter
|
104
|
+
# @return [::Google::Cloud::GkeBackup::V1::Restore::Filter]
|
105
|
+
# Optional. Immutable. Filters resources for `Restore`. If not specified, the
|
106
|
+
# scope of the restore will remain the same as defined in the `RestorePlan`.
|
107
|
+
# If this is specified, and no resources are matched by the
|
108
|
+
# `inclusion_filters` or everyting is excluded by the `exclusion_filters`,
|
109
|
+
# nothing will be restored. This filter can only be specified if the value of
|
110
|
+
# {::Google::Cloud::GkeBackup::V1::RestoreConfig#namespaced_resource_restore_mode namespaced_resource_restore_mode}
|
111
|
+
# is set to `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT` or
|
112
|
+
# `MERGE_REPLACE_ON_CONFLICT`.
|
113
|
+
# @!attribute [rw] volume_data_restore_policy_overrides
|
114
|
+
# @return [::Array<::Google::Cloud::GkeBackup::V1::VolumeDataRestorePolicyOverride>]
|
115
|
+
# Optional. Immutable. Overrides the volume data restore policies selected in
|
116
|
+
# the Restore Config for override-scoped resources.
|
104
117
|
class Restore
|
105
118
|
include ::Google::Protobuf::MessageExts
|
106
119
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
107
120
|
|
121
|
+
# Defines the filter for `Restore`. This filter can be used to further
|
122
|
+
# refine the resource selection of the `Restore` beyond the coarse-grained
|
123
|
+
# scope defined in the `RestorePlan`. `exclusion_filters` take precedence
|
124
|
+
# over `inclusion_filters`. If a resource matches both `inclusion_filters`
|
125
|
+
# and `exclusion_filters`, it will not be restored.
|
126
|
+
# @!attribute [rw] inclusion_filters
|
127
|
+
# @return [::Array<::Google::Cloud::GkeBackup::V1::ResourceSelector>]
|
128
|
+
# Optional. Selects resources for restoration. If specified, only resources
|
129
|
+
# which match `inclusion_filters` will be selected for restoration. A
|
130
|
+
# resource will be selected if it matches any `ResourceSelector` of the
|
131
|
+
# `inclusion_filters`.
|
132
|
+
# @!attribute [rw] exclusion_filters
|
133
|
+
# @return [::Array<::Google::Cloud::GkeBackup::V1::ResourceSelector>]
|
134
|
+
# Optional. Excludes resources from restoration. If specified,
|
135
|
+
# a resource will not be restored if it matches
|
136
|
+
# any `ResourceSelector` of the `exclusion_filters`.
|
137
|
+
class Filter
|
138
|
+
include ::Google::Protobuf::MessageExts
|
139
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
140
|
+
end
|
141
|
+
|
108
142
|
# @!attribute [rw] key
|
109
143
|
# @return [::String]
|
110
144
|
# @!attribute [rw] value
|
@@ -140,28 +174,29 @@ module Google
|
|
140
174
|
end
|
141
175
|
|
142
176
|
# Configuration of a restore.
|
143
|
-
# Next id: 12
|
144
177
|
# @!attribute [rw] volume_data_restore_policy
|
145
178
|
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::VolumeDataRestorePolicy]
|
146
|
-
# Specifies the mechanism to be used to restore volume data.
|
179
|
+
# Optional. Specifies the mechanism to be used to restore volume data.
|
147
180
|
# Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as
|
148
181
|
# NO_VOLUME_DATA_RESTORATION).
|
149
182
|
# @!attribute [rw] cluster_resource_conflict_policy
|
150
183
|
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::ClusterResourceConflictPolicy]
|
151
|
-
# Defines the behavior for handling the situation where
|
152
|
-
# resources being restored already exist in the target
|
153
|
-
# set to a value other than
|
184
|
+
# Optional. Defines the behavior for handling the situation where
|
185
|
+
# cluster-scoped resources being restored already exist in the target
|
186
|
+
# cluster. This MUST be set to a value other than
|
187
|
+
# CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED if
|
154
188
|
# {::Google::Cloud::GkeBackup::V1::RestoreConfig#cluster_resource_restore_scope cluster_resource_restore_scope}
|
155
189
|
# is not empty.
|
156
190
|
# @!attribute [rw] namespaced_resource_restore_mode
|
157
191
|
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::NamespacedResourceRestoreMode]
|
158
|
-
# Defines the behavior for handling the situation where sets of
|
159
|
-
# resources being restored already exist in the target cluster.
|
160
|
-
# set to a value other than
|
192
|
+
# Optional. Defines the behavior for handling the situation where sets of
|
193
|
+
# namespaced resources being restored already exist in the target cluster.
|
194
|
+
# This MUST be set to a value other than
|
195
|
+
# NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED.
|
161
196
|
# @!attribute [rw] cluster_resource_restore_scope
|
162
197
|
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::ClusterResourceRestoreScope]
|
163
|
-
# Identifies the cluster-scoped resources to restore from the
|
164
|
-
# Not specifying it means NO cluster resource will be restored.
|
198
|
+
# Optional. Identifies the cluster-scoped resources to restore from the
|
199
|
+
# Backup. Not specifying it means NO cluster resource will be restored.
|
165
200
|
# @!attribute [rw] all_namespaces
|
166
201
|
# @return [::Boolean]
|
167
202
|
# Restore all namespaced resources in the Backup if set to "True".
|
@@ -185,18 +220,26 @@ module Google
|
|
185
220
|
# namespaces except those in this list will be restored.
|
186
221
|
# @!attribute [rw] substitution_rules
|
187
222
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::SubstitutionRule>]
|
188
|
-
# A list of transformation rules to be applied against Kubernetes
|
189
|
-
# as they are selected for restoration from a Backup. Rules are
|
190
|
-
# order defined - this order matters, as changes made by a rule
|
191
|
-
# the filtering logic of subsequent rules. An empty list means no
|
223
|
+
# Optional. A list of transformation rules to be applied against Kubernetes
|
224
|
+
# resources as they are selected for restoration from a Backup. Rules are
|
225
|
+
# executed in order defined - this order matters, as changes made by a rule
|
226
|
+
# may impact the filtering logic of subsequent rules. An empty list means no
|
192
227
|
# substitution will occur.
|
193
228
|
# @!attribute [rw] transformation_rules
|
194
229
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::TransformationRule>]
|
195
|
-
# A list of transformation rules to be applied against Kubernetes
|
196
|
-
# as they are selected for restoration from a Backup. Rules are
|
197
|
-
# order defined - this order matters, as changes made by a rule
|
198
|
-
# the filtering logic of subsequent rules. An empty list means no
|
230
|
+
# Optional. A list of transformation rules to be applied against Kubernetes
|
231
|
+
# resources as they are selected for restoration from a Backup. Rules are
|
232
|
+
# executed in order defined - this order matters, as changes made by a rule
|
233
|
+
# may impact the filtering logic of subsequent rules. An empty list means no
|
199
234
|
# transformation will occur.
|
235
|
+
# @!attribute [rw] volume_data_restore_policy_bindings
|
236
|
+
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::VolumeDataRestorePolicyBinding>]
|
237
|
+
# Optional. A table that binds volumes by their scope to a restore policy.
|
238
|
+
# Bindings must have a unique scope. Any volumes not scoped in the bindings
|
239
|
+
# are subject to the policy defined in volume_data_restore_policy.
|
240
|
+
# @!attribute [rw] restore_order
|
241
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::RestoreOrder]
|
242
|
+
# Optional. RestoreOrder contains custom ordering to use on a Restore.
|
200
243
|
class RestoreConfig
|
201
244
|
include ::Google::Protobuf::MessageExts
|
202
245
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -206,13 +249,14 @@ module Google
|
|
206
249
|
# and is used for identifying specific "types" of resources to restore.
|
207
250
|
# @!attribute [rw] resource_group
|
208
251
|
# @return [::String]
|
209
|
-
# API group string of a Kubernetes resource, e.g.
|
252
|
+
# Optional. API group string of a Kubernetes resource, e.g.
|
210
253
|
# "apiextensions.k8s.io", "storage.k8s.io", etc.
|
211
254
|
# Note: use empty string for core API group
|
212
255
|
# @!attribute [rw] resource_kind
|
213
256
|
# @return [::String]
|
214
|
-
# Kind of a Kubernetes resource,
|
215
|
-
# "CustomResourceDefinition",
|
257
|
+
# Optional. Kind of a Kubernetes resource, must be in UpperCamelCase
|
258
|
+
# (PascalCase) and singular form. E.g. "CustomResourceDefinition",
|
259
|
+
# "StorageClass", etc.
|
216
260
|
class GroupKind
|
217
261
|
include ::Google::Protobuf::MessageExts
|
218
262
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -238,22 +282,22 @@ module Google
|
|
238
282
|
# - PersistentVolume
|
239
283
|
# @!attribute [rw] selected_group_kinds
|
240
284
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind>]
|
241
|
-
# A list of cluster-scoped resource group kinds to restore from
|
242
|
-
# backup. If specified, only the selected resources will be restored.
|
285
|
+
# Optional. A list of cluster-scoped resource group kinds to restore from
|
286
|
+
# the backup. If specified, only the selected resources will be restored.
|
243
287
|
# Mutually exclusive to any other field in the message.
|
244
288
|
# @!attribute [rw] excluded_group_kinds
|
245
289
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind>]
|
246
|
-
# A list of cluster-scoped resource group kinds to NOT restore
|
247
|
-
# backup. If specified, all valid cluster-scoped resources will be
|
290
|
+
# Optional. A list of cluster-scoped resource group kinds to NOT restore
|
291
|
+
# from the backup. If specified, all valid cluster-scoped resources will be
|
248
292
|
# restored except for those specified in the list.
|
249
293
|
# Mutually exclusive to any other field in the message.
|
250
294
|
# @!attribute [rw] all_group_kinds
|
251
295
|
# @return [::Boolean]
|
252
|
-
# If True, all valid cluster-scoped resources will be restored.
|
296
|
+
# Optional. If True, all valid cluster-scoped resources will be restored.
|
253
297
|
# Mutually exclusive to any other field in the message.
|
254
298
|
# @!attribute [rw] no_group_kinds
|
255
299
|
# @return [::Boolean]
|
256
|
-
# If True, no cluster-scoped resources will be restored.
|
300
|
+
# Optional. If True, no cluster-scoped resources will be restored.
|
257
301
|
# This has the same restore scope as if the message is not defined.
|
258
302
|
# Mutually exclusive to any other field in the message.
|
259
303
|
class ClusterResourceRestoreScope
|
@@ -266,8 +310,8 @@ module Google
|
|
266
310
|
# logic (which resources are subject to substitution) and substitution logic.
|
267
311
|
# @!attribute [rw] target_namespaces
|
268
312
|
# @return [::Array<::String>]
|
269
|
-
# (Filtering parameter) Any resource subject to substitution must
|
270
|
-
# contained within one of the listed Kubernetes Namespace in the Backup.
|
313
|
+
# Optional. (Filtering parameter) Any resource subject to substitution must
|
314
|
+
# be contained within one of the listed Kubernetes Namespace in the Backup.
|
271
315
|
# If this field is not provided, no namespace filtering will be performed
|
272
316
|
# (all resources in all Namespaces, including all cluster-scoped resources,
|
273
317
|
# will be candidates for substitution).
|
@@ -275,11 +319,10 @@ module Google
|
|
275
319
|
# empty string ("") as one of the target namespaces.
|
276
320
|
# @!attribute [rw] target_group_kinds
|
277
321
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind>]
|
278
|
-
# (Filtering parameter) Any resource subject to substitution must
|
279
|
-
# one of the listed "types".
|
280
|
-
#
|
281
|
-
#
|
282
|
-
# candidates for substitution).
|
322
|
+
# Optional. (Filtering parameter) Any resource subject to substitution must
|
323
|
+
# belong to one of the listed "types". If this field is not provided, no
|
324
|
+
# type filtering will be performed (all resources of all types matching
|
325
|
+
# previous filtering parameters will be candidates for substitution).
|
283
326
|
# @!attribute [rw] target_json_path
|
284
327
|
# @return [::String]
|
285
328
|
# Required. This is a [JSONPath]
|
@@ -291,7 +334,7 @@ module Google
|
|
291
334
|
# fields out of the candidate resources will be modified).
|
292
335
|
# @!attribute [rw] original_value_pattern
|
293
336
|
# @return [::String]
|
294
|
-
# (Filtering parameter) This is a [regular expression]
|
337
|
+
# Optional. (Filtering parameter) This is a [regular expression]
|
295
338
|
# (https://en.wikipedia.org/wiki/Regular_expression)
|
296
339
|
# that is compared against the fields matched by the target_json_path
|
297
340
|
# expression (and must also have passed the previous filters).
|
@@ -302,9 +345,10 @@ module Google
|
|
302
345
|
# value for this field will only match empty fields.
|
303
346
|
# @!attribute [rw] new_value
|
304
347
|
# @return [::String]
|
305
|
-
# This is the new value to set for any fields that pass the
|
306
|
-
# selection criteria. To remove a value from a Kubernetes
|
307
|
-
# leave this field unspecified, or set it to the empty
|
348
|
+
# Optional. This is the new value to set for any fields that pass the
|
349
|
+
# filtering and selection criteria. To remove a value from a Kubernetes
|
350
|
+
# resource, either leave this field unspecified, or set it to the empty
|
351
|
+
# string ("").
|
308
352
|
class SubstitutionRule
|
309
353
|
include ::Google::Protobuf::MessageExts
|
310
354
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -317,15 +361,15 @@ module Google
|
|
317
361
|
# Required. op specifies the operation to perform.
|
318
362
|
# @!attribute [rw] from_path
|
319
363
|
# @return [::String]
|
320
|
-
# A string containing a JSON Pointer value that references the
|
321
|
-
# the target document to move the value from.
|
364
|
+
# Optional. A string containing a JSON Pointer value that references the
|
365
|
+
# location in the target document to move the value from.
|
322
366
|
# @!attribute [rw] path
|
323
367
|
# @return [::String]
|
324
|
-
# A string containing a JSON-Pointer value that references a
|
325
|
-
# within the target document where the operation is performed.
|
368
|
+
# Optional. A string containing a JSON-Pointer value that references a
|
369
|
+
# location within the target document where the operation is performed.
|
326
370
|
# @!attribute [rw] value
|
327
371
|
# @return [::String]
|
328
|
-
# A string that specifies the desired value in string format to
|
372
|
+
# Optional. A string that specifies the desired value in string format to
|
329
373
|
# use for transformation.
|
330
374
|
class TransformationRuleAction
|
331
375
|
include ::Google::Protobuf::MessageExts
|
@@ -373,22 +417,20 @@ module Google
|
|
373
417
|
# restoration from a backup.
|
374
418
|
# @!attribute [rw] namespaces
|
375
419
|
# @return [::Array<::String>]
|
376
|
-
# (Filtering parameter) Any resource subject to transformation
|
377
|
-
# contained within one of the listed Kubernetes Namespace in the
|
378
|
-
# If this field is not provided, no namespace filtering will be
|
379
|
-
# (all resources in all Namespaces, including all cluster-scoped
|
380
|
-
# will be candidates for transformation).
|
381
|
-
# To mix cluster-scoped and namespaced resources in the same rule, use an
|
382
|
-
# empty string ("") as one of the target namespaces.
|
420
|
+
# Optional. (Filtering parameter) Any resource subject to transformation
|
421
|
+
# must be contained within one of the listed Kubernetes Namespace in the
|
422
|
+
# Backup. If this field is not provided, no namespace filtering will be
|
423
|
+
# performed (all resources in all Namespaces, including all cluster-scoped
|
424
|
+
# resources, will be candidates for transformation).
|
383
425
|
# @!attribute [rw] group_kinds
|
384
426
|
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind>]
|
385
|
-
# (Filtering parameter) Any resource subject to transformation
|
386
|
-
# to one of the listed "types". If this field is not provided,
|
387
|
-
# filtering will be performed (all resources of all types matching
|
388
|
-
# filtering parameters will be candidates for transformation).
|
427
|
+
# Optional. (Filtering parameter) Any resource subject to transformation
|
428
|
+
# must belong to one of the listed "types". If this field is not provided,
|
429
|
+
# no type filtering will be performed (all resources of all types matching
|
430
|
+
# previous filtering parameters will be candidates for transformation).
|
389
431
|
# @!attribute [rw] json_path
|
390
432
|
# @return [::String]
|
391
|
-
# This is a [JSONPath]
|
433
|
+
# Optional. This is a [JSONPath]
|
392
434
|
# (https://github.com/json-path/JsonPath/blob/master/README.md)
|
393
435
|
# expression that matches specific fields of candidate
|
394
436
|
# resources and it operates as a filtering parameter (resources that
|
@@ -410,19 +452,59 @@ module Google
|
|
410
452
|
# could affect the outcome of the second operation.
|
411
453
|
# @!attribute [rw] resource_filter
|
412
454
|
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::ResourceFilter]
|
413
|
-
# This field is used to specify a set of fields that should be
|
414
|
-
# determine which resources in backup should be acted upon by the
|
415
|
-
# transformation rule actions, and this will ensure that only
|
416
|
-
# resources are affected by transformation rule actions.
|
455
|
+
# Optional. This field is used to specify a set of fields that should be
|
456
|
+
# used to determine which resources in backup should be acted upon by the
|
457
|
+
# supplied transformation rule actions, and this will ensure that only
|
458
|
+
# specific resources are affected by transformation rule actions.
|
417
459
|
# @!attribute [rw] description
|
418
460
|
# @return [::String]
|
419
|
-
# The description is a user specified string description of the
|
461
|
+
# Optional. The description is a user specified string description of the
|
420
462
|
# transformation rule.
|
421
463
|
class TransformationRule
|
422
464
|
include ::Google::Protobuf::MessageExts
|
423
465
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
424
466
|
end
|
425
467
|
|
468
|
+
# Binds resources in the scope to the given VolumeDataRestorePolicy.
|
469
|
+
# @!attribute [rw] policy
|
470
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::VolumeDataRestorePolicy]
|
471
|
+
# Required. The VolumeDataRestorePolicy to apply when restoring volumes in
|
472
|
+
# scope.
|
473
|
+
# @!attribute [rw] volume_type
|
474
|
+
# @return [::Google::Cloud::GkeBackup::V1::VolumeTypeEnum::VolumeType]
|
475
|
+
# The volume type, as determined by the PVC's bound PV,
|
476
|
+
# to apply the policy to.
|
477
|
+
class VolumeDataRestorePolicyBinding
|
478
|
+
include ::Google::Protobuf::MessageExts
|
479
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
480
|
+
end
|
481
|
+
|
482
|
+
# Allows customers to specify dependencies between resources
|
483
|
+
# that Backup for GKE can use to compute a resasonable restore order.
|
484
|
+
# @!attribute [rw] group_kind_dependencies
|
485
|
+
# @return [::Array<::Google::Cloud::GkeBackup::V1::RestoreConfig::RestoreOrder::GroupKindDependency>]
|
486
|
+
# Optional. Contains a list of group kind dependency pairs provided
|
487
|
+
# by the customer, that is used by Backup for GKE to
|
488
|
+
# generate a group kind restore order.
|
489
|
+
class RestoreOrder
|
490
|
+
include ::Google::Protobuf::MessageExts
|
491
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
492
|
+
|
493
|
+
# Defines a dependency between two group kinds.
|
494
|
+
# @!attribute [rw] satisfying
|
495
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind]
|
496
|
+
# Required. The satisfying group kind must be restored first
|
497
|
+
# in order to satisfy the dependency.
|
498
|
+
# @!attribute [rw] requiring
|
499
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind]
|
500
|
+
# Required. The requiring group kind requires that the other
|
501
|
+
# group kind be restored first.
|
502
|
+
class GroupKindDependency
|
503
|
+
include ::Google::Protobuf::MessageExts
|
504
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
426
508
|
# Defines how volume data should be restored.
|
427
509
|
module VolumeDataRestorePolicy
|
428
510
|
# Unspecified (illegal).
|
@@ -482,8 +564,98 @@ module Google
|
|
482
564
|
# occurs during the restore process itself (e.g., because an out of band
|
483
565
|
# process creates conflicting resources), a conflict will be reported.
|
484
566
|
FAIL_ON_CONFLICT = 2
|
567
|
+
|
568
|
+
# This mode merges the backup and the target cluster and skips the
|
569
|
+
# conflicting resources. If a single resource to restore exists in the
|
570
|
+
# cluster before restoration, the resource will be skipped, otherwise it
|
571
|
+
# will be restored.
|
572
|
+
MERGE_SKIP_ON_CONFLICT = 3
|
573
|
+
|
574
|
+
# This mode merges the backup and the target cluster and skips the
|
575
|
+
# conflicting resources except volume data. If a PVC to restore already
|
576
|
+
# exists, this mode will restore/reconnect the volume without overwriting
|
577
|
+
# the PVC. It is similar to MERGE_SKIP_ON_CONFLICT except that it will
|
578
|
+
# apply the volume data policy for the conflicting PVCs:
|
579
|
+
# - RESTORE_VOLUME_DATA_FROM_BACKUP: restore data only and respect the
|
580
|
+
# reclaim policy of the original PV;
|
581
|
+
# - REUSE_VOLUME_HANDLE_FROM_BACKUP: reconnect and respect the reclaim
|
582
|
+
# policy of the original PV;
|
583
|
+
# - NO_VOLUME_DATA_RESTORATION: new provision and respect the reclaim
|
584
|
+
# policy of the original PV.
|
585
|
+
# Note that this mode could cause data loss as the original PV can be
|
586
|
+
# retained or deleted depending on its reclaim policy.
|
587
|
+
MERGE_REPLACE_VOLUME_ON_CONFLICT = 4
|
588
|
+
|
589
|
+
# This mode merges the backup and the target cluster and replaces the
|
590
|
+
# conflicting resources with the ones in the backup. If a single resource
|
591
|
+
# to restore exists in the cluster before restoration, the resource will be
|
592
|
+
# replaced with the one from the backup. To replace an existing resource,
|
593
|
+
# the first attempt is to update the resource to match the one from the
|
594
|
+
# backup; if the update fails, the second attempt is to delete the resource
|
595
|
+
# and restore it from the backup.
|
596
|
+
# Note that this mode could cause data loss as it replaces the existing
|
597
|
+
# resources in the target cluster, and the original PV can be retained or
|
598
|
+
# deleted depending on its reclaim policy.
|
599
|
+
MERGE_REPLACE_ON_CONFLICT = 5
|
600
|
+
end
|
601
|
+
end
|
602
|
+
|
603
|
+
# Defines a selector to identify a single or a group of resources.
|
604
|
+
# Conditions in the selector are optional, but at least one field
|
605
|
+
# should be set to a non-empty value. If a condition is not specified,
|
606
|
+
# no restrictions will be applied on that dimension.
|
607
|
+
# If more than one condition is specified, a resource will be selected
|
608
|
+
# if and only if all conditions are met.
|
609
|
+
# @!attribute [rw] group_kind
|
610
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::GroupKind]
|
611
|
+
# Optional. Selects resources using their Kubernetes GroupKinds. If
|
612
|
+
# specified, only resources of provided GroupKind will be selected.
|
613
|
+
# @!attribute [rw] name
|
614
|
+
# @return [::String]
|
615
|
+
# Optional. Selects resources using their resource names. If specified,
|
616
|
+
# only resources with the provided name will be selected.
|
617
|
+
# @!attribute [rw] namespace
|
618
|
+
# @return [::String]
|
619
|
+
# Optional. Selects resources using their namespaces. This only applies to
|
620
|
+
# namespace scoped resources and cannot be used for selecting
|
621
|
+
# cluster scoped resources. If specified, only resources in the provided
|
622
|
+
# namespace will be selected. If not specified, the filter will apply to
|
623
|
+
# both cluster scoped and namespace scoped resources (e.g. name or label).
|
624
|
+
# The [Namespace](https://pkg.go.dev/k8s.io/api/core/v1#Namespace) resource
|
625
|
+
# itself will be restored if and only if any resources within the namespace
|
626
|
+
# are restored.
|
627
|
+
# @!attribute [rw] labels
|
628
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
629
|
+
# Optional. Selects resources using Kubernetes
|
630
|
+
# [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).
|
631
|
+
# If specified, a resource will be selected if and only if the resource
|
632
|
+
# has all of the provided labels and all the label values match.
|
633
|
+
class ResourceSelector
|
634
|
+
include ::Google::Protobuf::MessageExts
|
635
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
636
|
+
|
637
|
+
# @!attribute [rw] key
|
638
|
+
# @return [::String]
|
639
|
+
# @!attribute [rw] value
|
640
|
+
# @return [::String]
|
641
|
+
class LabelsEntry
|
642
|
+
include ::Google::Protobuf::MessageExts
|
643
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
485
644
|
end
|
486
645
|
end
|
646
|
+
|
647
|
+
# Defines an override to apply a VolumeDataRestorePolicy for scoped resources.
|
648
|
+
# @!attribute [rw] policy
|
649
|
+
# @return [::Google::Cloud::GkeBackup::V1::RestoreConfig::VolumeDataRestorePolicy]
|
650
|
+
# Required. The VolumeDataRestorePolicy to apply when restoring volumes in
|
651
|
+
# scope.
|
652
|
+
# @!attribute [rw] selected_pvcs
|
653
|
+
# @return [::Google::Cloud::GkeBackup::V1::NamespacedNames]
|
654
|
+
# A list of PVCs to apply the policy override to.
|
655
|
+
class VolumeDataRestorePolicyOverride
|
656
|
+
include ::Google::Protobuf::MessageExts
|
657
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
658
|
+
end
|
487
659
|
end
|
488
660
|
end
|
489
661
|
end
|
@@ -23,7 +23,6 @@ module Google
|
|
23
23
|
module V1
|
24
24
|
# The configuration of a potential series of Restore operations to be performed
|
25
25
|
# against Backups belong to a particular BackupPlan.
|
26
|
-
# Next id: 13
|
27
26
|
# @!attribute [r] name
|
28
27
|
# @return [::String]
|
29
28
|
# Output only. The full name of the RestorePlan resource.
|
@@ -42,7 +41,7 @@ module Google
|
|
42
41
|
# updated.
|
43
42
|
# @!attribute [rw] description
|
44
43
|
# @return [::String]
|
45
|
-
# User specified descriptive string for this RestorePlan.
|
44
|
+
# Optional. User specified descriptive string for this RestorePlan.
|
46
45
|
# @!attribute [rw] backup_plan
|
47
46
|
# @return [::String]
|
48
47
|
# Required. Immutable. A reference to the
|
@@ -62,7 +61,7 @@ module Google
|
|
62
61
|
# Required. Configuration of Restores created via this RestorePlan.
|
63
62
|
# @!attribute [rw] labels
|
64
63
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
65
|
-
# A set of custom labels supplied by user.
|
64
|
+
# Optional. A set of custom labels supplied by user.
|
66
65
|
# @!attribute [r] etag
|
67
66
|
# @return [::String]
|
68
67
|
# Output only. `etag` is used for optimistic concurrency control as a way to
|
@@ -24,7 +24,6 @@ module Google
|
|
24
24
|
# Represents the backup of a specific persistent volume as a component of a
|
25
25
|
# Backup - both the record of the operation and a pointer to the underlying
|
26
26
|
# storage-specific artifacts.
|
27
|
-
# Next id: 14
|
28
27
|
# @!attribute [r] name
|
29
28
|
# @return [::String]
|
30
29
|
# Output only. The full name of the VolumeBackup resource.
|
@@ -126,7 +125,6 @@ module Google
|
|
126
125
|
end
|
127
126
|
|
128
127
|
# Represents the operation of restoring a volume from a VolumeBackup.
|
129
|
-
# Next id: 13
|
130
128
|
# @!attribute [r] name
|
131
129
|
# @return [::String]
|
132
130
|
# Output only. Full name of the VolumeRestore resource.
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 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 Type
|
22
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
23
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
24
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
25
|
+
# following:
|
26
|
+
#
|
27
|
+
# * A full date, with non-zero year, month, and day values
|
28
|
+
# * A month and day value, with a zero year, such as an anniversary
|
29
|
+
# * A year on its own, with zero month and day values
|
30
|
+
# * A year and month value, with a zero day, such as a credit card expiration
|
31
|
+
# date
|
32
|
+
#
|
33
|
+
# Related types are {::Google::Type::TimeOfDay google.type.TimeOfDay} and
|
34
|
+
# `google.protobuf.Timestamp`.
|
35
|
+
# @!attribute [rw] year
|
36
|
+
# @return [::Integer]
|
37
|
+
# Year of the date. Must be from 1 to 9999, or 0 to specify a date without
|
38
|
+
# a year.
|
39
|
+
# @!attribute [rw] month
|
40
|
+
# @return [::Integer]
|
41
|
+
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a
|
42
|
+
# month and day.
|
43
|
+
# @!attribute [rw] day
|
44
|
+
# @return [::Integer]
|
45
|
+
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
|
46
|
+
# to specify a year by itself or a year and month where the day isn't
|
47
|
+
# significant.
|
48
|
+
class Date
|
49
|
+
include ::Google::Protobuf::MessageExts
|
50
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 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 Type
|
22
|
+
# Represents a day of the week.
|
23
|
+
module DayOfWeek
|
24
|
+
# The day of the week is unspecified.
|
25
|
+
DAY_OF_WEEK_UNSPECIFIED = 0
|
26
|
+
|
27
|
+
# Monday
|
28
|
+
MONDAY = 1
|
29
|
+
|
30
|
+
# Tuesday
|
31
|
+
TUESDAY = 2
|
32
|
+
|
33
|
+
# Wednesday
|
34
|
+
WEDNESDAY = 3
|
35
|
+
|
36
|
+
# Thursday
|
37
|
+
THURSDAY = 4
|
38
|
+
|
39
|
+
# Friday
|
40
|
+
FRIDAY = 5
|
41
|
+
|
42
|
+
# Saturday
|
43
|
+
SATURDAY = 6
|
44
|
+
|
45
|
+
# Sunday
|
46
|
+
SUNDAY = 7
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 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 Type
|
22
|
+
# Represents a time of day. The date and time zone are either not significant
|
23
|
+
# or are specified elsewhere. An API may choose to allow leap seconds. Related
|
24
|
+
# types are {::Google::Type::Date google.type.Date} and
|
25
|
+
# `google.protobuf.Timestamp`.
|
26
|
+
# @!attribute [rw] hours
|
27
|
+
# @return [::Integer]
|
28
|
+
# Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
|
29
|
+
# to allow the value "24:00:00" for scenarios like business closing time.
|
30
|
+
# @!attribute [rw] minutes
|
31
|
+
# @return [::Integer]
|
32
|
+
# Minutes of hour of day. Must be from 0 to 59.
|
33
|
+
# @!attribute [rw] seconds
|
34
|
+
# @return [::Integer]
|
35
|
+
# Seconds of minutes of the time. Must normally be from 0 to 59. An API may
|
36
|
+
# allow the value 60 if it allows leap-seconds.
|
37
|
+
# @!attribute [rw] nanos
|
38
|
+
# @return [::Integer]
|
39
|
+
# Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
|
40
|
+
class TimeOfDay
|
41
|
+
include ::Google::Protobuf::MessageExts
|
42
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-gke_backup-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -139,7 +139,10 @@ files:
|
|
139
139
|
- proto_docs/google/protobuf/field_mask.rb
|
140
140
|
- proto_docs/google/protobuf/timestamp.rb
|
141
141
|
- proto_docs/google/rpc/status.rb
|
142
|
+
- proto_docs/google/type/date.rb
|
143
|
+
- proto_docs/google/type/dayofweek.rb
|
142
144
|
- proto_docs/google/type/expr.rb
|
145
|
+
- proto_docs/google/type/timeofday.rb
|
143
146
|
homepage: https://github.com/googleapis/google-cloud-ruby
|
144
147
|
licenses:
|
145
148
|
- Apache-2.0
|