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