Class: Y2Network::AutoinstProfile::UdevRulesSection

Inherits:
Installation::AutoinstProfile::SectionWithAttributes
  • Object
show all
Includes:
Yast::Logger
Defined in:
src/lib/y2network/autoinst_profile/udev_rules_section.rb

Overview

This class represents an AutoYaST section under

Examples:

xml content

<net-udev config:type="list">
  <rule>
    <name>eth0</name>
    <rule>ATTR\{address\}</rule>
    <value>00:30:6E:08:EC:80</value>
  </rule>
</net-udev>

See Also:

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*_args) ⇒ UdevRulesSection

Constructor



61
62
63
64
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 61

def initialize(*_args)
  super
  @udev_rules = []
end

Instance Attribute Details

#udev_rulesArray<UdevRuleSection>

Returns:



# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 48

Class Method Details

.attributesObject



40
41
42
43
44
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 40

def self.attributes
  [
    { name: :udev_rules, xml_name: :"net-udev" }
  ]
end

.new_from_network(interfaces, parent = nil) ⇒ UdevRulesSection

Clones network interfaces settings into an AutoYaST interfaces section

Parameters:

  • interfaces (Y2Network::InterfacesCollection)

    interfaces to detect udev rules

  • parent (SectionWithAttributes, nil) (defaults to: nil)

    Parent section

Returns:



56
57
58
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 56

def self.new_from_network(interfaces, parent = nil)
  new(parent).tap { |r| r.init_from_network(interfaces) }
end

Instance Method Details

#init_from_hashes(hash) ⇒ Object

Method used by new_from_hashes to populate the attributes when importing a profile

Parameters:

  • hash (Array)

    see new_from_hashes. In this case it is array of udev_rules



69
70
71
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 69

def init_from_hashes(hash)
  @udev_rules = udev_rules_from_hash(hash)
end

#init_from_network(interfaces) ⇒ Object

Method used by new_from_network to populate the attributes when cloning udev rules settings

Parameters:



77
78
79
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 77

def init_from_network(interfaces)
  @udev_rules = udev_rules_section(interfaces)
end

#section_nameString

Returns the section name

Returns:

  • (String)

    "net-udev"



84
85
86
# File 'src/lib/y2network/autoinst_profile/udev_rules_section.rb', line 84

def section_name
  "net-udev"
end