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.



11640
11641
11642
# File 'lib/google/apis/compute_alpha/classes.rb', line 11640

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



11505
11506
11507
# File 'lib/google/apis/compute_alpha/classes.rb', line 11505

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)


11513
11514
11515
# File 'lib/google/apis/compute_alpha/classes.rb', line 11513

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


11520
11521
11522
# File 'lib/google/apis/compute_alpha/classes.rb', line 11520

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)


11528
11529
11530
# File 'lib/google/apis/compute_alpha/classes.rb', line 11528

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)


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

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)


11540
11541
11542
# File 'lib/google/apis/compute_alpha/classes.rb', line 11540

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


11547
11548
11549
# File 'lib/google/apis/compute_alpha/classes.rb', line 11547

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


11554
11555
11556
# File 'lib/google/apis/compute_alpha/classes.rb', line 11554

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


11561
11562
11563
# File 'lib/google/apis/compute_alpha/classes.rb', line 11561

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)


11568
11569
11570
# File 'lib/google/apis/compute_alpha/classes.rb', line 11568

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)


11575
11576
11577
# File 'lib/google/apis/compute_alpha/classes.rb', line 11575

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)


11581
11582
11583
# File 'lib/google/apis/compute_alpha/classes.rb', line 11581

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)


11587
11588
11589
# File 'lib/google/apis/compute_alpha/classes.rb', line 11587

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)


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

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


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

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


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

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)


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

def region
  @region
end

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

Returns:

  • (String)


11622
11623
11624
# File 'lib/google/apis/compute_alpha/classes.rb', line 11622

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


11630
11631
11632
# File 'lib/google/apis/compute_alpha/classes.rb', line 11630

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)


11638
11639
11640
# File 'lib/google/apis/compute_alpha/classes.rb', line 11638

def tftp_server_ipv4_name
  @tftp_server_ipv4_name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
# File 'lib/google/apis/compute_alpha/classes.rb', line 11645

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