VintageNet.Interface.RawConfig (vintage_net v0.10.5) View Source
Raw configuration for an interface
This struct contains the low-level instructions for how to configure and deconfigure an interface.
Fields:
:ifname- the name of the interface (e.g.,"eth0"):type- the type of network interface (aka the module that created the config):source_config- the configuration that generated this one:required_ifnames- a list of ifnames that need to exist before starting this configuration. (e.g.["eth0"]):retry_millis- if bringing the interface up fails, wait this amount of time before retrying:files- a list of file path, content tuples:restart_strategy- the restart strategy for the list ofchild_specs. I.e.,:one_for_one | :one_for_all | :rest_for_one:child_specs- a set of child_specs for GenServers to start up and supervise:up_cmd_millis- the maximum amount of time to allow the up command list to take:up_cmds- a list of commands to run to configure the interface:down_cmd_millis- the maximum amount of time to allow the down command list to take:down_cmds- a list of commands to run to bring the interface down:cleanup_files- additional files to delete (the files listed infilesare deleted too)
Link to this section Summary
Link to this section Types
Specs
command() ::
{:run, String.t(), [String.t()]}
| {:run_ignore_errors, String.t(), [String.t()]}
| {:fun, (() -> :ok | {:error, any()})}
| {:fun, module(), atom(), list()}
A command to run for RawConfig.up_cmds or RawConfig.down_cmds
Specs
Specs
t() :: %VintageNet.Interface.RawConfig{
child_specs: [Supervisor.child_spec() | {module(), term()} | module()],
cleanup_files: [Path.t()],
down_cmd_millis: non_neg_integer(),
down_cmds: [command()],
files: [file_contents()],
ifname: VintageNet.ifname(),
required_ifnames: [VintageNet.ifname()],
restart_strategy: Supervisor.strategy(),
retry_millis: non_neg_integer(),
source_config: map(),
type: atom(),
up_cmd_millis: non_neg_integer(),
up_cmds: [command()]
}