diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-22 10:15:07 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:43 +0200 |
| commit | 193e7b32d5e3d356021a5bb8f777fec3bdc413e7 (patch) | |
| tree | 8a68550cab2b83dbafefcc4a022d97fd1fecadfe /src | |
| parent | 1b6545fa653df44b019f6676faed39880999b2bf (diff) | |
Add PropType shapes for static resources
Diffstat (limited to 'src')
| -rw-r--r-- | src/shapes/index.js | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/src/shapes/index.js b/src/shapes/index.js index 770e8d76..1938032e 100644 --- a/src/shapes/index.js +++ b/src/shapes/index.js @@ -25,4 +25,114 @@ Shapes.Authorization = PropTypes.shape({ authorizationLevel: PropTypes.string.isRequired, }); +Shapes.FailureModel = PropTypes.shape({ + id: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + rate: PropTypes.number.isRequired, +}); + +Shapes.ProcessingUnit = PropTypes.shape({ + id: PropTypes.number.isRequired, + manufacturer: PropTypes.string.isRequired, + family: PropTypes.string.isRequired, + generation: PropTypes.string.isRequired, + model: PropTypes.string.isRequired, + clockRateMhz: PropTypes.number.isRequired, + numberOfCores: PropTypes.number.isRequired, + energyConsumptionW: PropTypes.number.isRequired, + failureModelId: PropTypes.number.isRequired, + failureModel: Shapes.FailureModel, +}); + +Shapes.StorageUnit = PropTypes.shape({ + id: PropTypes.number.isRequired, + manufacturer: PropTypes.string.isRequired, + family: PropTypes.string.isRequired, + generation: PropTypes.string.isRequired, + model: PropTypes.string.isRequired, + speedMbPerS: PropTypes.number.isRequired, + sizeMb: PropTypes.number.isRequired, + energyConsumptionW: PropTypes.number.isRequired, + failureModelId: PropTypes.number.isRequired, + failureModel: Shapes.FailureModel, +}); + +Shapes.Machine = PropTypes.shape({ + id: PropTypes.number.isRequired, + rackId: PropTypes.number.isRequired, + position: PropTypes.number.isRequired, + cpuIds: PropTypes.arrayOf(PropTypes.number.isRequired), + cpus: PropTypes.arrayOf(Shapes.ProcessingUnit), + gpuIds: PropTypes.arrayOf(PropTypes.number.isRequired), + gpus: PropTypes.arrayOf(Shapes.ProcessingUnit), + memoryIds: PropTypes.arrayOf(PropTypes.number.isRequired), + memories: PropTypes.arrayOf(Shapes.StorageUnit), + storageIds: PropTypes.arrayOf(PropTypes.number.isRequired), + storages: PropTypes.arrayOf(Shapes.StorageUnit), +}); + +Shapes.Rack = PropTypes.shape({ + id: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + capacity: PropTypes.number.isRequired, + powerCapacityW: PropTypes.number.isRequired, + machines: PropTypes.arrayOf(Shapes.Machine), +}); + +Shapes.CoolingItem = PropTypes.shape({ + id: PropTypes.number.isRequired, + energyConsumptionW: PropTypes.number.isRequired, + type: PropTypes.string.isRequired, + failureModelId: PropTypes.number.isRequired, + failureModel: Shapes.FailureModel, +}); + +Shapes.PSU = PropTypes.shape({ + id: PropTypes.number.isRequired, + energyKwh: PropTypes.number.isRequired, + type: PropTypes.string.isRequired, + failureModelId: PropTypes.number.isRequired, + failureModel: Shapes.FailureModel, +}); + +Shapes.Tile = PropTypes.shape({ + id: PropTypes.number.isRequired, + roomId: PropTypes.number.isRequired, + positionX: PropTypes.number.isRequired, + positionY: PropTypes.number.isRequired, + objectId: PropTypes.number, + objectType: PropTypes.number, + rack: Shapes.Rack, + coolingItem: Shapes.CoolingItem, + psu: Shapes.PSU, +}); + +Shapes.Room = PropTypes.shape({ + id: PropTypes.number.isRequired, + datacenterId: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + roomType: PropTypes.string.isRequired, + tiles: PropTypes.arrayOf(Shapes.Tile), +}); + +Shapes.Datacenter = PropTypes.shape({ + id: PropTypes.number.isRequired, + rooms: PropTypes.arrayOf(Shapes.Room), +}); + +Shapes.Section = PropTypes.shape({ + id: PropTypes.number.isRequired, + pathId: PropTypes.number.isRequired, + datacenterId: PropTypes.number.isRequired, + datacenter: Shapes.Datacenter, +}); + +Shapes.Path = PropTypes.shape({ + id: PropTypes.number.isRequired, + simulationId: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + datetimeCreated: PropTypes.string.isRequired, + sections: PropTypes.arrayOf(Shapes.Section), +}); + export default Shapes; |
