How-to: Export and Import Container Objects
Issue:
Is it possible to export a container objects created from models, and have them imported during make install?
Solution:
Yes, it is possible to export a container using esp export container <container name> > new_container.yml
In order to enable importing the file during make install, the container file must be added to roles/seed/content.yml
![]() |
The exported new_container.yml
would be similar to the one below:
![]() |
Case 1: Container to be exported is Empty (i.e. no entities are filled inside the container)
ESP will throw an exception
ValueError: Must provide either a single item, a single slot, or equal-length lists of both. Found len(slots): 0; len(items): 0; len(fields): 1
ESP requires the container to hold an entity object (an entity such as a sample etc or another container) when the keyword
fill
(line no 3) is used
Use the keyword
slots
instead
![]() |
Alternatively, the keyword
slots
orfill
can be commented as well in this case, only the indentation in the rest of the yml file needs to corrected
Case 2: Container to be exported is loaded with entity (Eg: Generic Sample, Plant, Seed, DNA, etc)
The exported container can be imported as is
No changes in the yml file is required
Case 3: Container to be exported is loaded with a container (Eg: Freezer, Well Plate, Box, Shelf, etc)
ESP will throw an exception
ValueError: Container creation requires container_type key.
ESP is unable to find the
container_type
of the container object loaded in the main containerHence, user must explicitly mention the
container_type
along with the container object (shown below)Please note - the colon ‘:' after the ‘Small Box 1’ container and the indentation before
type
in the next line is not to be missed