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.



1588
1589
1590
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1588

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



1452
1453
1454
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1452

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)


1458
1459
1460
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1458

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



1464
1465
1466
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1464

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)


1469
1470
1471
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1469

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)


1476
1477
1478
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1476

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. Corresponds to the JSON property disks



1482
1483
1484
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1482

def disks
  @disks
end

#display_deviceGoogle::Apis::BackupdrV1::DisplayDevice

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



1487
1488
1489
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1487

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



1493
1494
1495
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1493

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)


1501
1502
1503
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1501

def hostname
  @hostname
end

#instance_encryption_keyGoogle::Apis::BackupdrV1::CustomerEncryptionKey

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



1506
1507
1508
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1506

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)


1511
1512
1513
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1511

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


1516
1517
1518
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1516

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)


1522
1523
1524
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1522

def machine_type
  @machine_type
end

#metadataGoogle::Apis::BackupdrV1::Metadata

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



1527
1528
1529
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1527

def 
  @metadata
end

#min_cpu_platformString

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

Returns:

  • (String)


1532
1533
1534
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1532

def min_cpu_platform
  @min_cpu_platform
end

#nameString

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

Returns:

  • (String)


1537
1538
1539
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1537

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. Corresponds to the JSON property networkInterfaces



1544
1545
1546
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1544

def network_interfaces
  @network_interfaces
end

#network_performance_configGoogle::Apis::BackupdrV1::NetworkPerformanceConfig

Network performance configuration. Corresponds to the JSON property networkPerformanceConfig



1549
1550
1551
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1549

def network_performance_config
  @network_performance_config
end

#paramsGoogle::Apis::BackupdrV1::InstanceParams

Additional instance params. Corresponds to the JSON property params



1554
1555
1556
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1554

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)


1560
1561
1562
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1560

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



1565
1566
1567
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1565

def reservation_affinity
  @reservation_affinity
end

#resource_policiesArray<String>

Optional. Resource policies applied to this instance. Corresponds to the JSON property resourcePolicies

Returns:

  • (Array<String>)


1570
1571
1572
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1570

def resource_policies
  @resource_policies
end

#schedulingGoogle::Apis::BackupdrV1::Scheduling

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



1575
1576
1577
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1575

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



1581
1582
1583
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1581

def service_accounts
  @service_accounts
end

#tagsGoogle::Apis::BackupdrV1::Tags

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



1586
1587
1588
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1586

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
# File 'lib/google/apis/backupdr_v1/classes.rb', line 1593

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