google-cloud-backupdr-v1beta 0.a → 0.1.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/backupdr/v1beta/appliedautoprotectionpolicy_pb.rb +30 -0
  6. data/lib/google/cloud/backupdr/v1beta/autoprotectionpolicy_pb.rb +39 -0
  7. data/lib/google/cloud/backupdr/v1beta/autoprotectionpolicybinding_pb.rb +32 -0
  8. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/client.rb +532 -0
  9. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/credentials.rb +48 -0
  10. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/paths.rb +50 -0
  11. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/rest/client.rb +491 -0
  12. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/rest/service_stub.rb +142 -0
  13. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary/rest.rb +53 -0
  14. data/lib/google/cloud/backupdr/v1beta/backup_dr_protection_summary.rb +55 -0
  15. data/lib/google/cloud/backupdr/v1beta/backupdr/client.rb +6101 -0
  16. data/lib/google/cloud/backupdr/v1beta/backupdr/credentials.rb +48 -0
  17. data/lib/google/cloud/backupdr/v1beta/backupdr/operations.rb +843 -0
  18. data/lib/google/cloud/backupdr/v1beta/backupdr/paths.rb +372 -0
  19. data/lib/google/cloud/backupdr/v1beta/backupdr/rest/client.rb +5724 -0
  20. data/lib/google/cloud/backupdr/v1beta/backupdr/rest/operations.rb +927 -0
  21. data/lib/google/cloud/backupdr/v1beta/backupdr/rest/service_stub.rb +3086 -0
  22. data/lib/google/cloud/backupdr/v1beta/backupdr/rest.rb +54 -0
  23. data/lib/google/cloud/backupdr/v1beta/backupdr.rb +56 -0
  24. data/lib/google/cloud/backupdr/v1beta/backupdr_pb.rb +55 -0
  25. data/lib/google/cloud/backupdr/v1beta/backupdr_services_pb.rb +145 -0
  26. data/lib/google/cloud/backupdr/v1beta/backupplan_pb.rb +49 -0
  27. data/lib/google/cloud/backupdr/v1beta/backupplanassociation_pb.rb +42 -0
  28. data/lib/google/cloud/backupdr/v1beta/backupvault_alloydb_pb.rb +30 -0
  29. data/lib/google/cloud/backupdr/v1beta/backupvault_ba_pb.rb +24 -0
  30. data/lib/google/cloud/backupdr/v1beta/backupvault_cloudsql_pb.rb +30 -0
  31. data/lib/google/cloud/backupdr/v1beta/backupvault_disk_pb.rb +33 -0
  32. data/lib/google/cloud/backupdr/v1beta/backupvault_gce_pb.rb +66 -0
  33. data/lib/google/cloud/backupdr/v1beta/backupvault_pb.rb +80 -0
  34. data/lib/google/cloud/backupdr/v1beta/bindingmatchingresource_pb.rb +31 -0
  35. data/lib/google/cloud/backupdr/v1beta/bindings_override.rb +108 -0
  36. data/lib/google/cloud/backupdr/v1beta/datasourcereference_pb.rb +35 -0
  37. data/lib/google/cloud/backupdr/v1beta/protection_summary_pb.rb +40 -0
  38. data/lib/google/cloud/backupdr/v1beta/protection_summary_services_pb.rb +45 -0
  39. data/lib/google/cloud/backupdr/v1beta/rest.rb +39 -0
  40. data/lib/google/cloud/backupdr/v1beta/version.rb +8 -3
  41. data/lib/google/cloud/backupdr/v1beta.rb +46 -0
  42. data/lib/google-cloud-backupdr-v1beta.rb +21 -0
  43. data/proto_docs/README.md +4 -0
  44. data/proto_docs/google/api/client.rb +593 -0
  45. data/proto_docs/google/api/field_behavior.rb +85 -0
  46. data/proto_docs/google/api/field_info.rb +88 -0
  47. data/proto_docs/google/api/launch_stage.rb +71 -0
  48. data/proto_docs/google/api/resource.rb +227 -0
  49. data/proto_docs/google/cloud/backupdr/v1beta/appliedautoprotectionpolicy.rb +121 -0
  50. data/proto_docs/google/cloud/backupdr/v1beta/autoprotectionpolicy.rb +277 -0
  51. data/proto_docs/google/cloud/backupdr/v1beta/autoprotectionpolicybinding.rb +180 -0
  52. data/proto_docs/google/cloud/backupdr/v1beta/backupdr.rb +428 -0
  53. data/proto_docs/google/cloud/backupdr/v1beta/backupplan.rb +637 -0
  54. data/proto_docs/google/cloud/backupdr/v1beta/backupplanassociation.rb +423 -0
  55. data/proto_docs/google/cloud/backupdr/v1beta/backupvault.rb +1391 -0
  56. data/proto_docs/google/cloud/backupdr/v1beta/backupvault_alloydb.rb +105 -0
  57. data/proto_docs/google/cloud/backupdr/v1beta/backupvault_ba.rb +47 -0
  58. data/proto_docs/google/cloud/backupdr/v1beta/backupvault_cloudsql.rb +131 -0
  59. data/proto_docs/google/cloud/backupdr/v1beta/backupvault_disk.rb +301 -0
  60. data/proto_docs/google/cloud/backupdr/v1beta/backupvault_gce.rb +1010 -0
  61. data/proto_docs/google/cloud/backupdr/v1beta/bindingmatchingresource.rb +160 -0
  62. data/proto_docs/google/cloud/backupdr/v1beta/datasourcereference.rb +236 -0
  63. data/proto_docs/google/cloud/backupdr/v1beta/protection_summary.rb +309 -0
  64. data/proto_docs/google/longrunning/operations.rb +191 -0
  65. data/proto_docs/google/protobuf/any.rb +145 -0
  66. data/proto_docs/google/protobuf/duration.rb +98 -0
  67. data/proto_docs/google/protobuf/empty.rb +34 -0
  68. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  69. data/proto_docs/google/protobuf/timestamp.rb +128 -0
  70. data/proto_docs/google/protobuf/wrappers.rb +148 -0
  71. data/proto_docs/google/rpc/status.rb +48 -0
  72. data/proto_docs/google/type/dayofweek.rb +49 -0
  73. data/proto_docs/google/type/month.rb +64 -0
  74. metadata +134 -9
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 Cloud
22
+ module BackupDR
23
+ module V1beta
24
+ # AlloyDBClusterDataSourceProperties represents the properties of a
25
+ # AlloyDB cluster resource that are stored in the DataSource.
26
+ # .
27
+ # @!attribute [r] name
28
+ # @return [::String]
29
+ # Output only. Name of the AlloyDB cluster backed up by the datasource.
30
+ # @!attribute [r] pitr_windows
31
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AlloyDbPitrWindow>]
32
+ # Output only. Point in time recovery windows.
33
+ # The order is guaranteed to be ascending by start time.
34
+ # @!attribute [r] cluster_uid
35
+ # @return [::String]
36
+ # Output only. The cluster UID of the AlloyDB cluster backed up by the
37
+ # datasource.
38
+ class AlloyDBClusterDataSourceProperties
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # AlloyDBClusterDataSourceReferenceProperties represents the properties of an
44
+ # AlloyDB cluster that are stored in the DataSourceReference.
45
+ # @!attribute [r] name
46
+ # @return [::String]
47
+ # Output only. Name of the AlloyDB cluster backed up by the datasource.
48
+ # Format:
49
+ # projects/\\{project}/locations/\\{location}/clusters/\\{cluster}
50
+ class AlloyDBClusterDataSourceReferenceProperties
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # Point in time recovery window for an AlloyDB cluster.
56
+ # @!attribute [r] start_time
57
+ # @return [::Google::Protobuf::Timestamp]
58
+ # Output only. The start time of the PITR window.
59
+ # @!attribute [r] end_time
60
+ # @return [::Google::Protobuf::Timestamp]
61
+ # Output only. The end time of the PITR window. It is not set if the
62
+ # corresponding Backup Plan Association is active.
63
+ # @!attribute [r] log_retention_days
64
+ # @return [::Integer]
65
+ # Output only. Log retention days for the PITR window.
66
+ class AlloyDbPitrWindow
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # AlloyDbClusterBackupProperties represents AlloyDB cluster
72
+ # backup properties.
73
+ # .
74
+ # @!attribute [rw] description
75
+ # @return [::String]
76
+ # An optional text description for the backup.
77
+ # @!attribute [r] stored_bytes
78
+ # @return [::Integer]
79
+ # Output only. Storage usage of this particular backup
80
+ # @!attribute [r] chain_id
81
+ # @return [::String]
82
+ # Output only. The chain id of this backup. Backups belonging to the same
83
+ # chain are sharing the same chain id. This property is calculated and
84
+ # maintained by BackupDR.
85
+ # @!attribute [r] database_version
86
+ # @return [::String]
87
+ # Output only. The PostgreSQL major version of the AlloyDB cluster when the
88
+ # backup was taken.
89
+ class AlloyDbClusterBackupProperties
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+ end
93
+
94
+ # Properties for an AlloyDB cluster backup plan association.
95
+ # @!attribute [r] cluster_uid
96
+ # @return [::String]
97
+ # Output only. The cluster UID of the AlloyDB cluster.
98
+ class AlloyDBClusterBackupPlanAssociationProperties
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 Cloud
22
+ module BackupDR
23
+ module V1beta
24
+ # BackupApplianceBackupProperties represents BackupDR backup appliance's
25
+ # properties.
26
+ # @!attribute [r] generation_id
27
+ # @return [::Integer]
28
+ # Output only. The numeric generation ID of the backup (monotonically
29
+ # increasing).
30
+ # @!attribute [r] finalize_time
31
+ # @return [::Google::Protobuf::Timestamp]
32
+ # Output only. The time when this backup object was finalized (if none,
33
+ # backup is not finalized).
34
+ # @!attribute [rw] recovery_range_start_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Optional. The earliest timestamp of data available in this Backup.
37
+ # @!attribute [rw] recovery_range_end_time
38
+ # @return [::Google::Protobuf::Timestamp]
39
+ # Optional. The latest timestamp of data available in this Backup.
40
+ class BackupApplianceBackupProperties
41
+ include ::Google::Protobuf::MessageExts
42
+ extend ::Google::Protobuf::MessageExts::ClassMethods
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 Cloud
22
+ module BackupDR
23
+ module V1beta
24
+ # CloudSqlInstanceDataSourceProperties represents the properties of a
25
+ # Cloud SQL resource that are stored in the DataSource.
26
+ # @!attribute [r] name
27
+ # @return [::String]
28
+ # Output only. Name of the Cloud SQL instance backed up by the datasource.
29
+ # Format:
30
+ # projects/\\{project}/instances/\\{instance}
31
+ # @!attribute [r] database_installed_version
32
+ # @return [::String]
33
+ # Output only. The installed database version of the Cloud SQL instance.
34
+ # @!attribute [r] instance_create_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Output only. The instance creation timestamp.
37
+ # @!attribute [r] instance_tier
38
+ # @return [::String]
39
+ # Output only. The tier (or machine type) for this instance. Example:
40
+ # `db-custom-1-3840`
41
+ class CloudSqlInstanceDataSourceProperties
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+
46
+ # CloudSqlInstanceBackupProperties represents Cloud SQL Instance
47
+ # Backup properties.
48
+ # @!attribute [r] database_installed_version
49
+ # @return [::String]
50
+ # Output only. The installed database version of the Cloud SQL instance
51
+ # when the backup was taken.
52
+ # @!attribute [r] final_backup
53
+ # @return [::Boolean]
54
+ # Output only. Whether the backup is a final backup.
55
+ # @!attribute [r] source_instance
56
+ # @return [::String]
57
+ # Output only. The source instance of the backup.
58
+ # Format:
59
+ # projects/\\{project}/instances/\\{instance}
60
+ # @!attribute [r] instance_create_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. The instance creation timestamp.
63
+ # @!attribute [r] instance_tier
64
+ # @return [::String]
65
+ # Output only. The tier (or machine type) for this instance. Example:
66
+ # `db-custom-1-3840`
67
+ # @!attribute [r] instance_delete_time
68
+ # @return [::Google::Protobuf::Timestamp]
69
+ # Output only. The instance delete timestamp.
70
+ class CloudSqlInstanceBackupProperties
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # CloudSqlInstanceDataSourceReferenceProperties represents the properties of a
76
+ # Cloud SQL resource that are stored in the DataSourceReference.
77
+ # @!attribute [r] name
78
+ # @return [::String]
79
+ # Output only. Name of the Cloud SQL instance backed up by the datasource.
80
+ # Format:
81
+ # projects/\\{project}/instances/\\{instance}
82
+ # @!attribute [r] database_installed_version
83
+ # @return [::String]
84
+ # Output only. The installed database version of the Cloud SQL instance.
85
+ # @!attribute [r] instance_create_time
86
+ # @return [::Google::Protobuf::Timestamp]
87
+ # Output only. The instance creation timestamp.
88
+ # @!attribute [r] instance_tier
89
+ # @return [::String]
90
+ # Output only. The tier (or machine type) for this instance. Example:
91
+ # `db-custom-1-3840`
92
+ class CloudSqlInstanceDataSourceReferenceProperties
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # CloudSqlInstanceInitializationConfig contains the configuration for
98
+ # initializing a Cloud SQL instance.
99
+ # @!attribute [rw] edition
100
+ # @return [::Google::Cloud::BackupDR::V1beta::CloudSqlInstanceInitializationConfig::Edition]
101
+ # Required. The edition of the Cloud SQL instance.
102
+ class CloudSqlInstanceInitializationConfig
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+
106
+ # The edition of the Cloud SQL instance. For details, see
107
+ # https://cloud.google.com/sql/docs/editions-intro.
108
+ module Edition
109
+ # Unspecified edition.
110
+ EDITION_UNSPECIFIED = 0
111
+
112
+ # Enterprise edition.
113
+ ENTERPRISE = 1
114
+
115
+ # Enterprise Plus edition.
116
+ ENTERPRISE_PLUS = 2
117
+ end
118
+ end
119
+
120
+ # Cloud SQL instance's BPA properties.
121
+ # @!attribute [r] instance_create_time
122
+ # @return [::Google::Protobuf::Timestamp]
123
+ # Output only. The time when the instance was created.
124
+ class CloudSqlInstanceBackupPlanAssociationProperties
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,301 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 Cloud
22
+ module BackupDR
23
+ module V1beta
24
+ # DiskTargetEnvironment represents the target environment for the disk.
25
+ # @!attribute [rw] project
26
+ # @return [::String]
27
+ # Required. Target project for the disk.
28
+ # @!attribute [rw] zone
29
+ # @return [::String]
30
+ # Required. Target zone for the disk.
31
+ # @!attribute [rw] use_project_service_account
32
+ # @return [::Boolean]
33
+ # Optional. Whether to use the project service account for the disk restore.
34
+ class DiskTargetEnvironment
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+
39
+ # RegionDiskTargetEnvironment represents the target environment for the disk.
40
+ # @!attribute [rw] project
41
+ # @return [::String]
42
+ # Required. Target project for the disk.
43
+ # @!attribute [rw] region
44
+ # @return [::String]
45
+ # Required. Target region for the disk.
46
+ # @!attribute [rw] replica_zones
47
+ # @return [::Array<::String>]
48
+ # Required. Target URLs of the replica zones for the disk.
49
+ # @!attribute [rw] use_project_service_account
50
+ # @return [::Boolean]
51
+ # Optional. Whether to use the project service account for the disk restore.
52
+ class RegionDiskTargetEnvironment
53
+ include ::Google::Protobuf::MessageExts
54
+ extend ::Google::Protobuf::MessageExts::ClassMethods
55
+ end
56
+
57
+ # DiskRestoreProperties represents the properties of a Disk restore.
58
+ # @!attribute [rw] instance_backup_source
59
+ # @return [::Google::Cloud::BackupDR::V1beta::RestoreDiskFromInstanceOptions]
60
+ # Options for creating a disk from a source Compute Instance backup.
61
+ # @!attribute [rw] name
62
+ # @return [::String]
63
+ # Required. Name of the disk.
64
+ # @!attribute [rw] description
65
+ # @return [::String]
66
+ # Optional. An optional description of this resource. Provide this property
67
+ # when you create the resource.
68
+ # @!attribute [rw] size_gb
69
+ # @return [::Integer]
70
+ # Required. The size of the disk in GB.
71
+ # @!attribute [rw] licenses
72
+ # @return [::Array<::String>]
73
+ # Optional. A list of publicly available licenses that are applicable to this
74
+ # backup. This is applicable if the original image had licenses attached,
75
+ # e.g. Windows image
76
+ # @!attribute [rw] guest_os_feature
77
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::GuestOsFeature>]
78
+ # Optional. A list of features to enable in the guest operating system. This
79
+ # is applicable only for bootable images.
80
+ # @!attribute [rw] disk_encryption_key
81
+ # @return [::Google::Cloud::BackupDR::V1beta::CustomerEncryptionKey]
82
+ # Optional. Encrypts the disk using a
83
+ # customer-supplied encryption key or a customer-managed encryption key.
84
+ # @!attribute [rw] physical_block_size_bytes
85
+ # @return [::Integer]
86
+ # Optional. Physical block size of the persistent disk, in bytes.
87
+ # If not present in a request, a default value is used.
88
+ # Currently, the supported size is 4096.
89
+ # @!attribute [rw] provisioned_iops
90
+ # @return [::Integer]
91
+ # Optional. Indicates how many IOPS to provision for the disk. This sets the
92
+ # number of I/O operations per second that the disk can handle.
93
+ # @!attribute [rw] provisioned_throughput
94
+ # @return [::Integer]
95
+ # Optional. Indicates how much throughput to provision for the disk. This
96
+ # sets the number of throughput MB per second that the disk can handle.
97
+ # @!attribute [rw] enable_confidential_compute
98
+ # @return [::Boolean]
99
+ # Optional. Indicates whether this disk is using confidential compute mode.
100
+ # Encryption with a Cloud KMS key is required to enable this option.
101
+ # @!attribute [rw] storage_pool
102
+ # @return [::String]
103
+ # Optional. The storage pool in which the new disk is created. You can
104
+ # provide this as a partial or full URL to the resource.
105
+ # @!attribute [rw] access_mode
106
+ # @return [::Google::Cloud::BackupDR::V1beta::DiskRestoreProperties::AccessMode]
107
+ # Optional. The access mode of the disk.
108
+ # @!attribute [rw] architecture
109
+ # @return [::Google::Cloud::BackupDR::V1beta::DiskRestoreProperties::Architecture]
110
+ # Optional. The architecture of the source disk. Valid values are
111
+ # ARM64 or X86_64.
112
+ # @!attribute [rw] resource_policy
113
+ # @return [::Array<::String>]
114
+ # Optional. Resource policies applied to this disk.
115
+ # @!attribute [rw] type
116
+ # @return [::String]
117
+ # Required. URL of the disk type resource describing which disk type to use
118
+ # to create the disk.
119
+ # @!attribute [rw] labels
120
+ # @return [::Google::Protobuf::Map{::String => ::String}]
121
+ # Optional. Labels to apply to this disk. These can be modified later using
122
+ # <code>setLabels</code> method. Label values can be empty.
123
+ # @!attribute [rw] resource_manager_tags
124
+ # @return [::Google::Protobuf::Map{::String => ::String}]
125
+ # Optional. Resource manager tags to be bound to the disk.
126
+ class DiskRestoreProperties
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+
130
+ # @!attribute [rw] key
131
+ # @return [::String]
132
+ # @!attribute [rw] value
133
+ # @return [::String]
134
+ class LabelsEntry
135
+ include ::Google::Protobuf::MessageExts
136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
137
+ end
138
+
139
+ # @!attribute [rw] key
140
+ # @return [::String]
141
+ # @!attribute [rw] value
142
+ # @return [::String]
143
+ class ResourceManagerTagsEntry
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # The supported access modes of the disk.
149
+ module AccessMode
150
+ # The default AccessMode, means the disk can be attached to single instance
151
+ # in RW mode.
152
+ READ_WRITE_SINGLE = 0
153
+
154
+ # The AccessMode means the disk can be attached to multiple instances in RW
155
+ # mode.
156
+ READ_WRITE_MANY = 1
157
+
158
+ # The AccessMode means the disk can be attached to multiple instances in RO
159
+ # mode.
160
+ READ_ONLY_MANY = 2
161
+ end
162
+
163
+ # Architecture of the source disk.
164
+ module Architecture
165
+ # Default value. This value is unused.
166
+ ARCHITECTURE_UNSPECIFIED = 0
167
+
168
+ # Disks with architecture X86_64
169
+ X86_64 = 1
170
+
171
+ # Disks with architecture ARM64
172
+ ARM64 = 2
173
+ end
174
+ end
175
+
176
+ # Options for creating a disk from a source Compute Instance backup.
177
+ # @!attribute [rw] source_device_name
178
+ # @return [::String]
179
+ # The device name of the disk to restore from the VM backup.
180
+ #
181
+ # Note: The following fields are mutually exclusive: `source_device_name`, `boot_disk`. If a field in that set is populated, all other fields in the set will automatically be cleared.
182
+ # @!attribute [rw] boot_disk
183
+ # @return [::Boolean]
184
+ # Set to true to restore the boot disk from the instance backup.
185
+ # This field should only be set to true if selected.
186
+ #
187
+ # Note: The following fields are mutually exclusive: `boot_disk`, `source_device_name`. If a field in that set is populated, all other fields in the set will automatically be cleared.
188
+ class RestoreDiskFromInstanceOptions
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # DiskBackupProperties represents the properties of a Disk backup.
194
+ # @!attribute [rw] description
195
+ # @return [::String]
196
+ # A description of the source disk.
197
+ # @!attribute [rw] licenses
198
+ # @return [::Array<::String>]
199
+ # A list of publicly available licenses that are applicable to this backup.
200
+ # This is applicable if the original image had licenses attached, e.g.
201
+ # Windows image.
202
+ # @!attribute [rw] guest_os_feature
203
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::GuestOsFeature>]
204
+ # A list of guest OS features that are applicable to this backup.
205
+ # @!attribute [rw] architecture
206
+ # @return [::Google::Cloud::BackupDR::V1beta::DiskBackupProperties::Architecture]
207
+ # The architecture of the source disk. Valid values are
208
+ # ARM64 or X86_64.
209
+ # @!attribute [rw] type
210
+ # @return [::String]
211
+ # The URL of the type of the disk.
212
+ # @!attribute [rw] size_gb
213
+ # @return [::Integer]
214
+ # Size(in GB) of the source disk.
215
+ # @!attribute [rw] region
216
+ # @return [::String]
217
+ # Region and zone are mutually exclusive fields.
218
+ # The URL of the region of the source disk.
219
+ # @!attribute [rw] zone
220
+ # @return [::String]
221
+ # The URL of the Zone where the source disk.
222
+ # @!attribute [rw] replica_zones
223
+ # @return [::Array<::String>]
224
+ # The URL of the Zones where the source disk should be replicated.
225
+ # @!attribute [rw] source_disk
226
+ # @return [::String]
227
+ # The source disk used to create this backup.
228
+ # @!attribute [rw] access_mode
229
+ # @return [::String]
230
+ # The access mode of the source disk.
231
+ # @!attribute [rw] provisioned_iops
232
+ # @return [::Integer]
233
+ # The number of IOPS provisioned for the source disk.
234
+ # @!attribute [rw] provisioned_throughput
235
+ # @return [::Integer]
236
+ # The number of throughput provisioned for the source disk.
237
+ # @!attribute [rw] physical_block_size_bytes
238
+ # @return [::Integer]
239
+ # The physical block size of the source disk.
240
+ # @!attribute [rw] enable_confidential_compute
241
+ # @return [::Boolean]
242
+ # Indicates whether the source disk is using confidential compute mode.
243
+ # @!attribute [rw] storage_pool
244
+ # @return [::String]
245
+ # The storage pool of the source disk.
246
+ # @!attribute [rw] labels
247
+ # @return [::Google::Protobuf::Map{::String => ::String}]
248
+ # The labels of the source disk.
249
+ # @!attribute [rw] guest_flush
250
+ # @return [::Boolean]
251
+ # Optional. Defines if the guest flush is enabled for the source disk.
252
+ # Default value is false.
253
+ class DiskBackupProperties
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # @!attribute [rw] key
258
+ # @return [::String]
259
+ # @!attribute [rw] value
260
+ # @return [::String]
261
+ class LabelsEntry
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # Architecture of the source disk.
267
+ module Architecture
268
+ # Default value. This value is unused.
269
+ ARCHITECTURE_UNSPECIFIED = 0
270
+
271
+ # Disks with architecture X86_64
272
+ X86_64 = 1
273
+
274
+ # Disks with architecture ARM64
275
+ ARM64 = 2
276
+ end
277
+ end
278
+
279
+ # DiskDataSourceProperties represents the properties of a
280
+ # Disk resource that are stored in the DataSource.
281
+ # .
282
+ # @!attribute [rw] name
283
+ # @return [::String]
284
+ # Name of the disk backed up by the datasource.
285
+ # @!attribute [rw] description
286
+ # @return [::String]
287
+ # The description of the disk.
288
+ # @!attribute [rw] type
289
+ # @return [::String]
290
+ # The type of the disk.
291
+ # @!attribute [rw] size_gb
292
+ # @return [::Integer]
293
+ # The size of the disk in GB.
294
+ class DiskDataSourceProperties
295
+ include ::Google::Protobuf::MessageExts
296
+ extend ::Google::Protobuf::MessageExts::ClassMethods
297
+ end
298
+ end
299
+ end
300
+ end
301
+ end