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.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/gke_backup/v1/backup_for_gke/client.rb +197 -70
  3. data/lib/google/cloud/gke_backup/v1/backup_for_gke/operations.rb +13 -5
  4. data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/client.rb +190 -70
  5. data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/operations.rb +13 -6
  6. data/lib/google/cloud/gke_backup/v1/backup_for_gke/rest/service_stub.rb +59 -0
  7. data/lib/google/cloud/gke_backup/v1/version.rb +1 -1
  8. data/lib/google/cloud/gkebackup/v1/backup_pb.rb +1 -1
  9. data/lib/google/cloud/gkebackup/v1/backup_plan_pb.rb +11 -1
  10. data/lib/google/cloud/gkebackup/v1/common_pb.rb +4 -1
  11. data/lib/google/cloud/gkebackup/v1/gkebackup_pb.rb +3 -1
  12. data/lib/google/cloud/gkebackup/v1/gkebackup_services_pb.rb +2 -0
  13. data/lib/google/cloud/gkebackup/v1/restore_pb.rb +7 -1
  14. data/lib/google/cloud/gkebackup/v1/restore_plan_pb.rb +1 -1
  15. data/proto_docs/google/api/client.rb +4 -0
  16. data/proto_docs/google/cloud/gkebackup/v1/backup.rb +27 -18
  17. data/proto_docs/google/cloud/gkebackup/v1/backup_plan.rb +139 -34
  18. data/proto_docs/google/cloud/gkebackup/v1/common.rb +20 -5
  19. data/proto_docs/google/cloud/gkebackup/v1/gkebackup.rb +65 -46
  20. data/proto_docs/google/cloud/gkebackup/v1/restore.rb +233 -61
  21. data/proto_docs/google/cloud/gkebackup/v1/restore_plan.rb +2 -3
  22. data/proto_docs/google/cloud/gkebackup/v1/volume.rb +0 -2
  23. data/proto_docs/google/type/date.rb +53 -0
  24. data/proto_docs/google/type/dayofweek.rb +49 -0
  25. data/proto_docs/google/type/timeofday.rb +45 -0
  26. 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 cluster-scoped
152
- # resources being restored already exist in the target cluster. This MUST be
153
- # set to a value other than CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED if
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 namespaced
159
- # resources being restored already exist in the target cluster. This MUST be
160
- # set to a value other than NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED.
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 Backup.
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 resources
189
- # as they are selected for restoration from a Backup. Rules are executed in
190
- # order defined - this order matters, as changes made by a rule may impact
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 resources
196
- # as they are selected for restoration from a Backup. Rules are executed in
197
- # order defined - this order matters, as changes made by a rule may impact
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, e.g.
215
- # "CustomResourceDefinition", "StorageClass", etc.
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 the
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 from the
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 be
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 belong to
279
- # one of the listed "types".
280
- # If this field is not provided, no type filtering will be performed (all
281
- # resources of all types matching previous filtering parameters will be
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 filtering and
306
- # selection criteria. To remove a value from a Kubernetes resource, either
307
- # leave this field unspecified, or set it to the empty string ("").
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 location in
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 location
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 must be
377
- # contained within one of the listed Kubernetes Namespace in the Backup.
378
- # If this field is not provided, no namespace filtering will be performed
379
- # (all resources in all Namespaces, including all cluster-scoped resources,
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 must belong
386
- # to one of the listed "types". If this field is not provided, no type
387
- # filtering will be performed (all resources of all types matching previous
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 used to
414
- # determine which resources in backup should be acted upon by the supplied
415
- # transformation rule actions, and this will ensure that only specific
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.8.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-02-26 00:00:00.000000000 Z
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