google-cloud-backupdr-v1 0.2.1 → 0.3.0

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