google-apis-gkebackup_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,728 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module GkebackupV1
24
+
25
+ class AuditConfig
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class AuditLogConfig
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class Backup
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class BackupConfig
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class BackupPlan
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class Binding
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class ClusterMetadata
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class ClusterResourceRestoreScope
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class Empty
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class EncryptionKey
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class Expr
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class GoogleLongrunningCancelOperationRequest
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class GoogleLongrunningListOperationsResponse
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class GoogleLongrunningOperation
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class GoogleRpcStatus
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class GroupKind
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class ListBackupPlansResponse
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class ListBackupsResponse
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class ListLocationsResponse
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class ListRestorePlansResponse
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class ListRestoresResponse
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class ListVolumeBackupsResponse
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class ListVolumeRestoresResponse
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class Location
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class NamespacedName
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class NamespacedNames
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
181
+ class Namespaces
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
187
+ class OperationMetadata
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
193
+ class Policy
194
+ class Representation < Google::Apis::Core::JsonRepresentation; end
195
+
196
+ include Google::Apis::Core::JsonObjectSupport
197
+ end
198
+
199
+ class Restore
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
205
+ class RestoreConfig
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
211
+ class RestorePlan
212
+ class Representation < Google::Apis::Core::JsonRepresentation; end
213
+
214
+ include Google::Apis::Core::JsonObjectSupport
215
+ end
216
+
217
+ class RetentionPolicy
218
+ class Representation < Google::Apis::Core::JsonRepresentation; end
219
+
220
+ include Google::Apis::Core::JsonObjectSupport
221
+ end
222
+
223
+ class Schedule
224
+ class Representation < Google::Apis::Core::JsonRepresentation; end
225
+
226
+ include Google::Apis::Core::JsonObjectSupport
227
+ end
228
+
229
+ class SetIamPolicyRequest
230
+ class Representation < Google::Apis::Core::JsonRepresentation; end
231
+
232
+ include Google::Apis::Core::JsonObjectSupport
233
+ end
234
+
235
+ class SubstitutionRule
236
+ class Representation < Google::Apis::Core::JsonRepresentation; end
237
+
238
+ include Google::Apis::Core::JsonObjectSupport
239
+ end
240
+
241
+ class TestIamPermissionsRequest
242
+ class Representation < Google::Apis::Core::JsonRepresentation; end
243
+
244
+ include Google::Apis::Core::JsonObjectSupport
245
+ end
246
+
247
+ class TestIamPermissionsResponse
248
+ class Representation < Google::Apis::Core::JsonRepresentation; end
249
+
250
+ include Google::Apis::Core::JsonObjectSupport
251
+ end
252
+
253
+ class VolumeBackup
254
+ class Representation < Google::Apis::Core::JsonRepresentation; end
255
+
256
+ include Google::Apis::Core::JsonObjectSupport
257
+ end
258
+
259
+ class VolumeRestore
260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
261
+
262
+ include Google::Apis::Core::JsonObjectSupport
263
+ end
264
+
265
+ class AuditConfig
266
+ # @private
267
+ class Representation < Google::Apis::Core::JsonRepresentation
268
+ collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::GkebackupV1::AuditLogConfig, decorator: Google::Apis::GkebackupV1::AuditLogConfig::Representation
269
+
270
+ property :service, as: 'service'
271
+ end
272
+ end
273
+
274
+ class AuditLogConfig
275
+ # @private
276
+ class Representation < Google::Apis::Core::JsonRepresentation
277
+ collection :exempted_members, as: 'exemptedMembers'
278
+ property :log_type, as: 'logType'
279
+ end
280
+ end
281
+
282
+ class Backup
283
+ # @private
284
+ class Representation < Google::Apis::Core::JsonRepresentation
285
+ property :all_namespaces, as: 'allNamespaces'
286
+ property :cluster_metadata, as: 'clusterMetadata', class: Google::Apis::GkebackupV1::ClusterMetadata, decorator: Google::Apis::GkebackupV1::ClusterMetadata::Representation
287
+
288
+ property :complete_time, as: 'completeTime'
289
+ property :config_backup_size_bytes, :numeric_string => true, as: 'configBackupSizeBytes'
290
+ property :contains_secrets, as: 'containsSecrets'
291
+ property :contains_volume_data, as: 'containsVolumeData'
292
+ property :create_time, as: 'createTime'
293
+ property :delete_lock_days, as: 'deleteLockDays'
294
+ property :delete_lock_expire_time, as: 'deleteLockExpireTime'
295
+ property :description, as: 'description'
296
+ property :encryption_key, as: 'encryptionKey', class: Google::Apis::GkebackupV1::EncryptionKey, decorator: Google::Apis::GkebackupV1::EncryptionKey::Representation
297
+
298
+ property :etag, as: 'etag'
299
+ hash :labels, as: 'labels'
300
+ property :manual, as: 'manual'
301
+ property :name, as: 'name'
302
+ property :pod_count, as: 'podCount'
303
+ property :resource_count, as: 'resourceCount'
304
+ property :retain_days, as: 'retainDays'
305
+ property :retain_expire_time, as: 'retainExpireTime'
306
+ property :selected_applications, as: 'selectedApplications', class: Google::Apis::GkebackupV1::NamespacedNames, decorator: Google::Apis::GkebackupV1::NamespacedNames::Representation
307
+
308
+ property :selected_namespaces, as: 'selectedNamespaces', class: Google::Apis::GkebackupV1::Namespaces, decorator: Google::Apis::GkebackupV1::Namespaces::Representation
309
+
310
+ property :size_bytes, :numeric_string => true, as: 'sizeBytes'
311
+ property :state, as: 'state'
312
+ property :state_reason, as: 'stateReason'
313
+ property :uid, as: 'uid'
314
+ property :update_time, as: 'updateTime'
315
+ property :volume_count, as: 'volumeCount'
316
+ end
317
+ end
318
+
319
+ class BackupConfig
320
+ # @private
321
+ class Representation < Google::Apis::Core::JsonRepresentation
322
+ property :all_namespaces, as: 'allNamespaces'
323
+ property :encryption_key, as: 'encryptionKey', class: Google::Apis::GkebackupV1::EncryptionKey, decorator: Google::Apis::GkebackupV1::EncryptionKey::Representation
324
+
325
+ property :include_secrets, as: 'includeSecrets'
326
+ property :include_volume_data, as: 'includeVolumeData'
327
+ property :selected_applications, as: 'selectedApplications', class: Google::Apis::GkebackupV1::NamespacedNames, decorator: Google::Apis::GkebackupV1::NamespacedNames::Representation
328
+
329
+ property :selected_namespaces, as: 'selectedNamespaces', class: Google::Apis::GkebackupV1::Namespaces, decorator: Google::Apis::GkebackupV1::Namespaces::Representation
330
+
331
+ end
332
+ end
333
+
334
+ class BackupPlan
335
+ # @private
336
+ class Representation < Google::Apis::Core::JsonRepresentation
337
+ property :backup_config, as: 'backupConfig', class: Google::Apis::GkebackupV1::BackupConfig, decorator: Google::Apis::GkebackupV1::BackupConfig::Representation
338
+
339
+ property :backup_schedule, as: 'backupSchedule', class: Google::Apis::GkebackupV1::Schedule, decorator: Google::Apis::GkebackupV1::Schedule::Representation
340
+
341
+ property :cluster, as: 'cluster'
342
+ property :create_time, as: 'createTime'
343
+ property :deactivated, as: 'deactivated'
344
+ property :description, as: 'description'
345
+ property :etag, as: 'etag'
346
+ hash :labels, as: 'labels'
347
+ property :name, as: 'name'
348
+ property :protected_pod_count, as: 'protectedPodCount'
349
+ property :retention_policy, as: 'retentionPolicy', class: Google::Apis::GkebackupV1::RetentionPolicy, decorator: Google::Apis::GkebackupV1::RetentionPolicy::Representation
350
+
351
+ property :uid, as: 'uid'
352
+ property :update_time, as: 'updateTime'
353
+ end
354
+ end
355
+
356
+ class Binding
357
+ # @private
358
+ class Representation < Google::Apis::Core::JsonRepresentation
359
+ property :condition, as: 'condition', class: Google::Apis::GkebackupV1::Expr, decorator: Google::Apis::GkebackupV1::Expr::Representation
360
+
361
+ collection :members, as: 'members'
362
+ property :role, as: 'role'
363
+ end
364
+ end
365
+
366
+ class ClusterMetadata
367
+ # @private
368
+ class Representation < Google::Apis::Core::JsonRepresentation
369
+ property :anthos_version, as: 'anthosVersion'
370
+ hash :backup_crd_versions, as: 'backupCrdVersions'
371
+ property :cluster, as: 'cluster'
372
+ property :gke_version, as: 'gkeVersion'
373
+ property :k8s_version, as: 'k8sVersion'
374
+ end
375
+ end
376
+
377
+ class ClusterResourceRestoreScope
378
+ # @private
379
+ class Representation < Google::Apis::Core::JsonRepresentation
380
+ collection :selected_group_kinds, as: 'selectedGroupKinds', class: Google::Apis::GkebackupV1::GroupKind, decorator: Google::Apis::GkebackupV1::GroupKind::Representation
381
+
382
+ end
383
+ end
384
+
385
+ class Empty
386
+ # @private
387
+ class Representation < Google::Apis::Core::JsonRepresentation
388
+ end
389
+ end
390
+
391
+ class EncryptionKey
392
+ # @private
393
+ class Representation < Google::Apis::Core::JsonRepresentation
394
+ property :gcp_kms_encryption_key, as: 'gcpKmsEncryptionKey'
395
+ end
396
+ end
397
+
398
+ class Expr
399
+ # @private
400
+ class Representation < Google::Apis::Core::JsonRepresentation
401
+ property :description, as: 'description'
402
+ property :expression, as: 'expression'
403
+ property :location, as: 'location'
404
+ property :title, as: 'title'
405
+ end
406
+ end
407
+
408
+ class GoogleLongrunningCancelOperationRequest
409
+ # @private
410
+ class Representation < Google::Apis::Core::JsonRepresentation
411
+ end
412
+ end
413
+
414
+ class GoogleLongrunningListOperationsResponse
415
+ # @private
416
+ class Representation < Google::Apis::Core::JsonRepresentation
417
+ property :next_page_token, as: 'nextPageToken'
418
+ collection :operations, as: 'operations', class: Google::Apis::GkebackupV1::GoogleLongrunningOperation, decorator: Google::Apis::GkebackupV1::GoogleLongrunningOperation::Representation
419
+
420
+ end
421
+ end
422
+
423
+ class GoogleLongrunningOperation
424
+ # @private
425
+ class Representation < Google::Apis::Core::JsonRepresentation
426
+ property :done, as: 'done'
427
+ property :error, as: 'error', class: Google::Apis::GkebackupV1::GoogleRpcStatus, decorator: Google::Apis::GkebackupV1::GoogleRpcStatus::Representation
428
+
429
+ hash :metadata, as: 'metadata'
430
+ property :name, as: 'name'
431
+ hash :response, as: 'response'
432
+ end
433
+ end
434
+
435
+ class GoogleRpcStatus
436
+ # @private
437
+ class Representation < Google::Apis::Core::JsonRepresentation
438
+ property :code, as: 'code'
439
+ collection :details, as: 'details'
440
+ property :message, as: 'message'
441
+ end
442
+ end
443
+
444
+ class GroupKind
445
+ # @private
446
+ class Representation < Google::Apis::Core::JsonRepresentation
447
+ property :resource_group, as: 'resourceGroup'
448
+ property :resource_kind, as: 'resourceKind'
449
+ end
450
+ end
451
+
452
+ class ListBackupPlansResponse
453
+ # @private
454
+ class Representation < Google::Apis::Core::JsonRepresentation
455
+ collection :backup_plans, as: 'backupPlans', class: Google::Apis::GkebackupV1::BackupPlan, decorator: Google::Apis::GkebackupV1::BackupPlan::Representation
456
+
457
+ property :next_page_token, as: 'nextPageToken'
458
+ collection :unreachable, as: 'unreachable'
459
+ end
460
+ end
461
+
462
+ class ListBackupsResponse
463
+ # @private
464
+ class Representation < Google::Apis::Core::JsonRepresentation
465
+ collection :backups, as: 'backups', class: Google::Apis::GkebackupV1::Backup, decorator: Google::Apis::GkebackupV1::Backup::Representation
466
+
467
+ property :next_page_token, as: 'nextPageToken'
468
+ end
469
+ end
470
+
471
+ class ListLocationsResponse
472
+ # @private
473
+ class Representation < Google::Apis::Core::JsonRepresentation
474
+ collection :locations, as: 'locations', class: Google::Apis::GkebackupV1::Location, decorator: Google::Apis::GkebackupV1::Location::Representation
475
+
476
+ property :next_page_token, as: 'nextPageToken'
477
+ end
478
+ end
479
+
480
+ class ListRestorePlansResponse
481
+ # @private
482
+ class Representation < Google::Apis::Core::JsonRepresentation
483
+ property :next_page_token, as: 'nextPageToken'
484
+ collection :restore_plans, as: 'restorePlans', class: Google::Apis::GkebackupV1::RestorePlan, decorator: Google::Apis::GkebackupV1::RestorePlan::Representation
485
+
486
+ collection :unreachable, as: 'unreachable'
487
+ end
488
+ end
489
+
490
+ class ListRestoresResponse
491
+ # @private
492
+ class Representation < Google::Apis::Core::JsonRepresentation
493
+ property :next_page_token, as: 'nextPageToken'
494
+ collection :restores, as: 'restores', class: Google::Apis::GkebackupV1::Restore, decorator: Google::Apis::GkebackupV1::Restore::Representation
495
+
496
+ collection :unreachable, as: 'unreachable'
497
+ end
498
+ end
499
+
500
+ class ListVolumeBackupsResponse
501
+ # @private
502
+ class Representation < Google::Apis::Core::JsonRepresentation
503
+ property :next_page_token, as: 'nextPageToken'
504
+ collection :volume_backups, as: 'volumeBackups', class: Google::Apis::GkebackupV1::VolumeBackup, decorator: Google::Apis::GkebackupV1::VolumeBackup::Representation
505
+
506
+ end
507
+ end
508
+
509
+ class ListVolumeRestoresResponse
510
+ # @private
511
+ class Representation < Google::Apis::Core::JsonRepresentation
512
+ property :next_page_token, as: 'nextPageToken'
513
+ collection :volume_restores, as: 'volumeRestores', class: Google::Apis::GkebackupV1::VolumeRestore, decorator: Google::Apis::GkebackupV1::VolumeRestore::Representation
514
+
515
+ end
516
+ end
517
+
518
+ class Location
519
+ # @private
520
+ class Representation < Google::Apis::Core::JsonRepresentation
521
+ property :display_name, as: 'displayName'
522
+ hash :labels, as: 'labels'
523
+ property :location_id, as: 'locationId'
524
+ hash :metadata, as: 'metadata'
525
+ property :name, as: 'name'
526
+ end
527
+ end
528
+
529
+ class NamespacedName
530
+ # @private
531
+ class Representation < Google::Apis::Core::JsonRepresentation
532
+ property :name, as: 'name'
533
+ property :namespace, as: 'namespace'
534
+ end
535
+ end
536
+
537
+ class NamespacedNames
538
+ # @private
539
+ class Representation < Google::Apis::Core::JsonRepresentation
540
+ collection :namespaced_names, as: 'namespacedNames', class: Google::Apis::GkebackupV1::NamespacedName, decorator: Google::Apis::GkebackupV1::NamespacedName::Representation
541
+
542
+ end
543
+ end
544
+
545
+ class Namespaces
546
+ # @private
547
+ class Representation < Google::Apis::Core::JsonRepresentation
548
+ collection :namespaces, as: 'namespaces'
549
+ end
550
+ end
551
+
552
+ class OperationMetadata
553
+ # @private
554
+ class Representation < Google::Apis::Core::JsonRepresentation
555
+ property :api_version, as: 'apiVersion'
556
+ property :create_time, as: 'createTime'
557
+ property :end_time, as: 'endTime'
558
+ property :requested_cancellation, as: 'requestedCancellation'
559
+ property :status_message, as: 'statusMessage'
560
+ property :target, as: 'target'
561
+ property :verb, as: 'verb'
562
+ end
563
+ end
564
+
565
+ class Policy
566
+ # @private
567
+ class Representation < Google::Apis::Core::JsonRepresentation
568
+ collection :audit_configs, as: 'auditConfigs', class: Google::Apis::GkebackupV1::AuditConfig, decorator: Google::Apis::GkebackupV1::AuditConfig::Representation
569
+
570
+ collection :bindings, as: 'bindings', class: Google::Apis::GkebackupV1::Binding, decorator: Google::Apis::GkebackupV1::Binding::Representation
571
+
572
+ property :etag, :base64 => true, as: 'etag'
573
+ property :version, as: 'version'
574
+ end
575
+ end
576
+
577
+ class Restore
578
+ # @private
579
+ class Representation < Google::Apis::Core::JsonRepresentation
580
+ property :backup, as: 'backup'
581
+ property :cluster, as: 'cluster'
582
+ property :complete_time, as: 'completeTime'
583
+ property :create_time, as: 'createTime'
584
+ property :description, as: 'description'
585
+ property :etag, as: 'etag'
586
+ hash :labels, as: 'labels'
587
+ property :name, as: 'name'
588
+ property :resources_excluded_count, as: 'resourcesExcludedCount'
589
+ property :resources_failed_count, as: 'resourcesFailedCount'
590
+ property :resources_restored_count, as: 'resourcesRestoredCount'
591
+ property :restore_config, as: 'restoreConfig', class: Google::Apis::GkebackupV1::RestoreConfig, decorator: Google::Apis::GkebackupV1::RestoreConfig::Representation
592
+
593
+ property :state, as: 'state'
594
+ property :state_reason, as: 'stateReason'
595
+ property :uid, as: 'uid'
596
+ property :update_time, as: 'updateTime'
597
+ property :volumes_restored_count, as: 'volumesRestoredCount'
598
+ end
599
+ end
600
+
601
+ class RestoreConfig
602
+ # @private
603
+ class Representation < Google::Apis::Core::JsonRepresentation
604
+ property :all_namespaces, as: 'allNamespaces'
605
+ property :cluster_resource_conflict_policy, as: 'clusterResourceConflictPolicy'
606
+ property :cluster_resource_restore_scope, as: 'clusterResourceRestoreScope', class: Google::Apis::GkebackupV1::ClusterResourceRestoreScope, decorator: Google::Apis::GkebackupV1::ClusterResourceRestoreScope::Representation
607
+
608
+ property :namespaced_resource_restore_mode, as: 'namespacedResourceRestoreMode'
609
+ property :selected_applications, as: 'selectedApplications', class: Google::Apis::GkebackupV1::NamespacedNames, decorator: Google::Apis::GkebackupV1::NamespacedNames::Representation
610
+
611
+ property :selected_namespaces, as: 'selectedNamespaces', class: Google::Apis::GkebackupV1::Namespaces, decorator: Google::Apis::GkebackupV1::Namespaces::Representation
612
+
613
+ collection :substitution_rules, as: 'substitutionRules', class: Google::Apis::GkebackupV1::SubstitutionRule, decorator: Google::Apis::GkebackupV1::SubstitutionRule::Representation
614
+
615
+ property :volume_data_restore_policy, as: 'volumeDataRestorePolicy'
616
+ end
617
+ end
618
+
619
+ class RestorePlan
620
+ # @private
621
+ class Representation < Google::Apis::Core::JsonRepresentation
622
+ property :backup_plan, as: 'backupPlan'
623
+ property :cluster, as: 'cluster'
624
+ property :create_time, as: 'createTime'
625
+ property :description, as: 'description'
626
+ property :etag, as: 'etag'
627
+ hash :labels, as: 'labels'
628
+ property :name, as: 'name'
629
+ property :restore_config, as: 'restoreConfig', class: Google::Apis::GkebackupV1::RestoreConfig, decorator: Google::Apis::GkebackupV1::RestoreConfig::Representation
630
+
631
+ property :uid, as: 'uid'
632
+ property :update_time, as: 'updateTime'
633
+ end
634
+ end
635
+
636
+ class RetentionPolicy
637
+ # @private
638
+ class Representation < Google::Apis::Core::JsonRepresentation
639
+ property :backup_delete_lock_days, as: 'backupDeleteLockDays'
640
+ property :backup_retain_days, as: 'backupRetainDays'
641
+ property :locked, as: 'locked'
642
+ end
643
+ end
644
+
645
+ class Schedule
646
+ # @private
647
+ class Representation < Google::Apis::Core::JsonRepresentation
648
+ property :cron_schedule, as: 'cronSchedule'
649
+ property :paused, as: 'paused'
650
+ end
651
+ end
652
+
653
+ class SetIamPolicyRequest
654
+ # @private
655
+ class Representation < Google::Apis::Core::JsonRepresentation
656
+ property :policy, as: 'policy', class: Google::Apis::GkebackupV1::Policy, decorator: Google::Apis::GkebackupV1::Policy::Representation
657
+
658
+ property :update_mask, as: 'updateMask'
659
+ end
660
+ end
661
+
662
+ class SubstitutionRule
663
+ # @private
664
+ class Representation < Google::Apis::Core::JsonRepresentation
665
+ property :new_value, as: 'newValue'
666
+ property :original_value_pattern, as: 'originalValuePattern'
667
+ collection :target_group_kinds, as: 'targetGroupKinds', class: Google::Apis::GkebackupV1::GroupKind, decorator: Google::Apis::GkebackupV1::GroupKind::Representation
668
+
669
+ property :target_json_path, as: 'targetJsonPath'
670
+ collection :target_namespaces, as: 'targetNamespaces'
671
+ end
672
+ end
673
+
674
+ class TestIamPermissionsRequest
675
+ # @private
676
+ class Representation < Google::Apis::Core::JsonRepresentation
677
+ collection :permissions, as: 'permissions'
678
+ end
679
+ end
680
+
681
+ class TestIamPermissionsResponse
682
+ # @private
683
+ class Representation < Google::Apis::Core::JsonRepresentation
684
+ collection :permissions, as: 'permissions'
685
+ end
686
+ end
687
+
688
+ class VolumeBackup
689
+ # @private
690
+ class Representation < Google::Apis::Core::JsonRepresentation
691
+ property :complete_time, as: 'completeTime'
692
+ property :create_time, as: 'createTime'
693
+ property :disk_size_bytes, :numeric_string => true, as: 'diskSizeBytes'
694
+ property :etag, as: 'etag'
695
+ property :format, as: 'format'
696
+ property :name, as: 'name'
697
+ property :source_pvc, as: 'sourcePvc', class: Google::Apis::GkebackupV1::NamespacedName, decorator: Google::Apis::GkebackupV1::NamespacedName::Representation
698
+
699
+ property :state, as: 'state'
700
+ property :state_message, as: 'stateMessage'
701
+ property :storage_bytes, :numeric_string => true, as: 'storageBytes'
702
+ property :uid, as: 'uid'
703
+ property :update_time, as: 'updateTime'
704
+ property :volume_backup_handle, as: 'volumeBackupHandle'
705
+ end
706
+ end
707
+
708
+ class VolumeRestore
709
+ # @private
710
+ class Representation < Google::Apis::Core::JsonRepresentation
711
+ property :complete_time, as: 'completeTime'
712
+ property :create_time, as: 'createTime'
713
+ property :etag, as: 'etag'
714
+ property :name, as: 'name'
715
+ property :state, as: 'state'
716
+ property :state_message, as: 'stateMessage'
717
+ property :target_pvc, as: 'targetPvc', class: Google::Apis::GkebackupV1::NamespacedName, decorator: Google::Apis::GkebackupV1::NamespacedName::Representation
718
+
719
+ property :uid, as: 'uid'
720
+ property :update_time, as: 'updateTime'
721
+ property :volume_backup, as: 'volumeBackup'
722
+ property :volume_handle, as: 'volumeHandle'
723
+ property :volume_type, as: 'volumeType'
724
+ end
725
+ end
726
+ end
727
+ end
728
+ end