otupy.profiles.ctxd.data.execution_environment.ExecutionEnvironment

class ExecutionEnvironment(execenv: object = None, description: str = None, id: str = None, name: ~otupy.types.data.hostname.Hostname = None, version: str = None, type: ~otupy.profiles.ctxd.data.execution_environment_type.ExecutionEnvironmentType = None, libs: ~otupy.types.base.array_of.ArrayOf.__new__.<locals>.ArrayOf = None, apps: ~otupy.types.base.array_of.ArrayOf.__new__.<locals>.ArrayOf = None, **kwargs)

Bases: CTXDObject

Execution Environment

The ExecutionEnvironment model abstracts a set of software resources that allow to run an application. The latter typically include a pid space,

a filesystem, a network slice, etc. There will be multiple child classes of an execution environment, which will define typical cases, like a full Operating System, a container, a Python venv, a chroot, etc.

An Execution Environment is hosted on a Host, which could any physical or virtual hardware, including physical servers, virtual machines, IoT devices, Kubernetes pods, etc.

An ExecutionEnvironment will typically be made of several subsystems for file systems, network slices, etc. This approach enables to provide a hierarchical view of components and subcomponents, including links at different layers.

In general, we expect applications or libraries to be present to support the execution of other software.

Methods

fromdict

Builds instance from dictionary

get_subtype

todict

Converts to dictionary

Attributes

apps

List of applications installed on this ExecutionEnvironment

description

Generic description of the node (including its role)

id

ID of the node, preferably globally unique

libs

List of libraries installed in this ExecutionEnvironment

name

A name for this node (e.g., network namespace name)

pkgs

List of packages instsalled (for package-based systems)

type

Specific type of Execution Environment

version

Version of this Execution environment

__init__(execenv: object = None, description: str = None, id: str = None, name: ~otupy.types.data.hostname.Hostname = None, version: str = None, type: ~otupy.profiles.ctxd.data.execution_environment_type.ExecutionEnvironmentType = None, libs: ~otupy.types.base.array_of.ArrayOf.__new__.<locals>.ArrayOf = None, apps: ~otupy.types.base.array_of.ArrayOf.__new__.<locals>.ArrayOf = None, **kwargs)
apps: ArrayOf = None

List of applications installed on this ExecutionEnvironment

description: str = None

Generic description of the node (including its role)

classmethod fromdict(dic, e)

Builds instance from dictionary

It is used during deserialization to create an otupy instance from the text message. It takes an Encoder instance that is used to recursively build instances of the inner objects (the Encoder provides standard methods to create instances of base objects like strings, integers, boolean).

Parameters:
  • dic – The intermediary dictionary representation from which the object is built.

  • e – The Encoder that is being used.

Returns:

An instance of this class initialized from the dictionary values.

id: str = None

ID of the node, preferably globally unique

libs: ArrayOf = None

List of libraries installed in this ExecutionEnvironment

name: str = None

A name for this node (e.g., network namespace name)

pkgs: ArrayOf = None

List of packages instsalled (for package-based systems)

todict(e)

Converts to dictionary

It is used to convert this object to an intermediary representation during serialization. It takes an Encoder argument that is used to recursively serialize inner data and structures (the Encoder provides standard methods for converting base types to dictionaries)..

Parameters:

e – The Encoder that is being used.

Returns:

A dictionary compliants to the Language Specification’s serialization rules.

type: ExecutionEnvironmentType = None

Specific type of Execution Environment

version: str = None

Version of this Execution environment