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.
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