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.



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

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



2233
2234
2235
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2233

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)


2239
2240
2241
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2239

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



2245
2246
2247
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2245

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)


2250
2251
2252
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2250

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)


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

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



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

def disks
  @disks
end

#display_deviceGoogle::Apis::BackupdrV1::DisplayDevice

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



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

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



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

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)


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

def hostname
  @hostname
end

#instance_encryption_keyGoogle::Apis::BackupdrV1::CustomerEncryptionKey

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



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

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)


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

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>)


2298
2299
2300
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2298

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)


2304
2305
2306
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2304

def machine_type
  @machine_type
end

#metadataGoogle::Apis::BackupdrV1::Metadata

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



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

def 
  @metadata
end

#min_cpu_platformString

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

Returns:

  • (String)


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

def min_cpu_platform
  @min_cpu_platform
end

#nameString

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

Returns:

  • (String)


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

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



2327
2328
2329
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2327

def network_interfaces
  @network_interfaces
end

#network_performance_configGoogle::Apis::BackupdrV1::NetworkPerformanceConfig

Network performance configuration. Corresponds to the JSON property networkPerformanceConfig



2332
2333
2334
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2332

def network_performance_config
  @network_performance_config
end

#paramsGoogle::Apis::BackupdrV1::InstanceParams

Additional instance params. Corresponds to the JSON property params



2337
2338
2339
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2337

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)


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

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



2348
2349
2350
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2348

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>)


2354
2355
2356
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2354

def resource_policies
  @resource_policies
end

#schedulingGoogle::Apis::BackupdrV1::Scheduling

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



2359
2360
2361
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2359

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



2365
2366
2367
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2365

def service_accounts
  @service_accounts
end

#tagsGoogle::Apis::BackupdrV1::Tags

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



2370
2371
2372
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2370

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
# File 'lib/google/apis/backupdr_v1/classes.rb', line 2377

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