Class: Google::Apis::BackupdrV1::ComputeInstanceRestoreProperties

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/backupdr_v1/classes.rb,
lib/google/apis/backupdr_v1/representations.rb,
lib/google/apis/backupdr_v1/representations.rb

Overview

ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ComputeInstanceRestoreProperties

Returns a new instance of ComputeInstanceRestoreProperties.



2397
2398
2399
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2397

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#advanced_machine_featuresGoogle::Apis::BackupdrV1::AdvancedMachineFeatures

Specifies options for controlling advanced machine features. Corresponds to the JSON property advancedMachineFeatures



2258
2259
2260
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2258

def advanced_machine_features
  @advanced_machine_features
end

#can_ip_forwardBoolean Also known as: can_ip_forward?

Optional. Allows this instance to send and receive packets with non-matching destination or source IPs. Corresponds to the JSON property canIpForward

Returns:

  • (Boolean)


2264
2265
2266
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2264

def can_ip_forward
  @can_ip_forward
end

#confidential_instance_configGoogle::Apis::BackupdrV1::ConfidentialInstanceConfig

A set of Confidential Instance options. Corresponds to the JSON property confidentialInstanceConfig



2270
2271
2272
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2270

def confidential_instance_config
  @confidential_instance_config
end

#deletion_protectionBoolean Also known as: deletion_protection?

Optional. Whether the resource should be protected against deletion. Corresponds to the JSON property deletionProtection

Returns:

  • (Boolean)


2275
2276
2277
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2275

def deletion_protection
  @deletion_protection
end

#descriptionString

Optional. An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


2282
2283
2284
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2282

def description
  @description
end

#disksArray<Google::Apis::BackupdrV1::AttachedDisk>

Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. Source regional persistent disks will be restored with default replica zones if not specified. Corresponds to the JSON property disks



2289
2290
2291
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2289

def disks
  @disks
end

#display_deviceGoogle::Apis::BackupdrV1::DisplayDevice

A set of Display Device options Corresponds to the JSON property displayDevice



2294
2295
2296
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2294

def display_device
  @display_device
end

#guest_acceleratorsArray<Google::Apis::BackupdrV1::AcceleratorConfig>

Optional. A list of the type and count of accelerator cards attached to the instance. Corresponds to the JSON property guestAccelerators



2300
2301
2302
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2300

def guest_accelerators
  @guest_accelerators
end

#hostnameString

Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [ INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [ INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. Corresponds to the JSON property hostname

Returns:

  • (String)


2308
2309
2310
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2308

def hostname
  @hostname
end

#instance_encryption_keyGoogle::Apis::BackupdrV1::CustomerEncryptionKey

A customer-supplied encryption key. Corresponds to the JSON property instanceEncryptionKey



2313
2314
2315
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2313

def instance_encryption_key
  @instance_encryption_key
end

#key_revocation_action_typeString

Optional. KeyRevocationActionType of the instance. Corresponds to the JSON property keyRevocationActionType

Returns:

  • (String)


2318
2319
2320
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2318

def key_revocation_action_type
  @key_revocation_action_type
end

#labelsHash<String,String>

Optional. Labels to apply to this instance. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


2323
2324
2325
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2323

def labels
  @labels
end

#machine_typeString

Optional. Full or partial URL of the machine type resource to use for this instance. Corresponds to the JSON property machineType

Returns:

  • (String)


2329
2330
2331
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2329

def machine_type
  @machine_type
end

#metadataGoogle::Apis::BackupdrV1::Metadata

A metadata key/value entry. Corresponds to the JSON property metadata



2334
2335
2336
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2334

def 
  @metadata
end

#min_cpu_platformString

Optional. Minimum CPU platform to use for this instance. Corresponds to the JSON property minCpuPlatform

Returns:

  • (String)


2339
2340
2341
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2339

def min_cpu_platform
  @min_cpu_platform
end

#nameString

Required. Name of the compute instance. Corresponds to the JSON property name

Returns:

  • (String)


2344
2345
2346
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2344

def name
  @name
end

#network_interfacesArray<Google::Apis::BackupdrV1::NetworkInterface>

Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. Required to restore in different project or region. Corresponds to the JSON property networkInterfaces



2352
2353
2354
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2352

def network_interfaces
  @network_interfaces
end

#network_performance_configGoogle::Apis::BackupdrV1::NetworkPerformanceConfig

Network performance configuration. Corresponds to the JSON property networkPerformanceConfig



2357
2358
2359
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2357

def network_performance_config
  @network_performance_config
end

#paramsGoogle::Apis::BackupdrV1::InstanceParams

Additional instance params. Corresponds to the JSON property params



2362
2363
2364
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2362

def params
  @params
end

#private_ipv6_google_accessString

Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. Corresponds to the JSON property privateIpv6GoogleAccess

Returns:

  • (String)


2368
2369
2370
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2368

def private_ipv6_google_access
  @private_ipv6_google_access
end

#reservation_affinityGoogle::Apis::BackupdrV1::AllocationAffinity

Specifies the reservations that this instance can consume from. Corresponds to the JSON property reservationAffinity



2373
2374
2375
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2373

def reservation_affinity
  @reservation_affinity
end

#resource_policiesArray<String>

Optional. Resource policies applied to this instance. By default, no resource policies will be applied. Corresponds to the JSON property resourcePolicies

Returns:

  • (Array<String>)


2379
2380
2381
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2379

def resource_policies
  @resource_policies
end

#schedulingGoogle::Apis::BackupdrV1::Scheduling

Sets the scheduling options for an Instance. Corresponds to the JSON property scheduling



2384
2385
2386
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2384

def scheduling
  @scheduling
end

#service_accountsArray<Google::Apis::BackupdrV1::ServiceAccount>

Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Corresponds to the JSON property serviceAccounts



2390
2391
2392
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2390

def service_accounts
  @service_accounts
end

#tagsGoogle::Apis::BackupdrV1::Tags

A set of instance tags. Corresponds to the JSON property tags



2395
2396
2397
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2395

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2402

def update!(**args)
  @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
  @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
  @description = args[:description] if args.key?(:description)
  @disks = args[:disks] if args.key?(:disks)
  @display_device = args[:display_device] if args.key?(:display_device)
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
  @hostname = args[:hostname] if args.key?(:hostname)
  @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
  @labels = args[:labels] if args.key?(:labels)
  @machine_type = args[:machine_type] if args.key?(:machine_type)
  @metadata = args[:metadata] if args.key?(:metadata)
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
  @name = args[:name] if args.key?(:name)
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
  @params = args[:params] if args.key?(:params)
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
  @scheduling = args[:scheduling] if args.key?(:scheduling)
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
  @tags = args[:tags] if args.key?(:tags)
end