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.



11670
11671
11672
# File 'lib/google/apis/compute_alpha/classes.rb', line 11670

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



11535
11536
11537
# File 'lib/google/apis/compute_alpha/classes.rb', line 11535

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)


11543
11544
11545
# File 'lib/google/apis/compute_alpha/classes.rb', line 11543

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


11550
11551
11552
# File 'lib/google/apis/compute_alpha/classes.rb', line 11550

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)


11558
11559
11560
# File 'lib/google/apis/compute_alpha/classes.rb', line 11558

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)


11564
11565
11566
# File 'lib/google/apis/compute_alpha/classes.rb', line 11564

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)


11570
11571
11572
# File 'lib/google/apis/compute_alpha/classes.rb', line 11570

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


11577
11578
11579
# File 'lib/google/apis/compute_alpha/classes.rb', line 11577

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


11584
11585
11586
# File 'lib/google/apis/compute_alpha/classes.rb', line 11584

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


11591
11592
11593
# File 'lib/google/apis/compute_alpha/classes.rb', line 11591

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)


11598
11599
11600
# File 'lib/google/apis/compute_alpha/classes.rb', line 11598

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)


11605
11606
11607
# File 'lib/google/apis/compute_alpha/classes.rb', line 11605

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)


11611
11612
11613
# File 'lib/google/apis/compute_alpha/classes.rb', line 11611

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)


11617
11618
11619
# File 'lib/google/apis/compute_alpha/classes.rb', line 11617

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)


11628
11629
11630
# File 'lib/google/apis/compute_alpha/classes.rb', line 11628

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


11635
11636
11637
# File 'lib/google/apis/compute_alpha/classes.rb', line 11635

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


11642
11643
11644
# File 'lib/google/apis/compute_alpha/classes.rb', line 11642

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)


11647
11648
11649
# File 'lib/google/apis/compute_alpha/classes.rb', line 11647

def region
  @region
end

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

Returns:

  • (String)


11652
11653
11654
# File 'lib/google/apis/compute_alpha/classes.rb', line 11652

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


11660
11661
11662
# File 'lib/google/apis/compute_alpha/classes.rb', line 11660

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)


11668
11669
11670
# File 'lib/google/apis/compute_alpha/classes.rb', line 11668

def tftp_server_ipv4_name
  @tftp_server_ipv4_name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
# File 'lib/google/apis/compute_alpha/classes.rb', line 11675

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