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,1010 @@
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
+ # ComputeInstanceBackupProperties represents Compute Engine instance backup
25
+ # properties.
26
+ # @!attribute [rw] description
27
+ # @return [::String]
28
+ # An optional text description for the instances that are created from these
29
+ # properties.
30
+ # @!attribute [rw] tags
31
+ # @return [::Google::Cloud::BackupDR::V1beta::Tags]
32
+ # A list of tags to apply to the instances that are created from these
33
+ # properties. The tags identify valid sources or targets for network
34
+ # firewalls. The setTags method can modify this list of tags. Each tag within
35
+ # the list must comply with RFC1035 (https://www.ietf.org/rfc/rfc1035.txt).
36
+ # @!attribute [rw] machine_type
37
+ # @return [::String]
38
+ # The machine type to use for instances that are created from these
39
+ # properties.
40
+ # @!attribute [rw] can_ip_forward
41
+ # @return [::Boolean]
42
+ # Enables instances created based on these properties to send packets with
43
+ # source IP addresses other than their own and receive packets with
44
+ # destination IP addresses other than their own. If these instances will be
45
+ # used as an IP gateway or it will be set as the next-hop in a Route
46
+ # resource, specify `true`. If unsure, leave this set to `false`. See the
47
+ # https://cloud.google.com/vpc/docs/using-routes#canipforward
48
+ # documentation for more information.
49
+ # @!attribute [rw] network_interface
50
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::NetworkInterface>]
51
+ # An array of network access configurations for this interface.
52
+ # @!attribute [rw] disk
53
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AttachedDisk>]
54
+ # An array of disks that are associated with the instances that are created
55
+ # from these properties.
56
+ # @!attribute [rw] metadata
57
+ # @return [::Google::Cloud::BackupDR::V1beta::Metadata]
58
+ # The metadata key/value pairs to assign to instances that are created from
59
+ # these properties. These pairs can consist of custom metadata or predefined
60
+ # keys. See https://cloud.google.com/compute/docs/metadata/overview for more
61
+ # information.
62
+ # @!attribute [rw] service_account
63
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::ServiceAccount>]
64
+ # A list of service accounts with specified scopes. Access tokens for these
65
+ # service accounts are available to the instances that are created from
66
+ # these properties. Use metadata queries to obtain the access tokens for
67
+ # these instances.
68
+ # @!attribute [rw] scheduling
69
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling]
70
+ # Specifies the scheduling options for the instances that are created from
71
+ # these properties.
72
+ # @!attribute [rw] guest_accelerator
73
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AcceleratorConfig>]
74
+ # A list of guest accelerator cards' type and count to use for instances
75
+ # created from these properties.
76
+ # @!attribute [rw] min_cpu_platform
77
+ # @return [::String]
78
+ # Minimum cpu/platform to be used by instances. The instance may be
79
+ # scheduled on the specified or newer cpu/platform. Applicable values are the
80
+ # friendly names of CPU platforms, such as
81
+ # `minCpuPlatform: Intel Haswell` or `minCpuPlatform: Intel Sandy Bridge`.
82
+ # For more information, read
83
+ # https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
84
+ # @!attribute [rw] key_revocation_action_type
85
+ # @return [::Google::Cloud::BackupDR::V1beta::KeyRevocationActionType]
86
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and
87
+ # "NONE". The default value is "NONE" if it is not specified.
88
+ # @!attribute [rw] source_instance
89
+ # @return [::String]
90
+ # The source instance used to create this backup. This can be a partial or
91
+ # full URL to the resource. For example, the following are valid values:
92
+ # -https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance
93
+ # -projects/project/zones/zone/instances/instance
94
+ # @!attribute [rw] labels
95
+ # @return [::Google::Protobuf::Map{::String => ::String}]
96
+ # Labels to apply to instances that are created from these properties.
97
+ # @!attribute [rw] guest_flush
98
+ # @return [::Boolean]
99
+ # Optional. Indicates whether to perform a guest flush operation before
100
+ # taking a compute backup. When set to false, the system will create
101
+ # crash-consistent backups. Default value is false.
102
+ class ComputeInstanceBackupProperties
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+
106
+ # @!attribute [rw] key
107
+ # @return [::String]
108
+ # @!attribute [rw] value
109
+ # @return [::String]
110
+ class LabelsEntry
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+ end
115
+
116
+ # ComputeInstanceRestoreProperties represents Compute Engine instance
117
+ # properties to be overridden during restore.
118
+ # @!attribute [rw] name
119
+ # @return [::String]
120
+ # Required. Name of the compute instance.
121
+ # @!attribute [rw] advanced_machine_features
122
+ # @return [::Google::Cloud::BackupDR::V1beta::AdvancedMachineFeatures]
123
+ # Optional. Controls for advanced machine-related behavior features.
124
+ # @!attribute [rw] can_ip_forward
125
+ # @return [::Boolean]
126
+ # Optional. Allows this instance to send and receive packets with
127
+ # non-matching destination or source IPs.
128
+ # @!attribute [rw] confidential_instance_config
129
+ # @return [::Google::Cloud::BackupDR::V1beta::ConfidentialInstanceConfig]
130
+ # Optional. Controls Confidential compute options on the instance
131
+ # @!attribute [rw] deletion_protection
132
+ # @return [::Boolean]
133
+ # Optional. Whether the resource should be protected against deletion.
134
+ # @!attribute [rw] description
135
+ # @return [::String]
136
+ # Optional. An optional description of this resource. Provide this property
137
+ # when you create the resource.
138
+ # @!attribute [rw] disks
139
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AttachedDisk>]
140
+ # Optional. Array of disks associated with this instance. Persistent disks
141
+ # must be created before you can assign them. Source regional persistent
142
+ # disks will be restored with default replica zones if not specified.
143
+ # @!attribute [rw] display_device
144
+ # @return [::Google::Cloud::BackupDR::V1beta::DisplayDevice]
145
+ # Optional. Enables display device for the instance.
146
+ # @!attribute [rw] guest_accelerators
147
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AcceleratorConfig>]
148
+ # Optional. A list of the type and count of accelerator cards attached to the
149
+ # instance.
150
+ # @!attribute [rw] hostname
151
+ # @return [::String]
152
+ # Optional. Specifies the hostname of the instance. The specified hostname
153
+ # must be RFC1035 compliant. If hostname is not specified, the default
154
+ # hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global
155
+ # DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal
156
+ # DNS.
157
+ # @!attribute [rw] instance_encryption_key
158
+ # @return [::Google::Cloud::BackupDR::V1beta::CustomerEncryptionKey]
159
+ # Optional. Encrypts suspended data for an instance with a
160
+ # customer-managed encryption key.
161
+ # @!attribute [rw] key_revocation_action_type
162
+ # @return [::Google::Cloud::BackupDR::V1beta::KeyRevocationActionType]
163
+ # Optional. KeyRevocationActionType of the instance.
164
+ # @!attribute [rw] labels
165
+ # @return [::Google::Protobuf::Map{::String => ::String}]
166
+ # Optional. Labels to apply to this instance.
167
+ # @!attribute [rw] machine_type
168
+ # @return [::String]
169
+ # Optional. Full or partial URL of the machine type resource to use for this
170
+ # instance.
171
+ # @!attribute [rw] metadata
172
+ # @return [::Google::Cloud::BackupDR::V1beta::Metadata]
173
+ # Optional. This includes custom metadata and predefined keys.
174
+ # @!attribute [rw] min_cpu_platform
175
+ # @return [::String]
176
+ # Optional. Minimum CPU platform to use for this instance.
177
+ # @!attribute [rw] network_interfaces
178
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::NetworkInterface>]
179
+ # Optional. An array of network configurations for this instance. These
180
+ # specify how interfaces are configured to interact with other network
181
+ # services, such as connecting to the internet. Multiple interfaces are
182
+ # supported per instance. Required to restore in different project or region.
183
+ # @!attribute [rw] network_performance_config
184
+ # @return [::Google::Cloud::BackupDR::V1beta::NetworkPerformanceConfig]
185
+ # Optional. Configure network performance such as egress bandwidth tier.
186
+ # @!attribute [rw] params
187
+ # @return [::Google::Cloud::BackupDR::V1beta::InstanceParams]
188
+ # Input only. Additional params passed with the request, but not persisted
189
+ # as part of resource payload.
190
+ # @!attribute [rw] private_ipv6_google_access
191
+ # @return [::Google::Cloud::BackupDR::V1beta::ComputeInstanceRestoreProperties::InstancePrivateIpv6GoogleAccess]
192
+ # Optional. The private IPv6 google access type for the VM.
193
+ # If not specified, use INHERIT_FROM_SUBNETWORK as default.
194
+ # @!attribute [rw] allocation_affinity
195
+ # @return [::Google::Cloud::BackupDR::V1beta::AllocationAffinity]
196
+ # Optional. Specifies the reservations that this instance can consume from.
197
+ # @!attribute [rw] resource_policies
198
+ # @return [::Array<::String>]
199
+ # Optional. Resource policies applied to this instance.
200
+ # By default, no resource policies will be applied.
201
+ # @!attribute [rw] scheduling
202
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling]
203
+ # Optional. Sets the scheduling options for this instance.
204
+ # @!attribute [rw] service_accounts
205
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::ServiceAccount>]
206
+ # Optional. A list of service accounts, with their specified scopes,
207
+ # authorized for this instance. Only one service account per VM instance is
208
+ # supported.
209
+ # @!attribute [rw] tags
210
+ # @return [::Google::Cloud::BackupDR::V1beta::Tags]
211
+ # Optional. Tags to apply to this instance. Tags are used to identify valid
212
+ # sources or targets for network firewalls and are specified by the client
213
+ # during instance creation.
214
+ class ComputeInstanceRestoreProperties
215
+ include ::Google::Protobuf::MessageExts
216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
+
218
+ # @!attribute [rw] key
219
+ # @return [::String]
220
+ # @!attribute [rw] value
221
+ # @return [::String]
222
+ class LabelsEntry
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+
227
+ # The private IPv6 google access type for the VMs.
228
+ module InstancePrivateIpv6GoogleAccess
229
+ # Default value. This value is unused.
230
+ INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0
231
+
232
+ # Each network interface inherits PrivateIpv6GoogleAccess from its
233
+ # subnetwork.
234
+ INHERIT_FROM_SUBNETWORK = 1
235
+
236
+ # Outbound private IPv6 access from VMs in this subnet to Google services.
237
+ # If specified, the subnetwork who is attached to the instance's default
238
+ # network interface will be assigned an internal IPv6 prefix if it doesn't
239
+ # have before.
240
+ ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE = 2
241
+
242
+ # Bidirectional private IPv6 access to/from Google services. If
243
+ # specified, the subnetwork who is attached to the instance's default
244
+ # network interface will be assigned an internal IPv6 prefix if it doesn't
245
+ # have before.
246
+ ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE = 3
247
+ end
248
+ end
249
+
250
+ # ComputeInstanceTargetEnvironment represents Compute Engine target
251
+ # environment to be used during restore.
252
+ # @!attribute [rw] project
253
+ # @return [::String]
254
+ # Required. Target project for the Compute Engine instance.
255
+ # @!attribute [rw] zone
256
+ # @return [::String]
257
+ # Required. The zone of the Compute Engine instance.
258
+ # @!attribute [rw] use_project_service_account
259
+ # @return [::Boolean]
260
+ # Optional. Whether to use the project service account for the Compute Engine
261
+ # instance restore.
262
+ class ComputeInstanceTargetEnvironment
263
+ include ::Google::Protobuf::MessageExts
264
+ extend ::Google::Protobuf::MessageExts::ClassMethods
265
+ end
266
+
267
+ # ComputeInstanceDataSourceProperties represents the properties of a
268
+ # ComputeEngine resource that are stored in the DataSource.
269
+ # @!attribute [rw] name
270
+ # @return [::String]
271
+ # Name of the compute instance backed up by the datasource.
272
+ # @!attribute [rw] description
273
+ # @return [::String]
274
+ # The description of the Compute Engine instance.
275
+ # @!attribute [rw] machine_type
276
+ # @return [::String]
277
+ # The machine type of the instance.
278
+ # @!attribute [rw] total_disk_count
279
+ # @return [::Integer]
280
+ # The total number of disks attached to the Instance.
281
+ # @!attribute [rw] total_disk_size_gb
282
+ # @return [::Integer]
283
+ # The sum of all the disk sizes.
284
+ class ComputeInstanceDataSourceProperties
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+
289
+ # Specifies options for controlling advanced machine features.
290
+ # @!attribute [rw] enable_nested_virtualization
291
+ # @return [::Boolean]
292
+ # Optional. Whether to enable nested virtualization or not (default is
293
+ # false).
294
+ # @!attribute [rw] threads_per_core
295
+ # @return [::Integer]
296
+ # Optional. The number of threads per physical core. To disable simultaneous
297
+ # multithreading (SMT) set this to 1. If unset, the maximum number
298
+ # of threads supported per core by the underlying processor is
299
+ # assumed.
300
+ # @!attribute [rw] visible_core_count
301
+ # @return [::Integer]
302
+ # Optional. The number of physical cores to expose to an instance. Multiply
303
+ # by the number of threads per core to compute the total number of virtual
304
+ # CPUs to expose to the instance. If unset, the number of cores is
305
+ # inferred from the instance's nominal CPU count and the underlying
306
+ # platform's SMT width.
307
+ # @!attribute [rw] enable_uefi_networking
308
+ # @return [::Boolean]
309
+ # Optional. Whether to enable UEFI networking for instance creation.
310
+ class AdvancedMachineFeatures
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+
315
+ # A set of Confidential Instance options.
316
+ # @!attribute [rw] enable_confidential_compute
317
+ # @return [::Boolean]
318
+ # Optional. Defines whether the instance should have confidential compute
319
+ # enabled.
320
+ class ConfidentialInstanceConfig
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # A set of Display Device options
326
+ # @!attribute [rw] enable_display
327
+ # @return [::Boolean]
328
+ # Optional. Enables display for the Compute Engine VM
329
+ class DisplayDevice
330
+ include ::Google::Protobuf::MessageExts
331
+ extend ::Google::Protobuf::MessageExts::ClassMethods
332
+ end
333
+
334
+ # Network performance configuration.
335
+ # @!attribute [rw] total_egress_bandwidth_tier
336
+ # @return [::Google::Cloud::BackupDR::V1beta::NetworkPerformanceConfig::Tier]
337
+ # Optional. The tier of the total egress bandwidth.
338
+ class NetworkPerformanceConfig
339
+ include ::Google::Protobuf::MessageExts
340
+ extend ::Google::Protobuf::MessageExts::ClassMethods
341
+
342
+ # Network performance tier.
343
+ module Tier
344
+ # This value is unused.
345
+ TIER_UNSPECIFIED = 0
346
+
347
+ # Default network performance config.
348
+ DEFAULT = 1
349
+
350
+ # Tier 1 network performance config.
351
+ TIER_1 = 2
352
+ end
353
+ end
354
+
355
+ # Additional instance params.
356
+ # @!attribute [rw] resource_manager_tags
357
+ # @return [::Google::Protobuf::Map{::String => ::String}]
358
+ # Optional. Resource manager tags to be bound to the instance.
359
+ class InstanceParams
360
+ include ::Google::Protobuf::MessageExts
361
+ extend ::Google::Protobuf::MessageExts::ClassMethods
362
+
363
+ # @!attribute [rw] key
364
+ # @return [::String]
365
+ # @!attribute [rw] value
366
+ # @return [::String]
367
+ class ResourceManagerTagsEntry
368
+ include ::Google::Protobuf::MessageExts
369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
370
+ end
371
+ end
372
+
373
+ # Feature type of the Guest OS.
374
+ # @!attribute [rw] type
375
+ # @return [::Google::Cloud::BackupDR::V1beta::GuestOsFeature::FeatureType]
376
+ # The ID of a supported feature.
377
+ class GuestOsFeature
378
+ include ::Google::Protobuf::MessageExts
379
+ extend ::Google::Protobuf::MessageExts::ClassMethods
380
+
381
+ # List of the Feature Types.
382
+ module FeatureType
383
+ # Default value, which is unused.
384
+ FEATURE_TYPE_UNSPECIFIED = 0
385
+
386
+ # VIRTIO_SCSI_MULTIQUEUE feature type.
387
+ VIRTIO_SCSI_MULTIQUEUE = 1
388
+
389
+ # WINDOWS feature type.
390
+ WINDOWS = 2
391
+
392
+ # MULTI_IP_SUBNET feature type.
393
+ MULTI_IP_SUBNET = 3
394
+
395
+ # UEFI_COMPATIBLE feature type.
396
+ UEFI_COMPATIBLE = 4
397
+
398
+ # SECURE_BOOT feature type.
399
+ SECURE_BOOT = 5
400
+
401
+ # GVNIC feature type.
402
+ GVNIC = 6
403
+
404
+ # SEV_CAPABLE feature type.
405
+ SEV_CAPABLE = 7
406
+
407
+ # BARE_METAL_LINUX_COMPATIBLE feature type.
408
+ BARE_METAL_LINUX_COMPATIBLE = 8
409
+
410
+ # SUSPEND_RESUME_COMPATIBLE feature type.
411
+ SUSPEND_RESUME_COMPATIBLE = 9
412
+
413
+ # SEV_LIVE_MIGRATABLE feature type.
414
+ SEV_LIVE_MIGRATABLE = 10
415
+
416
+ # SEV_SNP_CAPABLE feature type.
417
+ SEV_SNP_CAPABLE = 11
418
+
419
+ # TDX_CAPABLE feature type.
420
+ TDX_CAPABLE = 12
421
+
422
+ # IDPF feature type.
423
+ IDPF = 13
424
+
425
+ # SEV_LIVE_MIGRATABLE_V2 feature type.
426
+ SEV_LIVE_MIGRATABLE_V2 = 14
427
+ end
428
+ end
429
+
430
+ # Specifies the reservations that this instance can consume from.
431
+ # @!attribute [rw] consume_allocation_type
432
+ # @return [::Google::Cloud::BackupDR::V1beta::AllocationAffinity::Type]
433
+ # Optional. Specifies the type of reservation from which this instance can
434
+ # consume
435
+ # @!attribute [rw] key
436
+ # @return [::String]
437
+ # Optional. Corresponds to the label key of a reservation resource.
438
+ # @!attribute [rw] values
439
+ # @return [::Array<::String>]
440
+ # Optional. Corresponds to the label values of a reservation resource.
441
+ class AllocationAffinity
442
+ include ::Google::Protobuf::MessageExts
443
+ extend ::Google::Protobuf::MessageExts::ClassMethods
444
+
445
+ # Indicates whether to consume from a reservation or not.
446
+ module Type
447
+ # Default value. This value is unused.
448
+ TYPE_UNSPECIFIED = 0
449
+
450
+ # Do not consume from any allocated capacity.
451
+ NO_RESERVATION = 1
452
+
453
+ # Consume any allocation available.
454
+ ANY_RESERVATION = 2
455
+
456
+ # Must consume from a specific reservation. Must specify key value fields
457
+ # for specifying the reservations.
458
+ SPECIFIC_RESERVATION = 3
459
+ end
460
+ end
461
+
462
+ # A specification of the type and number of accelerator cards attached to the
463
+ # instance.
464
+ # @!attribute [rw] accelerator_type
465
+ # @return [::String]
466
+ # Optional. Full or partial URL of the accelerator type resource to attach to
467
+ # this instance.
468
+ # @!attribute [rw] accelerator_count
469
+ # @return [::Integer]
470
+ # Optional. The number of the guest accelerator cards exposed to this
471
+ # instance.
472
+ class AcceleratorConfig
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # A customer-supplied encryption key.
478
+ # @!attribute [rw] raw_key
479
+ # @return [::String]
480
+ # Optional. Specifies a 256-bit customer-supplied
481
+ # encryption key.
482
+ #
483
+ # Note: The following fields are mutually exclusive: `raw_key`, `rsa_encrypted_key`, `kms_key_name`. If a field in that set is populated, all other fields in the set will automatically be cleared.
484
+ # @!attribute [rw] rsa_encrypted_key
485
+ # @return [::String]
486
+ # Optional. RSA-wrapped 2048-bit
487
+ # customer-supplied encryption key to either encrypt or decrypt this
488
+ # resource.
489
+ #
490
+ # Note: The following fields are mutually exclusive: `rsa_encrypted_key`, `raw_key`, `kms_key_name`. If a field in that set is populated, all other fields in the set will automatically be cleared.
491
+ # @!attribute [rw] kms_key_name
492
+ # @return [::String]
493
+ # Optional. The name of the encryption key that is stored in Google Cloud
494
+ # KMS.
495
+ #
496
+ # Note: The following fields are mutually exclusive: `kms_key_name`, `raw_key`, `rsa_encrypted_key`. If a field in that set is populated, all other fields in the set will automatically be cleared.
497
+ # @!attribute [rw] kms_key_service_account
498
+ # @return [::String]
499
+ # Optional. The service account being used for the encryption request for the
500
+ # given KMS key. If absent, the Compute Engine default service account is
501
+ # used.
502
+ class CustomerEncryptionKey
503
+ include ::Google::Protobuf::MessageExts
504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
505
+ end
506
+
507
+ # A key/value pair to be used for storing metadata.
508
+ # @!attribute [rw] key
509
+ # @return [::String]
510
+ # Optional. Key for the metadata entry.
511
+ # @!attribute [rw] value
512
+ # @return [::String]
513
+ # Optional. Value for the metadata entry. These are free-form strings, and
514
+ # only have meaning as interpreted by the image running in the instance. The
515
+ # only restriction placed on values is that their size must be less than
516
+ # or equal to 262144 bytes (256 KiB).
517
+ class Entry
518
+ include ::Google::Protobuf::MessageExts
519
+ extend ::Google::Protobuf::MessageExts::ClassMethods
520
+ end
521
+
522
+ # A metadata key/value entry.
523
+ # @!attribute [rw] items
524
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::Entry>]
525
+ # Optional. Array of key/value pairs. The total size of all keys and values
526
+ # must be less than 512 KB.
527
+ class Metadata
528
+ include ::Google::Protobuf::MessageExts
529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
530
+ end
531
+
532
+ # A network interface resource attached to an instance.
533
+ # s
534
+ # @!attribute [rw] network
535
+ # @return [::String]
536
+ # Optional. URL of the VPC network resource for this instance.
537
+ # @!attribute [rw] subnetwork
538
+ # @return [::String]
539
+ # Optional. The URL of the Subnetwork resource for this instance.
540
+ # @!attribute [rw] ip_address
541
+ # @return [::String]
542
+ # Optional. An IPv4 internal IP address to assign to the instance for this
543
+ # network interface. If not specified by the user, an unused internal IP is
544
+ # assigned by the system.
545
+ # @!attribute [rw] ipv6_address
546
+ # @return [::String]
547
+ # Optional. An IPv6 internal network address for this network interface. To
548
+ # use a static internal IP address, it must be unused and in the same region
549
+ # as the instance's zone. If not specified, Google Cloud will automatically
550
+ # assign an internal IPv6 address from the instance's subnetwork.
551
+ # @!attribute [rw] internal_ipv6_prefix_length
552
+ # @return [::Integer]
553
+ # Optional. The prefix length of the primary internal IPv6 range.
554
+ # @!attribute [r] name
555
+ # @return [::String]
556
+ # Output only. [Output Only] The name of the network interface, which is
557
+ # generated by the server.
558
+ # @!attribute [rw] access_configs
559
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AccessConfig>]
560
+ # Optional. An array of configurations for this interface. Currently, only
561
+ # one access config,ONE_TO_ONE_NAT is supported. If there are no
562
+ # accessConfigs specified, then this instance will have
563
+ # no external internet access.
564
+ # @!attribute [rw] ipv6_access_configs
565
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AccessConfig>]
566
+ # Optional. An array of IPv6 access configurations for this interface.
567
+ # Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there
568
+ # is no ipv6AccessConfig specified, then this instance will
569
+ # have no external IPv6 Internet access.
570
+ # @!attribute [rw] alias_ip_ranges
571
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::AliasIpRange>]
572
+ # Optional. An array of alias IP ranges for this network interface.
573
+ # You can only specify this field for network interfaces in VPC networks.
574
+ # @!attribute [rw] stack_type
575
+ # @return [::Google::Cloud::BackupDR::V1beta::NetworkInterface::StackType]
576
+ # The stack type for this network interface.
577
+ # @!attribute [rw] ipv6_access_type
578
+ # @return [::Google::Cloud::BackupDR::V1beta::NetworkInterface::Ipv6AccessType]
579
+ # Optional. [Output Only] One of EXTERNAL, INTERNAL to indicate whether the
580
+ # IP can be accessed from the Internet. This field is always inherited from
581
+ # its subnetwork.
582
+ # @!attribute [rw] queue_count
583
+ # @return [::Integer]
584
+ # Optional. The networking queue count that's specified by users for the
585
+ # network interface. Both Rx and Tx queues will be set to this number. It'll
586
+ # be empty if not specified by the users.
587
+ # @!attribute [rw] nic_type
588
+ # @return [::Google::Cloud::BackupDR::V1beta::NetworkInterface::NicType]
589
+ # Optional. The type of vNIC to be used on this interface. This may be gVNIC
590
+ # or VirtioNet.
591
+ # @!attribute [rw] network_attachment
592
+ # @return [::String]
593
+ # Optional. The URL of the network attachment that this interface should
594
+ # connect to in the following format:
595
+ # projects/\\{project_number}/regions/\\{region_name}/networkAttachments/\\{network_attachment_name}.
596
+ class NetworkInterface
597
+ include ::Google::Protobuf::MessageExts
598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
599
+
600
+ # Stack type for this network interface.
601
+ module StackType
602
+ # Default should be STACK_TYPE_UNSPECIFIED.
603
+ STACK_TYPE_UNSPECIFIED = 0
604
+
605
+ # The network interface will be assigned IPv4 address.
606
+ IPV4_ONLY = 1
607
+
608
+ # The network interface can have both IPv4 and IPv6 addresses.
609
+ IPV4_IPV6 = 2
610
+ end
611
+
612
+ # IPv6 access type for this network interface.
613
+ module Ipv6AccessType
614
+ # IPv6 access type not set. Means this network interface hasn't been
615
+ # turned on IPv6 yet.
616
+ UNSPECIFIED_IPV6_ACCESS_TYPE = 0
617
+
618
+ # This network interface can have internal IPv6.
619
+ INTERNAL = 1
620
+
621
+ # This network interface can have external IPv6.
622
+ EXTERNAL = 2
623
+ end
624
+
625
+ # Nic type for this network interface.
626
+ module NicType
627
+ # Default should be NIC_TYPE_UNSPECIFIED.
628
+ NIC_TYPE_UNSPECIFIED = 0
629
+
630
+ # VIRTIO
631
+ VIRTIO_NET = 1
632
+
633
+ # GVNIC
634
+ GVNIC = 2
635
+ end
636
+ end
637
+
638
+ # An access configuration attached to an instance's network interface.
639
+ # Only one access config per instance is supported.
640
+ # @!attribute [rw] type
641
+ # @return [::Google::Cloud::BackupDR::V1beta::AccessConfig::AccessType]
642
+ # Optional. In accessConfigs (IPv4), the
643
+ # default and only option is ONE_TO_ONE_NAT. In
644
+ # ipv6AccessConfigs, the default and only option is
645
+ # DIRECT_IPV6.
646
+ # @!attribute [rw] name
647
+ # @return [::String]
648
+ # Optional. The name of this access configuration.
649
+ # @!attribute [rw] external_ip
650
+ # @return [::String]
651
+ # Optional. The external IP address of this access configuration.
652
+ # @!attribute [rw] external_ipv6
653
+ # @return [::String]
654
+ # Optional. The external IPv6 address of this access configuration.
655
+ # @!attribute [rw] external_ipv6_prefix_length
656
+ # @return [::Integer]
657
+ # Optional. The prefix length of the external IPv6 range.
658
+ # @!attribute [rw] set_public_ptr
659
+ # @return [::Boolean]
660
+ # Optional. Specifies whether a public DNS 'PTR' record should be created to
661
+ # map the external IP address of the instance to a DNS domain name.
662
+ # @!attribute [rw] public_ptr_domain_name
663
+ # @return [::String]
664
+ # Optional. The DNS domain name for the public PTR record.
665
+ # @!attribute [rw] network_tier
666
+ # @return [::Google::Cloud::BackupDR::V1beta::AccessConfig::NetworkTier]
667
+ # Optional. This signifies the networking tier used for configuring this
668
+ # access
669
+ class AccessConfig
670
+ include ::Google::Protobuf::MessageExts
671
+ extend ::Google::Protobuf::MessageExts::ClassMethods
672
+
673
+ # The type of configuration.
674
+ module AccessType
675
+ # Default value. This value is unused.
676
+ ACCESS_TYPE_UNSPECIFIED = 0
677
+
678
+ # ONE_TO_ONE_NAT
679
+ ONE_TO_ONE_NAT = 1
680
+
681
+ # Direct IPv6 access.
682
+ DIRECT_IPV6 = 2
683
+ end
684
+
685
+ # Network tier property used by addresses, instances and forwarding rules.
686
+ module NetworkTier
687
+ # Default value. This value is unused.
688
+ NETWORK_TIER_UNSPECIFIED = 0
689
+
690
+ # High quality, Google-grade network tier, support for all networking
691
+ # products.
692
+ PREMIUM = 1
693
+
694
+ # Public internet quality, only limited support for other networking
695
+ # products.
696
+ STANDARD = 2
697
+ end
698
+ end
699
+
700
+ # An alias IP range attached to an instance's network interface.
701
+ # @!attribute [rw] ip_cidr_range
702
+ # @return [::String]
703
+ # Optional. The IP alias ranges to allocate for this interface.
704
+ # @!attribute [rw] subnetwork_range_name
705
+ # @return [::String]
706
+ # Optional. The name of a subnetwork secondary IP range from which to
707
+ # allocate an IP alias range. If not specified, the primary range of the
708
+ # subnetwork is used.
709
+ class AliasIpRange
710
+ include ::Google::Protobuf::MessageExts
711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
712
+ end
713
+
714
+ # Sets the scheduling options for an Instance.
715
+ # @!attribute [rw] on_host_maintenance
716
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling::OnHostMaintenance]
717
+ # Optional. Defines the maintenance behavior for this instance.
718
+ # @!attribute [rw] automatic_restart
719
+ # @return [::Boolean]
720
+ # Optional. Specifies whether the instance should be automatically restarted
721
+ # if it is terminated by Compute Engine (not terminated by a user).
722
+ # @!attribute [rw] preemptible
723
+ # @return [::Boolean]
724
+ # Optional. Defines whether the instance is preemptible.
725
+ # @!attribute [rw] node_affinities
726
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::Scheduling::NodeAffinity>]
727
+ # Optional. A set of node affinity and anti-affinity configurations.
728
+ # Overrides reservationAffinity.
729
+ # @!attribute [rw] min_node_cpus
730
+ # @return [::Integer]
731
+ # Optional. The minimum number of virtual CPUs this instance will consume
732
+ # when running on a sole-tenant node.
733
+ # @!attribute [rw] provisioning_model
734
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling::ProvisioningModel]
735
+ # Optional. Specifies the provisioning model of the instance.
736
+ # @!attribute [rw] instance_termination_action
737
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling::InstanceTerminationAction]
738
+ # Optional. Specifies the termination action for the instance.
739
+ # @!attribute [rw] local_ssd_recovery_timeout
740
+ # @return [::Google::Cloud::BackupDR::V1beta::SchedulingDuration]
741
+ # Optional. Specifies the maximum amount of time a Local Ssd Vm should wait
742
+ # while recovery of the Local Ssd state is attempted. Its value should be in
743
+ # between 0 and 168 hours with hour granularity and the default value being 1
744
+ # hour.
745
+ class Scheduling
746
+ include ::Google::Protobuf::MessageExts
747
+ extend ::Google::Protobuf::MessageExts::ClassMethods
748
+
749
+ # Node Affinity: the configuration of desired nodes onto which this Instance
750
+ # could be scheduled.
751
+ # @!attribute [rw] key
752
+ # @return [::String]
753
+ # Optional. Corresponds to the label key of Node resource.
754
+ # @!attribute [rw] operator
755
+ # @return [::Google::Cloud::BackupDR::V1beta::Scheduling::NodeAffinity::Operator]
756
+ # Optional. Defines the operation of node selection.
757
+ # @!attribute [rw] values
758
+ # @return [::Array<::String>]
759
+ # Optional. Corresponds to the label values of Node resource.
760
+ class NodeAffinity
761
+ include ::Google::Protobuf::MessageExts
762
+ extend ::Google::Protobuf::MessageExts::ClassMethods
763
+
764
+ # Defines the type of node selections.
765
+ module Operator
766
+ # Default value. This value is unused.
767
+ OPERATOR_UNSPECIFIED = 0
768
+
769
+ # Requires Compute Engine to seek for matched nodes.
770
+ IN = 1
771
+
772
+ # Requires Compute Engine to avoid certain nodes.
773
+ NOT_IN = 2
774
+ end
775
+ end
776
+
777
+ # Defines the maintenance behavior for this instance=
778
+ module OnHostMaintenance
779
+ # Default value. This value is unused.
780
+ ON_HOST_MAINTENANCE_UNSPECIFIED = 0
781
+
782
+ # Tells Compute Engine to terminate and (optionally) restart the instance
783
+ # away from the maintenance activity.
784
+ TERMINATE = 1
785
+
786
+ # Default, Allows Compute Engine to automatically migrate instances
787
+ # out of the way of maintenance events.
788
+ MIGRATE = 1000
789
+ end
790
+
791
+ # Defines the provisioning model for an instance.
792
+ module ProvisioningModel
793
+ # Default value. This value is not used.
794
+ PROVISIONING_MODEL_UNSPECIFIED = 0
795
+
796
+ # Standard provisioning with user controlled runtime, no discounts.
797
+ STANDARD = 1
798
+
799
+ # Heavily discounted, no guaranteed runtime.
800
+ SPOT = 2
801
+ end
802
+
803
+ # Defines the supported termination actions for an instance.
804
+ module InstanceTerminationAction
805
+ # Default value. This value is unused.
806
+ INSTANCE_TERMINATION_ACTION_UNSPECIFIED = 0
807
+
808
+ # Delete the VM.
809
+ DELETE = 1
810
+
811
+ # Stop the VM without storing in-memory content. default action.
812
+ STOP = 2
813
+ end
814
+ end
815
+
816
+ # A SchedulingDuration represents a fixed-length span of time represented
817
+ # as a count of seconds and fractions of seconds at nanosecond
818
+ # resolution. It is independent of any calendar and concepts like "day"
819
+ # or "month". Range is approximately 10,000 years.
820
+ # @!attribute [rw] seconds
821
+ # @return [::Integer]
822
+ # Optional. Span of time at a resolution of a second.
823
+ # @!attribute [rw] nanos
824
+ # @return [::Integer]
825
+ # Optional. Span of time that's a fraction of a second at nanosecond
826
+ # resolution.
827
+ class SchedulingDuration
828
+ include ::Google::Protobuf::MessageExts
829
+ extend ::Google::Protobuf::MessageExts::ClassMethods
830
+ end
831
+
832
+ # A service account.
833
+ # @!attribute [rw] email
834
+ # @return [::String]
835
+ # Optional. Email address of the service account.
836
+ # @!attribute [rw] scopes
837
+ # @return [::Array<::String>]
838
+ # Optional. The list of scopes to be made available for this service account.
839
+ class ServiceAccount
840
+ include ::Google::Protobuf::MessageExts
841
+ extend ::Google::Protobuf::MessageExts::ClassMethods
842
+ end
843
+
844
+ # A set of instance tags.
845
+ # @!attribute [rw] items
846
+ # @return [::Array<::String>]
847
+ # Optional. An array of tags. Each tag must be 1-63 characters long, and
848
+ # comply with RFC1035.
849
+ class Tags
850
+ include ::Google::Protobuf::MessageExts
851
+ extend ::Google::Protobuf::MessageExts::ClassMethods
852
+ end
853
+
854
+ # An instance-attached disk resource.
855
+ # @!attribute [rw] initialize_params
856
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::InitializeParams]
857
+ # Optional. Specifies the parameters to initialize this disk.
858
+ # @!attribute [rw] device_name
859
+ # @return [::String]
860
+ # Optional. This is used as an identifier for the disks. This is the unique
861
+ # name has to provided to modify disk parameters like disk_name and
862
+ # replica_zones (in case of RePDs)
863
+ # @!attribute [rw] kind
864
+ # @return [::String]
865
+ # Optional. Type of the resource.
866
+ # @!attribute [rw] disk_type_deprecated
867
+ # @deprecated This field is deprecated and may be removed in the next major version update.
868
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::DiskType]
869
+ # Specifies the type of the disk.
870
+ # @!attribute [rw] mode
871
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::DiskMode]
872
+ # Optional. The mode in which to attach this disk.
873
+ # @!attribute [rw] source
874
+ # @return [::String]
875
+ # Optional. Specifies a valid partial or full URL to an existing Persistent
876
+ # Disk resource.
877
+ # @!attribute [rw] index
878
+ # @return [::Integer]
879
+ # Optional. A zero-based index to this disk, where 0 is reserved for the
880
+ # boot disk.
881
+ # @!attribute [rw] boot
882
+ # @return [::Boolean]
883
+ # Optional. Indicates that this is a boot disk. The virtual machine will use
884
+ # the first partition of the disk for its root filesystem.
885
+ # @!attribute [rw] auto_delete
886
+ # @return [::Boolean]
887
+ # Optional. Specifies whether the disk will be auto-deleted when the instance
888
+ # is deleted (but not when the disk is detached from the instance).
889
+ # @!attribute [rw] license
890
+ # @return [::Array<::String>]
891
+ # Optional. Any valid publicly visible licenses.
892
+ # @!attribute [rw] disk_interface
893
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::DiskInterface]
894
+ # Optional. Specifies the disk interface to use for attaching this disk.
895
+ # @!attribute [rw] guest_os_feature
896
+ # @return [::Array<::Google::Cloud::BackupDR::V1beta::GuestOsFeature>]
897
+ # Optional. A list of features to enable on the guest operating system.
898
+ # Applicable only for bootable images.
899
+ # @!attribute [rw] disk_encryption_key
900
+ # @return [::Google::Cloud::BackupDR::V1beta::CustomerEncryptionKey]
901
+ # Optional. Encrypts or decrypts a disk using a customer-supplied
902
+ # encryption key.
903
+ # @!attribute [rw] disk_size_gb
904
+ # @return [::Integer]
905
+ # Optional. The size of the disk in GB.
906
+ # @!attribute [r] saved_state
907
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::DiskSavedState]
908
+ # Optional. Output only. The state of the disk.
909
+ # @!attribute [r] disk_type
910
+ # @return [::String]
911
+ # Optional. Output only. The URI of the disk type resource. For example:
912
+ # projects/project/zones/zone/diskTypes/pd-standard or pd-ssd
913
+ # @!attribute [rw] type
914
+ # @return [::Google::Cloud::BackupDR::V1beta::AttachedDisk::DiskType]
915
+ # Optional. Specifies the type of the disk.
916
+ class AttachedDisk
917
+ include ::Google::Protobuf::MessageExts
918
+ extend ::Google::Protobuf::MessageExts::ClassMethods
919
+
920
+ # Specifies the parameters to initialize this disk.
921
+ # @!attribute [rw] disk_name
922
+ # @return [::String]
923
+ # Optional. Specifies the disk name. If not specified, the default is to
924
+ # use the name of the instance.
925
+ # @!attribute [rw] replica_zones
926
+ # @return [::Array<::String>]
927
+ # Optional. URL of the zone where the disk should be created.
928
+ # Required for each regional disk associated with the instance.
929
+ class InitializeParams
930
+ include ::Google::Protobuf::MessageExts
931
+ extend ::Google::Protobuf::MessageExts::ClassMethods
932
+ end
933
+
934
+ # List of the Disk Types.
935
+ module DiskType
936
+ # Default value, which is unused.
937
+ DISK_TYPE_UNSPECIFIED = 0
938
+
939
+ # A scratch disk type.
940
+ SCRATCH = 1
941
+
942
+ # A persistent disk type.
943
+ PERSISTENT = 2
944
+ end
945
+
946
+ # List of the Disk Modes.
947
+ module DiskMode
948
+ # Default value, which is unused.
949
+ DISK_MODE_UNSPECIFIED = 0
950
+
951
+ # Attaches this disk in read-write mode. Only one
952
+ # virtual machine at a time can be attached to a disk in read-write mode.
953
+ READ_WRITE = 1
954
+
955
+ # Attaches this disk in read-only mode. Multiple virtual machines can use
956
+ # a disk in read-only mode at a time.
957
+ READ_ONLY = 2
958
+
959
+ # The disk is locked for administrative reasons. Nobody else
960
+ # can use the disk. This mode is used (for example) when taking
961
+ # a snapshot of a disk to prevent mounting the disk while it is
962
+ # being snapshotted.
963
+ LOCKED = 3
964
+ end
965
+
966
+ # List of the Disk Interfaces.
967
+ module DiskInterface
968
+ # Default value, which is unused.
969
+ DISK_INTERFACE_UNSPECIFIED = 0
970
+
971
+ # SCSI Disk Interface.
972
+ SCSI = 1
973
+
974
+ # NVME Disk Interface.
975
+ NVME = 2
976
+
977
+ # NVDIMM Disk Interface.
978
+ NVDIMM = 3
979
+
980
+ # ISCSI Disk Interface.
981
+ ISCSI = 4
982
+ end
983
+
984
+ # List of the states of the Disk.
985
+ module DiskSavedState
986
+ # Default Disk state has not been preserved.
987
+ DISK_SAVED_STATE_UNSPECIFIED = 0
988
+
989
+ # Disk state has been preserved.
990
+ PRESERVED = 1
991
+ end
992
+ end
993
+
994
+ # Specifies whether the virtual machine instance will be shut down on key
995
+ # revocation. It is currently used in instance, instance properties and GMI
996
+ # protos
997
+ module KeyRevocationActionType
998
+ # Default value. This value is unused.
999
+ KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED = 0
1000
+
1001
+ # Indicates user chose no operation.
1002
+ NONE = 1
1003
+
1004
+ # Indicates user chose to opt for VM shutdown on key revocation.
1005
+ STOP = 2
1006
+ end
1007
+ end
1008
+ end
1009
+ end
1010
+ end