LabMetadata

pydantic model controller.events.LabMetadata

Common lab metadata for events.

Parameters:

data (Any)

Show JSON schema
{
   "title": "LabMetadata",
   "description": "Common lab metadata for events.",
   "type": "object",
   "properties": {
      "image": {
         "description": "Docker reference for the lab image",
         "title": "Lab image",
         "type": "string"
      },
      "cpu_limit": {
         "description": "Kubernetes pod limit of CPU equivalents",
         "title": "Lab CPU limit",
         "type": "number"
      },
      "memory_limit": {
         "description": "Kubernetes pod limit of memory in bytes",
         "title": "Lab memory limit",
         "type": "integer"
      }
   },
   "required": [
      "image",
      "cpu_limit",
      "memory_limit"
   ]
}

Fields:
field cpu_limit: float [Required]

Kubernetes pod limit of CPU equivalents

field image: str [Required]

Docker reference for the lab image

field memory_limit: int [Required]

Kubernetes pod limit of memory in bytes

asdict()

Returns this model in dictionary form. This method differs from pydantic’s dict by converting all values to their Avro representation. It also doesn’t provide the exclude, include, by_alias, etc. parameters that dict provides.

Return type:

Dict[str, Any]

classmethod fake(**data)

Creates a fake instance of the model.

Attributes:

data: Dict[str, Any] represent the user values to use in the instance

Parameters:

data (Any)

Return type:

AvroBaseModel

classmethod json_schema(*args, **kwargs)
Parameters:
Return type:

str

serialize(serialization_type='avro')

Overrides the base AvroModel’s serialize method to inject this class’s standardization factory method

Parameters:

serialization_type (Literal['avro', 'avro-json'], default: 'avro')

Return type:

bytes

to_dict()
Return type:

Dict[str, Any]

validate_avro()

Validate that instance matches the avro schema

Return type:

bool

classmethod validate_structure()

Do runtime validation of fields.

Make sure all of the fields are compatible with the backing datastore (InfluxDB at the moment).

Return type:

None