Class: Google::Apis::ComputeAlpha::DhcpOptionsConfig

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

Overview

A standalone, regional API resource that encapsulates a set of user-defined DHCP configurations.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ DhcpOptionsConfig

Returns a new instance of DhcpOptionsConfig.



11477
11478
11479
# File 'lib/google/apis/compute_alpha/classes.rb', line 11477

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

Instance Attribute Details

#associationsHash<String,Google::Apis::ComputeAlpha::DhcpOptionsConfigAssociation>

Mapping of user-defined keys to DhcpOptionsConfig to Network associations. Corresponds to the JSON property associations



11342
11343
11344
# File 'lib/google/apis/compute_alpha/classes.rb', line 11342

def associations
  @associations
end

#boot_file_ipv4_nameString

The file path and name of the boot image/file on the TFTP server that the client VM guest OS should download and execute during network boot. Used when the standard DHCP header 'file' field is overloaded. Corresponds to DHCPv4 Option 67. Corresponds to the JSON property bootFileIpv4Name

Returns:

  • (String)


11350
11351
11352
# File 'lib/google/apis/compute_alpha/classes.rb', line 11350

def boot_file_ipv4_name
  @boot_file_ipv4_name
end

#boot_file_ipv6_parametersArray<String>

A list of UTF-8 encoded parameter strings to be passed as arguments to the bootloader program or OS kernel after downloading the boot file. Corresponds to DHCPv6 Option 60. Corresponds to the JSON property bootFileIpv6Parameters

Returns:

  • (Array<String>)


11357
11358
11359
# File 'lib/google/apis/compute_alpha/classes.rb', line 11357

def boot_file_ipv6_parameters
  @boot_file_ipv6_parameters
end

#boot_file_ipv6_urlString

The Uniform Resource Locator (URL) specifying the protocol, server address, and file path of the boot file that the client VM guest OS should download and execute for network boot (e.g., 'tftp://[2001:db8::1]/bootx64.efi' or 'http://[2001:db8::1]/boot.img'). Corresponds to DHCPv6 Option 59. Corresponds to the JSON property bootFileIpv6Url

Returns:

  • (String)


11365
11366
11367
# File 'lib/google/apis/compute_alpha/classes.rb', line 11365

def boot_file_ipv6_url
  @boot_file_ipv6_url
end

#creation_timestampString

Output only. [Output Only] Creation timestamp inRFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


11371
11372
11373
# File 'lib/google/apis/compute_alpha/classes.rb', line 11371

def creation_timestamp
  @creation_timestamp
end

#descriptionString

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

Returns:

  • (String)


11377
11378
11379
# File 'lib/google/apis/compute_alpha/classes.rb', line 11377

def description
  @description
end

#dns_search_pathsArray<String>

An ordered list of domain suffixes (search paths) that the client VM guest OS should append to resolve hostnames that are not fully qualified. Applies to both DHCPv4 Option 119 and DHCPv6 Option 24. Corresponds to the JSON property dnsSearchPaths

Returns:

  • (Array<String>)


11384
11385
11386
# File 'lib/google/apis/compute_alpha/classes.rb', line 11384

def dns_search_paths
  @dns_search_paths
end

#dns_server_ipv4_addressesArray<String>

An ordered list of IPv4 addresses of DNS recursive name servers available to the client VM guest OS, specified in order of preference. Corresponds to DHCPv4 Option 6. Corresponds to the JSON property dnsServerIpv4Addresses

Returns:

  • (Array<String>)


11391
11392
11393
# File 'lib/google/apis/compute_alpha/classes.rb', line 11391

def dns_server_ipv4_addresses
  @dns_server_ipv4_addresses
end

#dns_server_ipv6_addressesArray<String>

An ordered list of IPv6 addresses of DNS recursive name servers available to the client VM guest OS, specified in order of preference. Corresponds to DHCPv6 Option 23. Corresponds to the JSON property dnsServerIpv6Addresses

Returns:

  • (Array<String>)


11398
11399
11400
# File 'lib/google/apis/compute_alpha/classes.rb', line 11398

def dns_server_ipv6_addresses
  @dns_server_ipv6_addresses
end

#domain_nameString

The domain name that the client VM guest OS should use when resolving hostnames via DNS (e.g., 'example.com'). It defines the default domain suffix for the client. Corresponds to DHCPv4 Option 15. Corresponds to the JSON property domainName

Returns:

  • (String)


11405
11406
11407
# File 'lib/google/apis/compute_alpha/classes.rb', line 11405

def domain_name
  @domain_name
end

#idFixnum

Output only. [Output Only] The unique identifier for the resource type. The server generates this identifier. Corresponds to the JSON property id

Returns:

  • (Fixnum)


11412
11413
11414
# File 'lib/google/apis/compute_alpha/classes.rb', line 11412

def id
  @id
end

#kindString

Output only. [Output Only] Type of the resource. Alwayscompute# dhcpOptionsConfig for dhcp options configs. Corresponds to the JSON property kind

Returns:

  • (String)


11418
11419
11420
# File 'lib/google/apis/compute_alpha/classes.rb', line 11418

def kind
  @kind
end

#lease_time_secFixnum

The duration, in seconds, of the IPv4 address lease offered by the DHCP server to the client VM guest OS. Corresponds to DHCPv4 Option 51. Corresponds to the JSON property leaseTimeSec

Returns:

  • (Fixnum)


11424
11425
11426
# File 'lib/google/apis/compute_alpha/classes.rb', line 11424

def lease_time_sec
  @lease_time_sec
end

#nameString

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property name

Returns:

  • (String)


11435
11436
11437
# File 'lib/google/apis/compute_alpha/classes.rb', line 11435

def name
  @name
end

#ntp_server_ipv4_addressesArray<String>

An ordered list of IPv4 addresses of Network Time Protocol (NTP) servers available to the client VM guest OS for system clock synchronization, listed in order of preference. Corresponds to DHCPv4 Option 42. Corresponds to the JSON property ntpServerIpv4Addresses

Returns:

  • (Array<String>)


11442
11443
11444
# File 'lib/google/apis/compute_alpha/classes.rb', line 11442

def ntp_server_ipv4_addresses
  @ntp_server_ipv4_addresses
end

#ntp_server_ipv6_addressesArray<String>

An ordered list of IPv6 addresses of Network Time Protocol (NTP) servers available to the client VM guest OS for system clock synchronization. Corresponds to DHCPv6 Option 56. Corresponds to the JSON property ntpServerIpv6Addresses

Returns:

  • (Array<String>)


11449
11450
11451
# File 'lib/google/apis/compute_alpha/classes.rb', line 11449

def ntp_server_ipv6_addresses
  @ntp_server_ipv6_addresses
end

#regionString

Output only. [Output Only] URL of the region where the resource resides. Corresponds to the JSON property region

Returns:

  • (String)


11454
11455
11456
# File 'lib/google/apis/compute_alpha/classes.rb', line 11454

def region
  @region
end

Output only. [Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


11459
11460
11461
# File 'lib/google/apis/compute_alpha/classes.rb', line 11459

def self_link
  @self_link
end

#tftp_server_ipv4_addressesArray<String>

An ordered list of one or more IPv4 addresses of TFTP servers. Provides server redundancy and failover support, and is generally prioritized by clients over the single hostname specified in Option 66. Corresponds to DHCPv4 Option 150. Corresponds to the JSON property tftpServerIpv4Addresses

Returns:

  • (Array<String>)


11467
11468
11469
# File 'lib/google/apis/compute_alpha/classes.rb', line 11467

def tftp_server_ipv4_addresses
  @tftp_server_ipv4_addresses
end

#tftp_server_ipv4_nameString

The hostname or IP address of the Trivial File Transfer Protocol (TFTP) server from which the client VM guest OS can download boot files. Typically used in network booting (PXE) when the standard DHCP header 'sname' field is overloaded. Corresponds to DHCPv4 Option 66. Corresponds to the JSON property tftpServerIpv4Name

Returns:

  • (String)


11475
11476
11477
# File 'lib/google/apis/compute_alpha/classes.rb', line 11475

def tftp_server_ipv4_name
  @tftp_server_ipv4_name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
# File 'lib/google/apis/compute_alpha/classes.rb', line 11482

def update!(**args)
  @associations = args[:associations] if args.key?(:associations)
  @boot_file_ipv4_name = args[:boot_file_ipv4_name] if args.key?(:boot_file_ipv4_name)
  @boot_file_ipv6_parameters = args[:boot_file_ipv6_parameters] if args.key?(:boot_file_ipv6_parameters)
  @boot_file_ipv6_url = args[:boot_file_ipv6_url] if args.key?(:boot_file_ipv6_url)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @dns_search_paths = args[:dns_search_paths] if args.key?(:dns_search_paths)
  @dns_server_ipv4_addresses = args[:dns_server_ipv4_addresses] if args.key?(:dns_server_ipv4_addresses)
  @dns_server_ipv6_addresses = args[:dns_server_ipv6_addresses] if args.key?(:dns_server_ipv6_addresses)
  @domain_name = args[:domain_name] if args.key?(:domain_name)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @lease_time_sec = args[:lease_time_sec] if args.key?(:lease_time_sec)
  @name = args[:name] if args.key?(:name)
  @ntp_server_ipv4_addresses = args[:ntp_server_ipv4_addresses] if args.key?(:ntp_server_ipv4_addresses)
  @ntp_server_ipv6_addresses = args[:ntp_server_ipv6_addresses] if args.key?(:ntp_server_ipv6_addresses)
  @region = args[:region] if args.key?(:region)
  @self_link = args[:self_link] if args.key?(:self_link)
  @tftp_server_ipv4_addresses = args[:tftp_server_ipv4_addresses] if args.key?(:tftp_server_ipv4_addresses)
  @tftp_server_ipv4_name = args[:tftp_server_ipv4_name] if args.key?(:tftp_server_ipv4_name)
end