components: schemas: DrawingsAxonometricAngles: properties: x: description: X-angle in degrees example: 30 type: integer z: description: Z-angle in degrees example: 30 type: integer type: object DrawingsAxonometricRules: properties: angles: $ref: '#/components/schemas/DrawingsAxonometricAngles' description: Angles of axonometric grid example: x: 30 z: 30 enabled: description: Axonometric graphical representation enabled? example: false type: boolean type: object DrawingsColoringRules: properties: equipments: description: List of equipments coloring rules. example: [] items: $ref: '#/components/schemas/DrawingsEquipmentColoringRule' type: array racks: description: List of racks coloring rules. example: [] items: $ref: '#/components/schemas/DrawingsRackColoringRule' type: array type: object DrawingsDimensions: properties: height: description: Maximum height of image in pixels example: 1200 type: integer width: description: Maximum width of image in pixels example: 1200 type: integer type: object DrawingsEquipmentColoringRule: properties: background: description: The background color of the equipments. example: - 0.6 - 0.6 - 0.6 - 1.0 items: type: number type: array border: description: The border color of the equipments. example: - 0.2 - 0.2 - 0.2 - 1.0 items: type: number type: array chassis: description: The color of the equipment chassis. example: - 0.24705882352941178 - 0.24705882352941178 - 0.24705882352941178 - 1.0 items: type: number type: array ghost: description: The color of ghosted equipment. example: - 0.45098039215686275 - 0.45098039215686275 - 0.45098039215686275 - 1.0 items: type: number type: array left_side: description: Color of equipment left side in axonometric representations. example: - 0.6666666666666666 - 0.6666666666666666 - 0.6666666666666666 - 1.0 items: type: number type: array tags: description: List of tags equipments must have to be associated to the coloring rule. items: type: string type: array top_side: description: Color of equipment top side in axonometric representations. example: - 0.7333333333333333 - 0.7333333333333333 - 0.7333333333333333 - 1.0 items: type: number type: array type: description: Name of type of quipments associated to the coloring rule. type: string type: object DrawingsGeneral: properties: pixel_perfect: description: Control if entities are represented perfectly aligned on pixels with concession on relative dimensions correctess. This parameter has no effect in axonometric graphical representations. example: false type: boolean type: object DrawingsInfrastructure: properties: discard_empty_racks: description: Control if racks used by infrastructure that contain only unselected equipment are represented. example: true type: boolean equipment_labels: description: Control if equipment are labelled with their names example: true type: boolean equipment_tags: description: Draw only the equipment matching at least one of the tags. example: - compute - switch items: type: string type: array ghost_unselected: description: Control if unselected equipment are represented as ghosts in racks. When the value is true, infrastructure equipment that is not selected for the diagram is represented without details nor label just to mark its presence. When the value is false, this equipment is simply discarded. example: false type: boolean other_racks: description: Control if racks present in the rows but not used by the infrastructure are represented in infrastructure diagrams. example: false type: boolean type: object DrawingsMargin: properties: left: description: Margin on the left of graphical representations. example: 30 type: integer top: description: Margin at the top of graphical representations. example: 30 type: integer type: object DrawingsRack: properties: door_depth: description: The depth of a door in millimeters in rooms graphical representations example: 50 type: integer label_offset: description: Vertical space between row labels and racks labels in infrastructures graphical representations example: 20 type: integer labels: description: Control if racks are labelled with their names in infrastructures graphical representations example: true type: boolean offset: description: Vertical space between racks labels and racks in infrastructures graphical representations example: 20 type: integer pane_width: description: Width of racks pane in millimeters in infrastructures graphical representations example: 40 type: integer spacing: description: Horizontal space between racks in infrastructures graphical representations example: 3 type: integer u_height: description: The height of a rack unit in millimeters example: 44.45 type: number type: object DrawingsRackColoringRule: properties: bottom_side: description: Inside color of racks bottom side in axonometric representations. example: - 0.23529411764705882 - 0.23529411764705882 - 0.23529411764705882 - 1.0 items: type: number type: array frame: description: The color of the racks frame. example: - 0.2 - 0.2 - 0.2 - 1.0 items: type: number type: array left_side: description: Outside color of racks left side in axonometric representations. example: - 0.26666666666666666 - 0.26666666666666666 - 0.26666666666666666 - 1.0 items: type: number type: array pane: description: The color of the racks pane. example: - 0.14901960784313725 - 0.14901960784313725 - 0.14901960784313725 - 1.0 items: type: number type: array right_side: description: Inside color of racks right side in axonometric representations. example: - 0.0 - 0.0 - 0.0 - 1.0 items: type: number type: array tags: description: List of tags racks must have to be associated to the coloring rule. items: type: string type: array top_side: description: Outside color of racks top side in axonometric representations. example: - 0.23529411764705882 - 0.23529411764705882 - 0.23529411764705882 - 1.0 items: type: number type: array type: description: Name of type of rack associated to the coloring rule. type: string type: object DrawingsRoom: properties: racks_labels: description: Control if racks are labelled with their names example: true type: boolean type: object DrawingsRow: properties: label_offset: description: Space above row labels in infrastructure graphical representations example: 20 type: integer labels: description: Control if rows are labelled with their names in infrastructures graphical representations example: true type: boolean type: object Drawings_content: properties: axonometric: $ref: '#/components/schemas/DrawingsAxonometricRules' description: Axonometric representation rules example: angles: x: 30 z: 30 enabled: false colors: $ref: '#/components/schemas/DrawingsColoringRules' description: Drawing coloring rules example: equipments: [] racks: [] dimensions: $ref: '#/components/schemas/DrawingsDimensions' description: Dimensions of image example: height: 1200 width: 1200 general: $ref: '#/components/schemas/DrawingsGeneral' description: General settings example: pixel_perfect: false infrastructure: $ref: '#/components/schemas/DrawingsInfrastructure' description: Infrastructures graphical representation settings example: discard_empty_racks: true equipment_labels: true ghost_unselected: false other_racks: false margin: $ref: '#/components/schemas/DrawingsMargin' description: Graphical representation margins example: left: 30 top: 30 rack: $ref: '#/components/schemas/DrawingsRack' description: Rack graphical representation settings example: door_depth: 50 label_offset: 20 labels: true offset: 20 pane_width: 40 spacing: 3 u_height: 44.45 room: $ref: '#/components/schemas/DrawingsRoom' description: Rooms graphical representation settings example: racks_labels: true row: $ref: '#/components/schemas/DrawingsRow' description: Rack row graphical representation settings example: label_offset: 20 labels: true type: object Error: properties: code: description: HTTP error code example: 500 type: integer description: description: Detailed error description example: Error while parsing object type: string error: description: HTTP error name example: Internal error type: string type: object RacksDBDatacenter: properties: location: $ref: '#/components/schemas/RacksDBDatacenterLocation' description: The GPS coordinates of the datacenter. name: description: Unique name of the datacenter. example: north type: string rooms: description: List of rooms in this datacenter. items: $ref: '#/components/schemas/RacksDBDatacenterRoom' type: array tags: description: The list of tags associated to this datacenter. items: type: string type: array type: object RacksDBDatacenterLocation: properties: latitude: description: GPS latitude of the datacenter. type: number longitude: description: GPS longitude of the datacenter. type: number type: object RacksDBDatacenterRoom: properties: datacenter: $ref: '#/components/schemas/RacksDBDatacenter' description: Back reference to the datacenter where this room is located. dimensions: $ref: '#/components/schemas/RacksDBDatacenterRoomDimensions' description: Dimensions of this room. name: description: Unique name of the room in this datacenter. example: noisy type: string rows: description: List of racks rows on this room. items: $ref: '#/components/schemas/RacksDBRacksRow' type: array type: object RacksDBDatacenterRoomDimensions: properties: depth: description: Depth of datacenter room. example: 15000 type: integer width: description: Width of datacenter room. example: 10000 type: integer type: object RacksDBEquipmentPosition: description: Equipment position in the rack. properties: height: description: Rack slot where the equipment is located. type: integer width: description: Equipment position in rack width. type: integer type: object RacksDBInfrastructure: properties: description: description: Text description of the infrastructure. example: HPC cluster type: string layout: description: The list of parts composing the infrastructure. items: $ref: '#/components/schemas/RacksDBInfrastructurePart' type: array name: description: The name of the infrastructure. example: mercury type: string tags: description: List of tags associated to the infrastructure. example: - hpc items: type: string type: array type: object RacksDBInfrastructurePart: description: This represents all the equipments of an infrastructure in one particular datacenter rack. properties: misc: description: The list of miscellaneous equipments of the infrastructure in this rack. example: [] items: $ref: '#/components/schemas/RacksDBMiscEquipment' type: array network: description: The list of network equipments of the infrastructure in this rack. example: [] items: $ref: '#/components/schemas/RacksDBNetworkEquipment' type: array nodes: description: The list of nodes of the infrastructure in this rack. example: [] items: $ref: '#/components/schemas/RacksDBNode' type: array rack: description: The names of the racks in this set. example: A[01-10] type: string storage: description: The list of storage equipments of the infrastructure in this rack. example: [] items: $ref: '#/components/schemas/RacksDBStorageEquipment' type: array tags: description: The list of tags associated to the equipments of the infrastructure in this rack. example: - compute items: type: string type: array type: object RacksDBMiscEquipment: description: 'NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.' properties: infrastructure: $ref: '#/components/schemas/RacksDBInfrastructure' description: The infrastructure of these miscellaneous equipments. name: description: The names of the miscellaneous equipments in this set. example: kvm[01-02] type: string position: $ref: '#/components/schemas/RacksDBEquipmentPosition' description: Miscellaneous equipment position in the rack. rack: description: The names of the racks in this set. example: A[01-10] type: string slot: description: The slot in the rack used by the first miscellaneous equipment in this set. example: 30 type: integer tags: description: The list of tags associated to these miscellaneous equipments. example: - kvm - keyboard items: type: string type: array type: description: Unique identifier of the miscellaneous equipment type. example: kvmconsole type: string type: object RacksDBMiscEquipmentType: properties: height: description: Height of miscellaneous equipment. example: 1 type: integer id: description: Unique identifier of the miscellaneous equipment type. example: kvmconsole type: string model: description: Miscellaneous equipment model name. example: "19\u201C KVM console" type: string specs: description: URL to miscellaneous equipment specsheet. example: https://github.com/opencomputeproject/ type: string width: description: Width of miscellaneous equipment. example: 1.0 type: number type: object RacksDBNetworkEquipment: description: 'NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.' properties: infrastructure: $ref: '#/components/schemas/RacksDBInfrastructure' description: The infrastructure of these network equipments. name: description: The names of the network equipments in this set. example: ethsw[01-10] type: string position: $ref: '#/components/schemas/RacksDBEquipmentPosition' description: Network equipment position in the rack. rack: description: The names of the racks in this set. example: A[01-10] type: string slot: description: The slot in the rack used by the first network equipment in this set. example: 30 type: integer tags: description: The list of tags associated to these network equipments. example: - ethernet - switch items: type: string type: array type: description: Unique identifier of the network equipment type. example: switch48 type: string type: object RacksDBNetworkEquipmentType: properties: height: description: Height of network equipment. example: 1 type: integer id: description: Unique identifier of the network equipment type. example: switch48 type: string model: description: Network equipment model name. example: Manageable Ethernet switch 48x1Gbe 4xSFP type: string netifs: description: List of network interfaces on this network equipment. items: $ref: '#/components/schemas/RacksDBNetworkEquipmentTypeNetif' type: array specs: description: URL to network equipment specsheet. example: https://github.com/opencomputeproject/ type: string width: description: Width of network equipment. example: 1.0 type: number type: object RacksDBNetworkEquipmentTypeNetif: properties: bandwidth: description: The bandwidth (per second) of the network interface. example: 1000000000 type: integer number: description: The number of this network interface available in the network equipment. example: 48 type: integer type: description: The type of network interface. example: ethernet type: string type: object RacksDBNode: description: 'NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.' properties: infrastructure: $ref: '#/components/schemas/RacksDBInfrastructure' description: The infrastructure of these nodes. name: description: The names of the nodes in this set. example: cn[001-0040] type: string position: $ref: '#/components/schemas/RacksDBEquipmentPosition' description: Node position in the rack. rack: description: The names of the racks in this set. example: A[01-10] type: string slot: description: The slot in the rack used by the first node in this set. example: 10 type: integer tags: description: The list of tags associated to these nodes. example: - compute - standard items: type: string type: array type: description: Unique identifier of node type. example: server type: string type: object RacksDBNodeType: properties: cpu: $ref: '#/components/schemas/RacksDBNodeTypeCpu' description: CPU configuration of the node. gpu: description: List of GPUs of the node. items: $ref: '#/components/schemas/RacksDBNodeTypeGpu' type: array height: description: Height of the node. example: 2 type: integer id: description: Unique identifier of node type. example: server type: string model: description: Node type model name. example: 2U edge server type: string netifs: description: List of network interfaces of the node. items: $ref: '#/components/schemas/RacksDBNodeTypeNetif' type: array ram: $ref: '#/components/schemas/RacksDBNodeTypeRam' description: RAM configuration of the node. specs: description: URL to node specsheet. example: https://github.com/opencomputeproject/ type: string storage: description: List of storage devices of the node. items: $ref: '#/components/schemas/RacksDBNodeTypeStorage' type: array width: description: Width of the node. example: 0.0 type: number type: object RacksDBNodeTypeCpu: properties: cores: description: The number of cores per socket. example: 96 type: integer model: description: The CPU model name. example: SiPearl Rhea1 type: string sockets: description: The number of sockets. example: 2 type: integer specs: description: URL to CPU specsheet. example: https://sipearl.com/en type: string type: object RacksDBNodeTypeGpu: properties: memory: description: The amount of memory per GPU. example: 137438953472 type: integer model: description: The GPU model name. example: AMD Instinct MI250 type: string specs: description: URL to GPU specsheet. example: https://www.amd.com/fr/products/server-accelerators/instinct-mi250 type: string type: object RacksDBNodeTypeNetif: properties: bandwidth: description: The bandwidth (per second) of the network interface. example: 100000000000 type: integer type: description: The type of network interface. example: infiniband type: string type: object RacksDBNodeTypeRam: properties: dimm: description: The number of DIMMs. example: 8 type: integer size: description: The storage capacity of each DIMM. example: 34359738368 type: integer type: object RacksDBNodeTypeStorage: properties: model: description: The model name of the storage device. example: NVMe M.2 PCIe 5.0 type: string size: description: The storage capacity of the storage device. example: 2199023255552 type: integer type: description: The type of storage device. example: nvme type: string type: object RacksDBRack: properties: datacenter: $ref: '#/components/schemas/RacksDBDatacenter' description: The datacenter where this rack is located. fillrate: description: Rack filling rate. type: number name: description: The names of the racks in this set. example: A[01-10] type: string nodes: description: List of nodes in the rack. items: $ref: '#/components/schemas/RacksDBNode' type: array room: $ref: '#/components/schemas/RacksDBDatacenterRoom' description: The datacenter room where this rack is located. row: $ref: '#/components/schemas/RacksDBRacksRow' description: The racks row of this rack. slot: description: The first slot used by this set of racks. example: 2 type: integer tags: description: The list of tags associated to the rack. example: - control items: type: string type: array type: description: Unique identifier of the rack type. example: standard type: string type: object RacksDBRackType: properties: depth: description: Depth of the rack. example: 914 type: integer height: description: Height of the rack. example: 1867 type: integer id: description: Unique identifier of the rack type. example: standard type: string initial: description: Index of initial slot in the rack example: 1 type: integer slots: description: Number of U slots available in the rack. example: 42 type: integer width: description: Width of the rack. example: 600 type: integer type: object RacksDBRacksRow: properties: name: description: Unique name of the racks row. example: computeA type: string nbracks: description: Number of racks in the row. type: integer position: $ref: '#/components/schemas/RacksDBRacksRowPosition' description: The position of the racks row in the room. racks: description: The list of (empty) racks in the row. items: $ref: '#/components/schemas/RacksDBRack' type: array reversed: description: Boolean to control the side of the racks doors in the racks row. When reversed is true, the doors are on the top. example: true type: boolean type: object RacksDBRacksRowPosition: description: 'NOTE: Please refer to xref:positioning-racks.adoc[racks positioning how-to] for more details.' properties: depth: description: The position of the top-left corner of the racks row in the depth axis of the room. example: 3000 type: integer rotation: description: The rotation angle of the racks row clockwise compared to the width axis of the room (ie. an horizontal line). example: 90 type: integer width: description: The position of the top-left corner of the racks row in the width axis of the room. example: 2000 type: integer type: object RacksDBStorageEquipment: description: 'NOTE: Please refer to xref:positioning-equipments.adoc[equipment positioning how-to] for more details.' properties: infrastructure: $ref: '#/components/schemas/RacksDBInfrastructure' description: The infrastructure of these storage equipments. name: description: The names of the storage equipments in this set. example: nas[01-04] type: string position: $ref: '#/components/schemas/RacksDBEquipmentPosition' description: Storage equipment position in the rack. rack: description: The names of the racks in this set. example: A[01-10] type: string slot: description: The slot in the rack used by the first storage equipment in this set. example: 20 type: integer tags: description: The list of tags associated to these storage equipments. example: - storage - nas items: type: string type: array type: description: Unique identifier of storage equipment type. example: nas type: string type: object RacksDBStorageEquipmentType: properties: disks: description: List of storage devices in the storage equipment. items: $ref: '#/components/schemas/RacksDBStorageEquipmentTypeDisk' type: array height: description: Height of storage equipment. example: 3 type: integer id: description: Unique identifier of storage equipment type. example: nas type: string model: description: Storage equipment model name. example: 24x2.5 disks type: string netifs: description: List of network devices in the storage equipment. items: $ref: '#/components/schemas/RacksDBStorageEquipmentTypeNetif' type: array specs: description: URL to storage equipment specsheet. example: https://github.com/opencomputeproject/ type: string width: description: Width of storage equipment. example: 1.0 type: number type: object RacksDBStorageEquipmentTypeDisk: properties: model: description: The model name of the storage device. example: 4TB SATA 7200RPM type: string number: description: The number of this storage device available in the storage equipment. example: 24 type: integer size: description: The storage capacity of the storage device. example: 4398046511104 type: integer type: description: The type of storage device. example: disk type: string type: object RacksDBStorageEquipmentTypeNetif: properties: bandwidth: description: The bandwidth (per second) of the network interface. example: 2500000000 type: integer type: description: The type of network interface. example: ethernet type: string type: object RacksDBTypes: properties: misc: description: List of miscellaneous equipments types definitions. example: [] items: $ref: '#/components/schemas/RacksDBMiscEquipmentType' type: array network: description: List of network equipments types definitions. example: [] items: $ref: '#/components/schemas/RacksDBNetworkEquipmentType' type: array nodes: description: List of nodes types definitions. example: [] items: $ref: '#/components/schemas/RacksDBNodeType' type: array racks: description: List of (empty) racks types definitions. items: $ref: '#/components/schemas/RacksDBRackType' type: array storage: description: List of storage equipments types definitions. example: [] items: $ref: '#/components/schemas/RacksDBStorageEquipmentType' type: array type: object RacksDB_content: properties: datacenters: description: List of datacenters definitions. items: $ref: '#/components/schemas/RacksDBDatacenter' type: array infrastructures: description: List of infrastructures definitions. items: $ref: '#/components/schemas/RacksDBInfrastructure' type: array types: $ref: '#/components/schemas/RacksDBTypes' description: Datacenter equipments types definitions. type: object info: title: RacksDB REST API version: 0.7.0 openapi: 3.0.0 paths: /v0.7.0/datacenters: get: description: Get information about datacenters parameters: - description: Filter datacenters by name in: query name: name required: false schema: type: string - description: Filter datacenters by tag explode: false in: query name: tags required: false schema: items: type: string type: array style: form - allowEmptyValue: true description: Get list of object names instead of full objects in: query name: list required: false schema: {} - allowEmptyValue: true description: Fold expandable objects in: query name: fold required: false schema: {} - allowEmptyValue: true description: Report object types in YAML dumps in: query name: with_objects_types required: false schema: {} - description: Select output format in: query name: format required: false schema: enum: - yaml - json type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RacksDBDatacenter' type: array application/x-yaml: schema: items: $ref: '#/components/schemas/RacksDBDatacenter' type: array description: successful operation /v0.7.0/draw//.: get: description: Draw an entity parameters: - description: Type of entity to draw in: path name: entity required: true schema: enum: - infrastructure - room type: string - description: Name of entity in: path name: name required: true schema: type: string - description: Format of the generated image in: path name: format required: true schema: default: png enum: - png - svg - pdf type: string - description: Control if entities are represented perfectly aligned on pixels with concession on relative dimensions correctess. This parameter has no effect in axonometric graphical representations. in: query name: parameters.general.pixel_perfect required: false schema: default: false description: Control if entities are represented perfectly aligned on pixels with concession on relative dimensions correctess. This parameter has no effect in axonometric graphical representations. example: false type: boolean - description: Control if racks are labelled with their names in: query name: parameters.room.racks_labels required: false schema: default: true description: Control if racks are labelled with their names example: true type: boolean - description: Control if equipment are labelled with their names in: query name: parameters.infrastructure.equipment_labels required: false schema: default: true description: Control if equipment are labelled with their names example: true type: boolean - description: Draw only the equipment matching at least one of the tags. in: query name: parameters.infrastructure.equipment_tags required: false schema: description: Draw only the equipment matching at least one of the tags. example: - compute - switch items: type: string type: array - description: Control if unselected equipment are represented as ghosts in racks. When the value is true, infrastructure equipment that is not selected for the diagram is represented without details nor label just to mark its presence. When the value is false, this equipment is simply discarded. in: query name: parameters.infrastructure.ghost_unselected required: false schema: default: false description: Control if unselected equipment are represented as ghosts in racks. When the value is true, infrastructure equipment that is not selected for the diagram is represented without details nor label just to mark its presence. When the value is false, this equipment is simply discarded. example: false type: boolean - description: Control if racks used by infrastructure that contain only unselected equipment are represented. in: query name: parameters.infrastructure.discard_empty_racks required: false schema: default: true description: Control if racks used by infrastructure that contain only unselected equipment are represented. example: true type: boolean - description: Control if racks present in the rows but not used by the infrastructure are represented in infrastructure diagrams. in: query name: parameters.infrastructure.other_racks required: false schema: default: false description: Control if racks present in the rows but not used by the infrastructure are represented in infrastructure diagrams. example: false type: boolean - description: Maximum height of image in pixels in: query name: parameters.dimensions.height required: false schema: default: 1200 description: Maximum height of image in pixels example: 1200 type: integer - description: Maximum width of image in pixels in: query name: parameters.dimensions.width required: false schema: default: 1200 description: Maximum width of image in pixels example: 1200 type: integer - description: Margin at the top of graphical representations. in: query name: parameters.margin.top required: false schema: default: 30 description: Margin at the top of graphical representations. example: 30 type: integer - description: Margin on the left of graphical representations. in: query name: parameters.margin.left required: false schema: default: 30 description: Margin on the left of graphical representations. example: 30 type: integer - description: Control if racks are labelled with their names in infrastructures graphical representations in: query name: parameters.rack.labels required: false schema: default: true description: Control if racks are labelled with their names in infrastructures graphical representations example: true type: boolean - description: Vertical space between row labels and racks labels in infrastructures graphical representations in: query name: parameters.rack.label_offset required: false schema: default: 20 description: Vertical space between row labels and racks labels in infrastructures graphical representations example: 20 type: integer - description: Vertical space between racks labels and racks in infrastructures graphical representations in: query name: parameters.rack.offset required: false schema: default: 20 description: Vertical space between racks labels and racks in infrastructures graphical representations example: 20 type: integer - description: The height of a rack unit in millimeters in: query name: parameters.rack.u_height required: false schema: default: 44.45 description: The height of a rack unit in millimeters example: 44.45 type: number - description: Width of racks pane in millimeters in infrastructures graphical representations in: query name: parameters.rack.pane_width required: false schema: default: 40 description: Width of racks pane in millimeters in infrastructures graphical representations example: 40 type: integer - description: Horizontal space between racks in infrastructures graphical representations in: query name: parameters.rack.spacing required: false schema: default: 3 description: Horizontal space between racks in infrastructures graphical representations example: 3 type: integer - description: The depth of a door in millimeters in rooms graphical representations in: query name: parameters.rack.door_depth required: false schema: default: 50 description: The depth of a door in millimeters in rooms graphical representations example: 50 type: integer - description: Control if rows are labelled with their names in infrastructures graphical representations in: query name: parameters.row.labels required: false schema: default: true description: Control if rows are labelled with their names in infrastructures graphical representations example: true type: boolean - description: Space above row labels in infrastructure graphical representations in: query name: parameters.row.label_offset required: false schema: default: 20 description: Space above row labels in infrastructure graphical representations example: 20 type: integer - description: List of equipments coloring rules. in: query name: parameters.colors.equipments required: false schema: default: [] description: List of equipments coloring rules. example: [] items: $ref: '#/components/schemas/DrawingsEquipmentColoringRule' type: array - description: List of racks coloring rules. in: query name: parameters.colors.racks required: false schema: default: [] description: List of racks coloring rules. example: [] items: $ref: '#/components/schemas/DrawingsRackColoringRule' type: array - description: Axonometric graphical representation enabled? in: query name: parameters.axonometric.enabled required: false schema: default: false description: Axonometric graphical representation enabled? example: false type: boolean - description: X-angle in degrees in: query name: parameters.axonometric.angles.x required: false schema: default: 30 description: X-angle in degrees example: 30 type: integer - description: Z-angle in degrees in: query name: parameters.axonometric.angles.z required: false schema: default: 30 description: Z-angle in degrees example: 30 type: integer - allowEmptyValue: true description: Dump equipments and racks coordinates in diagrams. When this parameter is set, the mimetype of the response is `multipart/form-data`. in: query name: coordinates required: false schema: {} - description: Format of coordinates in: query name: coordinates_format required: false schema: default: json enum: - json - yaml type: string responses: '200': content: application/pdf: schema: format: binary type: string image/png: schema: format: binary type: string image/svg+xml: schema: type: string multipart/form-data: schema: format: binary type: string description: successful operation '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsupported entity, unable to load drawing parameters, unsupported image format, unsupported coordinates formator unable to load requested entity in database. '415': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsupported drawing parameters format. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unable to load drawing parameters schema. post: description: Draw an entity parameters: - description: Type of entity to draw in: path name: entity required: true schema: enum: - infrastructure - room type: string - description: Name of entity in: path name: name required: true schema: type: string - description: Format of the generated image in: path name: format required: true schema: default: png enum: - png - svg - pdf type: string - allowEmptyValue: true description: Dump equipments and racks coordinates in diagrams. When this parameter is set, the mimetype of the response is `multipart/form-data`. in: query name: coordinates required: false schema: {} - description: Format of coordinates in: query name: coordinates_format required: false schema: default: json enum: - json - yaml type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Drawings_content' application/x-yaml: schema: $ref: '#/components/schemas/Drawings_content' description: Drawing parameters responses: '200': content: application/pdf: schema: format: binary type: string image/png: schema: format: binary type: string image/svg+xml: schema: type: string multipart/form-data: schema: format: binary type: string description: successful operation '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsupported entity, unable to load drawing parameters, unsupported image format, unsupported coordinates formator unable to load requested entity in database. '415': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsupported drawing parameters format. '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unable to load drawing parameters schema. /v0.7.0/infrastructures: get: description: Get information about infrastructures parameters: - description: Filter infrastructures by name in: query name: name required: false schema: type: string - description: Filter infrastructures by tag explode: false in: query name: tags required: false schema: items: type: string type: array style: form - allowEmptyValue: true description: Get list of object names instead of full objects in: query name: list required: false schema: {} - allowEmptyValue: true description: Fold expandable objects in: query name: fold required: false schema: {} - allowEmptyValue: true description: Report object types in YAML dumps in: query name: with_objects_types required: false schema: {} - description: Select output format in: query name: format required: false schema: enum: - yaml - json type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RacksDBInfrastructure' type: array application/x-yaml: schema: items: $ref: '#/components/schemas/RacksDBInfrastructure' type: array description: successful operation /v0.7.0/nodes: get: description: Get information about nodes parameters: - description: Filter nodes by name in: query name: name required: false schema: type: string - description: Filter nodes by infrastructure in: query name: infrastructure required: false schema: type: string - description: Filter nodes by tag explode: false in: query name: tags required: false schema: items: type: string type: array style: form - allowEmptyValue: true description: Get list of object names instead of full objects in: query name: list required: false schema: {} - allowEmptyValue: true description: Fold expandable objects in: query name: fold required: false schema: {} - allowEmptyValue: true description: Report object types in YAML dumps in: query name: with_objects_types required: false schema: {} - description: Select output format in: query name: format required: false schema: enum: - yaml - json type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RacksDBNode' type: array application/x-yaml: schema: items: $ref: '#/components/schemas/RacksDBNode' type: array description: successful operation /v0.7.0/racks: get: description: Get information about racks parameters: - description: Filter racks by name in: query name: name required: false schema: type: string - allowEmptyValue: true description: Get list of object names instead of full objects in: query name: list required: false schema: {} - allowEmptyValue: true description: Fold expandable objects in: query name: fold required: false schema: {} - allowEmptyValue: true description: Report object types in YAML dumps in: query name: with_objects_types required: false schema: {} - description: Select output format in: query name: format required: false schema: enum: - yaml - json type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/RacksDBRack' type: array application/x-yaml: schema: items: $ref: '#/components/schemas/RacksDBRack' type: array description: successful operation /v0.7.0/tags: get: description: Get tags associated to infrastructure and equipment parameters: - description: Infrastructure name in: query name: infrastructure required: false schema: type: string - allowEmptyValue: true description: Get tags on nodes of an infrastructure in: query name: on-nodes required: false schema: {} - description: Node name in: query name: node required: false schema: type: string - description: Datacenter name in: query name: datacenter required: false schema: type: string - allowEmptyValue: true description: Get tags of racks in a datacenter in: query name: on-racks required: false schema: {} responses: '200': content: application/json: schema: items: type: string type: array application/x-yaml: schema: items: type: string type: array description: successful operation '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Missing request parameter. '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Requested objects not found in database.