ros2_snapshot.snapshot.builders.machine_builder module

Class associated with building a bank of machine models.

class ros2_snapshot.snapshot.builders.machine_builder.MachineBuilder(name)

Bases: _EntityBuilder

Define a MachineBuilder.

Represents a host machine running ROS nodes

and is responsible for allowing itself to be

populated with basic information relevant to a Machine and then further populating itself from that information for the purpose of extracting a metamodel instance

add_node_name(node_name)

Associate the name of a ROS Node to this machine.

Parameters:

node_name (str) – the name of the ROS Node

extract_metamodel()

Create/extract a MachineBuilder instance.

Machine instance from its internal state

Returns:

the created / extracted metamodel instance

Return type:

Machine

property hostname

Return the hostname of machine on network.

Returns:

hostname on network

Return type:

str

property ip_address

Return the ip address of given machine on network.

Returns:

ip address of machine

Return type:

str

property node_names

Return the collection of names of the ROS Nodes.

Only those that have set a value for this Parameter

Returns:

the collection of names of the ROS Nodes that have set a value for this Parameter

Return type:

set{str}

prepare(**kwargs)

Prepare the internal MachineBuilder.

Based on identified nodes for eventual metamodel extraction; internal changes to the state of the *EntityBuilders occur for the builders that are stored in the internal bank

Parameters:

kwargs (dict{param: value}) – keyword arguments