[docs]classCube(MultiDimensionalDataset):"""Description"""type_name:str=Field(default="Cube",allow_mutation=False)@validator("type_name")defvalidate_type_name(cls,v):ifv!="Cube":raiseValueError("must be Cube")returnvdef__setattr__(self,name,value):ifnameinCube._convenience_properties:returnobject.__setattr__(self,name,value)super().__setattr__(name,value)CUBE_DIMENSION_COUNT:ClassVar[NumericField]=NumericField("cubeDimensionCount","cubeDimensionCount")""" Number of dimensions in the cube. """CUBE_DIMENSIONS:ClassVar[RelationField]=RelationField("cubeDimensions")""" TBC """_convenience_properties:ClassVar[List[str]]=["cube_dimension_count","cube_dimensions",]@propertydefcube_dimension_count(self)->Optional[int]:returnNoneifself.attributesisNoneelseself.attributes.cube_dimension_count@cube_dimension_count.setterdefcube_dimension_count(self,cube_dimension_count:Optional[int]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.cube_dimension_count=cube_dimension_count@propertydefcube_dimensions(self)->Optional[List[CubeDimension]]:returnNoneifself.attributesisNoneelseself.attributes.cube_dimensions@cube_dimensions.setterdefcube_dimensions(self,cube_dimensions:Optional[List[CubeDimension]]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.cube_dimensions=cube_dimensionsclassAttributes(MultiDimensionalDataset.Attributes):cube_dimension_count:Optional[int]=Field(default=None,description="")cube_dimensions:Optional[List[CubeDimension]]=Field(default=None,description="")# relationshipattributes:Cube.Attributes=Field(default_factory=lambda:Cube.Attributes(),description=("Map of attributes in the instance and their values. ""The specific keys of this map will vary by type, ""so are described in the sub-types of this schema."),)