├── .bintray-deb.json ├── .bintray-doc.json ├── .dockerignore ├── .gitignore ├── .hound.yml ├── .jshintrc ├── .travis.yml ├── Dockerfile ├── Gruntfile.js ├── HWIMO-BUILD ├── HWIMO-DOC ├── HWIMO-TEST ├── LICENSE ├── README.md ├── alpha ├── build_deb.sh ├── build_deb.yml ├── build_docker.sh ├── build_docker.yml ├── pipeline.yml ├── post_build_deb.yml ├── post_unittest.yml ├── set_dependencies.sh ├── unittest.sh └── unittest.yml ├── app.js ├── build-package.bash ├── data ├── dev-cert.pem ├── dev-key.pem ├── dev.pfx ├── rackhd_rsa ├── rackhd_rsa.pub └── views │ ├── catalogs.2.0.json │ ├── collection.2.0.json │ ├── error.2.0.json │ ├── file.2.0.json │ ├── files.md5.2.0.json │ ├── hook.2.0.json │ ├── ibms.2.0.json │ ├── node.2.0.json │ ├── obm.2.0.json │ ├── poller.2.0.json │ ├── redfish-1.0 │ ├── redfish.1.0.0.DCIMCoolingDomain.json │ ├── redfish.1.0.0.DCIMCoolingDomainCollection.json │ ├── redfish.1.0.0.DCIMCoolingTypeCollection.json │ ├── redfish.1.0.0.DCIMPowerDomain.json │ ├── redfish.1.0.0.DCIMPowerDomainCollection.json │ ├── redfish.1.0.0.DCIMPowerTypeCollection.json │ ├── redfish.1.0.0.accountservice.1.0.0.json │ ├── redfish.1.0.0.bios.1.0.0.json │ ├── redfish.1.0.0.bios.1.0.0.settings.json │ ├── redfish.1.0.0.chassis.1.0.0.json │ ├── redfish.1.0.0.chassiscollection.json │ ├── redfish.1.0.0.computersystem.1.0.0.json │ ├── redfish.1.0.0.computersystem.1.1.0.json │ ├── redfish.1.0.0.computersystemcollection.json │ ├── redfish.1.0.0.drive.1.0.0.json │ ├── redfish.1.0.0.ethernetinterface.1.0.0.json │ ├── redfish.1.0.0.ethernetinterfacecollection.json │ ├── redfish.1.0.0.eventdestination.json │ ├── redfish.1.0.0.eventdestinationcollection.json │ ├── redfish.1.0.0.eventservice.1.0.0.json │ ├── redfish.1.0.0.jsonschemafile.1.0.0.json │ ├── redfish.1.0.0.jsonschemafilecollection.json │ ├── redfish.1.0.0.logentry.1.0.0.json │ ├── redfish.1.0.0.logentrycollection.json │ ├── redfish.1.0.0.logservice.1.0.0.json │ ├── redfish.1.0.0.logservicecollection.json │ ├── redfish.1.0.0.manager.1.0.0.json │ ├── redfish.1.0.0.manageraccount.1.0.0.json │ ├── redfish.1.0.0.manageraccountcollection.json │ ├── redfish.1.0.0.managercollection.json │ ├── redfish.1.0.0.managernetworkprotocol.1.0.0.json │ ├── redfish.1.0.0.message.1.0.0.json │ ├── redfish.1.0.0.messageregistryfile.1.0.0.json │ ├── redfish.1.0.0.messageregistryfilecollection.1.0.0.json │ ├── redfish.1.0.0.networkdevicecollection.json │ ├── redfish.1.0.0.power.1.0.0.json │ ├── redfish.1.0.0.processor.1.0.0.json │ ├── redfish.1.0.0.processorcollection.json │ ├── redfish.1.0.0.rackhd.bootimage.json │ ├── redfish.1.0.0.rackhd.reset.actions.json │ ├── redfish.1.0.0.redfishstorage.1.0.0.json │ ├── redfish.1.0.0.role.1.0.0.json │ ├── redfish.1.0.0.rolecollection.json │ ├── redfish.1.0.0.secureboot.1.0.1.json │ ├── redfish.1.0.0.serialinterface.1.0.0.json │ ├── redfish.1.0.0.serialinterfacecollection.json │ ├── redfish.1.0.0.serviceroot.1.0.0.json │ ├── redfish.1.0.0.session.1.0.0.json │ ├── redfish.1.0.0.sessioncollection.json │ ├── redfish.1.0.0.sessionservice.1.0.0.json │ ├── redfish.1.0.0.simplestorage.1.0.0.json │ ├── redfish.1.0.0.simplestoragecollection.json │ ├── redfish.1.0.0.softwareinventory.json │ ├── redfish.1.0.0.softwareinventorycollection.json │ ├── redfish.1.0.0.storage.1.0.0.json │ ├── redfish.1.0.0.storagecollection.json │ ├── redfish.1.0.0.task.1.0.0.json │ ├── redfish.1.0.0.taskcollection.json │ ├── redfish.1.0.0.taskservice.1.0.0.json │ ├── redfish.1.0.0.thermal.1.0.0.json │ ├── redfish.1.0.0.updateservice.1.0.0.json │ ├── redfish.2016.3.computersystem.1.3.0.json │ ├── redfish.2016.3.drive.1.1.1.json │ ├── redfish.2016.3.storage.1.1.1.json │ ├── redfish.2016.3.storagecollection.json │ ├── redfish.2016.3.volume.1.0.2.json │ ├── redfish.2016.3.volumecollection.json │ ├── ucs.1.0.0.computersystem.1.3.0.json │ ├── ucs.1.0.0.processor.1.0.0.json │ ├── ucs.1.0.0.processorcollection.json │ ├── ucs.1.0.0.simplestorage.1.1.1.json │ ├── wsman.1.0.0.computersystem.1.0.0.json │ ├── wsman.1.0.0.lclogentry.1.0.0.json │ ├── wsman.1.0.0.lclogentrycollection.json │ ├── wsman.1.0.0.logentry.1.0.0.json │ ├── wsman.1.0.0.logentrycollection.json │ ├── wsman.1.0.0.processor.1.0.0.json │ ├── wsman.1.0.0.processorcollection.json │ └── wsman.1.0.0.simplestorage.1.0.0.json │ ├── renderable.2.0.json │ ├── sku-2.0.json │ ├── tags.2.0.json │ ├── tasks.2.0.json │ ├── users.2.0.json │ ├── workflowGraphs.2.0.json │ ├── workflowTasks.2.0.json │ └── workflows.2.0.json ├── debianstatic ├── on-http │ ├── changelog │ ├── compat │ ├── control │ ├── on-http.dirs │ ├── on-http.init │ ├── on-http.install │ ├── rules │ └── source │ │ └── format └── python-client │ ├── changelog.in │ ├── compat │ ├── control.in │ ├── postinst.in │ ├── python-{{name}}.dirs.in │ ├── python-{{name}}.install.in │ ├── rules │ └── source │ └── format ├── extra ├── Vagrantfile ├── make-cicd.sh ├── make-clean.sh ├── make-client.sh ├── make-deb.sh ├── make-docs.sh ├── make-npmdeps.sh ├── make-npmtest.sh ├── make-sysdeps.sh ├── make-testcoveralls.sh └── swagger-doc.js ├── index.js ├── install-swagger-ui.sh ├── install-task-doc.sh ├── install-web-ui.sh ├── lib ├── api │ ├── 2.0 │ │ ├── callback.js │ │ ├── catalogs.js │ │ ├── config.js │ │ ├── files.js │ │ ├── hooks.js │ │ ├── ibms.js │ │ ├── lookups.js │ │ ├── nodes.js │ │ ├── notification.js │ │ ├── obms.js │ │ ├── pollers.js │ │ ├── profiles.js │ │ ├── roles2.0.js │ │ ├── schemas2.js │ │ ├── skus.js │ │ ├── tags.js │ │ ├── tasks.js │ │ ├── templates.js │ │ ├── unimplemented.js │ │ ├── users.js │ │ ├── views.js │ │ ├── workflowGraphs.js │ │ ├── workflowTasks.js │ │ └── workflows.js │ ├── login │ │ └── login.js │ ├── redfish-1.0 │ │ ├── account-service.js │ │ ├── chassis.js │ │ ├── dcimcooling.js │ │ ├── dcimpower.js │ │ ├── event-service.js │ │ ├── managers.js │ │ ├── metadata.js │ │ ├── networks.js │ │ ├── odata.js │ │ ├── redfish-root.js │ │ ├── registry.js │ │ ├── roles.js │ │ ├── schemas.js │ │ ├── service-root.js │ │ ├── session-service.js │ │ ├── systems.js │ │ ├── task-service.js │ │ └── update-service.js │ └── view │ │ └── view.js ├── fittings │ ├── error_handler.js │ ├── rackhd_validator.js │ ├── swagger_authn.js │ ├── swagger_authz.js │ ├── swagger_locals.js │ ├── swagger_render.js │ └── swagger_serdes.js ├── serializables │ ├── .gitkeep │ └── v1 │ │ ├── boot.js │ │ ├── lookup.js │ │ ├── node.js │ │ ├── obm.js │ │ ├── snmp.js │ │ └── ssh.js └── services │ ├── account-api-service.js │ ├── auth-service.js │ ├── callback-api-service.js │ ├── catalogs-api-service.js │ ├── config-api-service.js │ ├── file-service.js │ ├── files │ └── file-plugin.js │ ├── hooks-api-service.js │ ├── http-service.js │ ├── nodes-api-service.js │ ├── notification-api-service.js │ ├── obm-api-service.js │ ├── pollers-api-service.js │ ├── profiles-api-service.js │ ├── redfish-api-service.js │ ├── rest-api-service.js │ ├── scheduler.proto │ ├── schema-api-service.js │ ├── sku-pack-service.js │ ├── static-files-api-service.js │ ├── swagger-api-service.js │ ├── tags-api-service.js │ ├── task-api-service.js │ ├── taskgraph-api-service.js │ ├── templates-api-service.js │ ├── upnp-service.js │ ├── versions-api-service.js │ ├── workflow-api-service.js │ └── wsman-service.js ├── migrate.js ├── npm-shrinkwrap.json ├── package.json ├── skupack.d └── README.md ├── spec ├── .jshintrc ├── helper.js ├── lib │ ├── api │ │ ├── 2.0 │ │ │ ├── callback-spec.js │ │ │ ├── catalogs-spec.js │ │ │ ├── config-spec.js │ │ │ ├── files-spec.js │ │ │ ├── hooks-spec.js │ │ │ ├── ibms-spec.js │ │ │ ├── lookups-spec.js │ │ │ ├── nodes-spec.js │ │ │ ├── notification-spec.js │ │ │ ├── obms-spec.js │ │ │ ├── pollers-spec.js │ │ │ ├── profiles-spec.js │ │ │ ├── roles2.0-spec.js │ │ │ ├── schemas-spec.js │ │ │ ├── skus-spec.js │ │ │ ├── tags-spec.js │ │ │ ├── tasks-spec.js │ │ │ ├── templates-spec.js │ │ │ ├── users-spec.js │ │ │ ├── views-spec.js │ │ │ ├── workflowGraphs-spec.js │ │ │ ├── workflowTasks-spec.js │ │ │ └── workflows-spec.js │ │ ├── login │ │ │ └── login-spec.js │ │ └── redfish-1.0 │ │ │ ├── account-service-spec.js │ │ │ ├── chassis-spec.js │ │ │ ├── dcimcooling-spec.js │ │ │ ├── dcimpower-spec.js │ │ │ ├── event-service-spec.js │ │ │ ├── managers-spec.js │ │ │ ├── metadata-spec.js │ │ │ ├── networks-spec.js.disable │ │ │ ├── odata-spec.js │ │ │ ├── redfish-root-spec.js │ │ │ ├── registry-spec.js │ │ │ ├── roles-spec.js │ │ │ ├── schemas-spec.js │ │ │ ├── service-root-spec.js │ │ │ ├── session-service-spec.js │ │ │ ├── system-spec.js │ │ │ ├── task-service-spec.js │ │ │ └── update-service-spec.js │ ├── common │ │ └── file-loader-spec.js │ ├── fittings │ │ └── json-error-handler-spec.js │ ├── serializables │ │ └── v1 │ │ │ ├── node-spec.js │ │ │ ├── obm-spec.js │ │ │ ├── snmp-spec.js │ │ │ └── ssh-spec.js │ └── services │ │ ├── account-api-service-spec.js │ │ ├── catalogs-api-service-spec.js │ │ ├── file-service-spec.js │ │ ├── files │ │ └── file-plugin-spec.js │ │ ├── gridfs-service-spec.js │ │ ├── hooks-api-service-spec.js │ │ ├── http-service-spec.js │ │ ├── nodes-api-service-spec.js │ │ ├── notification-api-service-spec.js │ │ ├── obm-api-service-spec.js │ │ ├── pollers-api-service-spec.js │ │ ├── profiles-api-service-spec.js │ │ ├── redfish-api-service-spec.js │ │ ├── rest-api-service-spec.js │ │ ├── schema-api-service-spec.js │ │ ├── sku-pack-service-spec.js │ │ ├── sku-static │ │ └── pack.tar.gz │ │ ├── static-files-api-service-spec.js │ │ ├── swagger-api-service-spec.js │ │ ├── tags-api-service-spec.js │ │ ├── taskgraph-api-service-spec.js │ │ ├── templates-api-service-spec.js │ │ ├── upnp-service-spec.js │ │ ├── versions-api-service-spec.js │ │ └── workflow-api-service-spec.js ├── mock-consul-server.js ├── mock-grpc.js └── mocks │ ├── skupack.d │ ├── skipped │ │ └── c-notRead │ └── sku-id │ │ └── static │ │ ├── common │ │ └── found-3 │ │ └── found-2 │ └── static │ ├── a-notRead │ ├── http │ ├── found │ └── foundFile2 │ └── temp │ └── b-notRead ├── static ├── .gitkeep ├── DSP-IS0005_0.1a │ ├── README-IS-0005.pdf │ ├── json-schema │ │ ├── AirHandlingUnit.json │ │ ├── AirHandlingUnitCollection.json │ │ ├── CRAC.json │ │ ├── CRACCollection.json │ │ ├── CRAH.json │ │ ├── CRAHCollection.json │ │ ├── Chiller.json │ │ ├── ChillerCollection.json │ │ ├── CoolingTower.json │ │ ├── CoolingTowerCollection.json │ │ ├── DCIMCooling.json │ │ ├── DCIMCoolingCollection.json │ │ ├── DCIMPower.json │ │ ├── DCIMPowerCollection.json │ │ ├── Generator.json │ │ ├── GeneratorCollection.json │ │ ├── PDU.json │ │ ├── PDUCollection.json │ │ ├── RackPDU.json │ │ ├── RackPDUCollection.json │ │ ├── Rectifier.json │ │ ├── RectifierCollection.json │ │ ├── Sensor.json │ │ ├── SensorCollection.json │ │ ├── ServiceRoot.json │ │ ├── ServiceRoot.v1_0_0.json │ │ ├── ServiceRoot.v1_0_2.json │ │ ├── ServiceRoot.v1_0_3.json │ │ ├── ServiceRoot.v1_0_4.json │ │ ├── ServiceRoot.v1_0_5.json │ │ ├── ServiceRoot.v1_1_0.json │ │ ├── ServiceRoot.v1_1_1.json │ │ ├── ServiceRoot.v1_1_2.json │ │ ├── ServiceRoot.v1_2_0.json │ │ ├── ServiceRoot.v1_3_0.json │ │ ├── Switchgear.json │ │ ├── SwitchgearCollection.json │ │ ├── TransferSwitch.json │ │ ├── TransferSwitchCollection.json │ │ ├── Transformer.json │ │ ├── TransformerCollection.json │ │ ├── UPS.json │ │ ├── UPSCollection.json │ │ ├── VFD.json │ │ └── VFDCollection.json │ └── metadata │ │ ├── AirHandlingUnitCollection_v1.xml │ │ ├── AirHandlingUnit_v1.xml │ │ ├── CRACCollection_v1.xml │ │ ├── CRAC_v1.xml │ │ ├── CRAHCollection_v1.xml │ │ ├── CRAH_v1.xml │ │ ├── ChillerCollection_v1.xml │ │ ├── Chiller_v1.xml │ │ ├── CoolingTowerCollection_v1.xml │ │ ├── CoolingTower_v1.xml │ │ ├── DCIMCoolingCollection_v1.xml │ │ ├── DCIMCooling_v1.xml │ │ ├── DCIMPowerCollection_v1.xml │ │ ├── DCIMPower_v1.xml │ │ ├── GeneratorCollection_v1.xml │ │ ├── Generator_v1.xml │ │ ├── PDUCollection_v1.xml │ │ ├── PDU_v1.xml │ │ ├── RackPDUCollection_v1.xml │ │ ├── RackPDU_v1.xml │ │ ├── RectifierCollection_v1.xml │ │ ├── Rectifier_v1.xml │ │ ├── SensorCollection_v1.xml │ │ ├── Sensor_v1.xml │ │ ├── SwitchgearCollection_v1.xml │ │ ├── Switchgear_v1.xml │ │ ├── TransferSwitchCollection_v1.xml │ │ ├── TransferSwitch_v1.xml │ │ ├── TransformerCollection_v1.xml │ │ ├── Transformer_v1.xml │ │ ├── UPSCollection_v1.xml │ │ ├── UPS_v1.xml │ │ ├── VFDCollection_v1.xml │ │ └── VFD_v1.xml ├── DSP8010_2016.3 │ ├── Base.1.0.0.json │ ├── README8010.html │ ├── README8010.pdf │ ├── json-schema-oem │ │ ├── MessageRegistryFile.1.0.0.json │ │ ├── MessageRegistryFile.json │ │ ├── MessageRegistryFileCollection.json │ │ ├── RackHD.BootImage.json │ │ └── RackHD.ResetAction.json │ ├── json-schema │ │ ├── AccountService.json │ │ ├── AccountService.v1_0_3.json │ │ ├── AccountService.v1_1_0.json │ │ ├── ActionInfo.json │ │ ├── ActionInfo.v1_0_1.json │ │ ├── AttributeRegistry.json │ │ ├── AttributeRegistry.v1_0_1.json │ │ ├── Bios.json │ │ ├── Bios.v1_0_1.json │ │ ├── Chassis.json │ │ ├── Chassis.v1_0_3.json │ │ ├── Chassis.v1_1_3.json │ │ ├── Chassis.v1_2_1.json │ │ ├── Chassis.v1_3_1.json │ │ ├── Chassis.v1_4_0.json │ │ ├── ChassisCollection.json │ │ ├── ComputerSystem.json │ │ ├── ComputerSystem.v1_0_4.json │ │ ├── ComputerSystem.v1_1_2.json │ │ ├── ComputerSystem.v1_2_1.json │ │ ├── ComputerSystem.v1_3_0.json │ │ ├── ComputerSystemCollection.json │ │ ├── Drive.json │ │ ├── Drive.v1_0_2.json │ │ ├── Drive.v1_1_1.json │ │ ├── Endpoint.json │ │ ├── Endpoint.v1_0_1.json │ │ ├── EndpointCollection.json │ │ ├── EthernetInterface.json │ │ ├── EthernetInterface.v1_0_3.json │ │ ├── EthernetInterface.v1_1_1.json │ │ ├── EthernetInterface.v1_2_0.json │ │ ├── EthernetInterfaceCollection.json │ │ ├── Event.json │ │ ├── Event.v1_0_4.json │ │ ├── Event.v1_1_2.json │ │ ├── EventDestination.json │ │ ├── EventDestination.v1_0_3.json │ │ ├── EventDestination.v1_1_1.json │ │ ├── EventDestinationCollection.json │ │ ├── EventService.json │ │ ├── EventService.v1_0_3.json │ │ ├── Fabric.json │ │ ├── Fabric.v1_0_1.json │ │ ├── FabricCollection.json │ │ ├── HostInterface.json │ │ ├── HostInterface.v1_0_0.json │ │ ├── HostInterfaceCollection.json │ │ ├── IPAddresses.v1_0_4.json │ │ ├── JsonSchemaFile.json │ │ ├── JsonSchemaFile.v1_0_3.json │ │ ├── JsonSchemaFileCollection.json │ │ ├── LogEntry.json │ │ ├── LogEntry.v1_0_3.json │ │ ├── LogEntry.v1_1_1.json │ │ ├── LogEntryCollection.json │ │ ├── LogService.json │ │ ├── LogService.v1_0_3.json │ │ ├── LogServiceCollection.json │ │ ├── Manager.json │ │ ├── Manager.v1_0_3.json │ │ ├── Manager.v1_1_1.json │ │ ├── Manager.v1_2_1.json │ │ ├── Manager.v1_3_0.json │ │ ├── ManagerAccount.json │ │ ├── ManagerAccount.v1_0_3.json │ │ ├── ManagerAccountCollection.json │ │ ├── ManagerCollection.json │ │ ├── ManagerNetworkProtocol.json │ │ ├── ManagerNetworkProtocol.v1_0_3.json │ │ ├── ManagerNetworkProtocol.v1_1_0.json │ │ ├── Memory.json │ │ ├── Memory.v1_0_1.json │ │ ├── Memory.v1_1_0.json │ │ ├── MemoryChunks.json │ │ ├── MemoryChunks.v1_0_1.json │ │ ├── MemoryChunksCollection.json │ │ ├── MemoryCollection.json │ │ ├── MemoryDomain.json │ │ ├── MemoryDomain.v1_0_1.json │ │ ├── MemoryDomain.v1_1_0.json │ │ ├── MemoryDomainCollection.json │ │ ├── MemoryMetrics.json │ │ ├── MemoryMetrics.v1_0_1.json │ │ ├── MemoryMetrics.v1_1_1.json │ │ ├── Message.v1_0_4.json │ │ ├── MessageRegistry.json │ │ ├── MessageRegistry.v1_0_3.json │ │ ├── MessageRegistryCollection.json │ │ ├── MessageRegistryFile.json │ │ ├── MessageRegistryFile.v1_0_3.json │ │ ├── MessageRegistryFileCollection.json │ │ ├── NetworkAdapter.json │ │ ├── NetworkAdapter.v1_0_0.json │ │ ├── NetworkAdapterCollection.json │ │ ├── NetworkDeviceFunction.json │ │ ├── NetworkDeviceFunction.v1_0_0.json │ │ ├── NetworkDeviceFunctionCollection.json │ │ ├── NetworkInterface.json │ │ ├── NetworkInterface.v1_0_0.json │ │ ├── NetworkInterfaceCollection.json │ │ ├── NetworkPort.json │ │ ├── NetworkPort.v1_0_0.json │ │ ├── NetworkPortCollection.json │ │ ├── PCIeDevice.json │ │ ├── PCIeDevice.v1_0_1.json │ │ ├── PCIeFunction.json │ │ ├── PCIeFunction.v1_0_1.json │ │ ├── PhysicalContext.v1_0_3.json │ │ ├── Port.json │ │ ├── Port.v1_0_1.json │ │ ├── PortCollection.json │ │ ├── Power.json │ │ ├── Power.v1_0_3.json │ │ ├── Power.v1_1_1.json │ │ ├── Power.v1_2_1.json │ │ ├── PrivilegeRegistry.json │ │ ├── PrivilegeRegistry.v1_0_0.json │ │ ├── Privileges.v1_0_3.json │ │ ├── Processor.json │ │ ├── Processor.v1_0_3.json │ │ ├── ProcessorCollection.json │ │ ├── RedfishExtensions.v1_0_0.json │ │ ├── Redundancy.json │ │ ├── Redundancy.v1_0_3.json │ │ ├── Redundancy.v1_1_1.json │ │ ├── Resource.json │ │ ├── Resource.v1_0_3.json │ │ ├── Resource.v1_1_2.json │ │ ├── Resource.v1_2_1.json │ │ ├── Resource.v1_3_0.json │ │ ├── Role.json │ │ ├── Role.v1_0_0.json │ │ ├── Role.v1_0_2.json │ │ ├── RoleCollection.json │ │ ├── SecureBoot.json │ │ ├── SecureBoot.v1_0_1.json │ │ ├── SerialInterface.json │ │ ├── SerialInterface.v1_0_3.json │ │ ├── SerialInterfaceCollection.json │ │ ├── ServiceRoot.json │ │ ├── ServiceRoot.v1_0_4.json │ │ ├── ServiceRoot.v1_1_1.json │ │ ├── Session.json │ │ ├── Session.v1_0_3.json │ │ ├── SessionCollection.json │ │ ├── SessionService.json │ │ ├── SessionService.v1_0_3.json │ │ ├── SessionService.v1_1_1.json │ │ ├── Settings.v1_0_3.json │ │ ├── SimpleStorage.json │ │ ├── SimpleStorage.v1_0_3.json │ │ ├── SimpleStorage.v1_1_1.json │ │ ├── SimpleStorageCollection.json │ │ ├── SoftwareInventory.json │ │ ├── SoftwareInventory.v1_0_1.json │ │ ├── SoftwareInventory.v1_1_0.json │ │ ├── SoftwareInventoryCollection.json │ │ ├── Storage.json │ │ ├── Storage.v1_0_2.json │ │ ├── Storage.v1_1_1.json │ │ ├── StorageCollection.json │ │ ├── Switch.json │ │ ├── Switch.v1_0_1.json │ │ ├── SwitchCollection.json │ │ ├── Task.json │ │ ├── Task.v1_0_3.json │ │ ├── TaskCollection.json │ │ ├── TaskService.json │ │ ├── TaskService.v1_0_0.json │ │ ├── TaskService.v1_0_3.json │ │ ├── Thermal.json │ │ ├── Thermal.v1_0_3.json │ │ ├── Thermal.v1_1_1.json │ │ ├── Thermal.v1_2_0.json │ │ ├── UpdateService.json │ │ ├── UpdateService.v1_0_1.json │ │ ├── UpdateService.v1_1_0.json │ │ ├── VLanNetworkInterface.json │ │ ├── VLanNetworkInterface.v1_0_3.json │ │ ├── VLanNetworkInterfaceCollection.json │ │ ├── VirtualMedia.json │ │ ├── VirtualMedia.v1_0_3.json │ │ ├── VirtualMediaCollection.json │ │ ├── Volume.json │ │ ├── Volume.v1_0_2.json │ │ ├── VolumeCollection.json │ │ ├── Zone.json │ │ ├── Zone.v1_0_1.json │ │ ├── ZoneCollection.json │ │ └── odata.4.0.0.json │ └── metadata │ │ ├── AccountService_v1.xml │ │ ├── ActionInfo_v1.xml │ │ ├── AttributeRegistry_v1.xml │ │ ├── Bios_v1.xml │ │ ├── ChassisCollection_v1.xml │ │ ├── Chassis_v1.xml │ │ ├── ComputerSystemCollection_v1.xml │ │ ├── ComputerSystem_v1.xml │ │ ├── Drive_v1.xml │ │ ├── EndpointCollection_v1.xml │ │ ├── Endpoint_v1.xml │ │ ├── EthernetInterfaceCollection_v1.xml │ │ ├── EthernetInterface_v1.xml │ │ ├── EventDestinationCollection_v1.xml │ │ ├── EventDestination_v1.xml │ │ ├── EventService_v1.xml │ │ ├── Event_v1.xml │ │ ├── FabricCollection_v1.xml │ │ ├── Fabric_v1.xml │ │ ├── HostInterfaceCollection_v1.xml │ │ ├── HostInterface_v1.xml │ │ ├── IPAddresses_v1.xml │ │ ├── JsonSchemaFileCollection_v1.xml │ │ ├── JsonSchemaFile_v1.xml │ │ ├── LogEntryCollection_v1.xml │ │ ├── LogEntry_v1.xml │ │ ├── LogServiceCollection_v1.xml │ │ ├── LogService_v1.xml │ │ ├── ManagerAccountCollection_v1.xml │ │ ├── ManagerAccount_v1.xml │ │ ├── ManagerCollection_v1.xml │ │ ├── ManagerNetworkProtocol_v1.xml │ │ ├── Manager_v1.xml │ │ ├── MemoryChunksCollection_v1.xml │ │ ├── MemoryChunks_v1.xml │ │ ├── MemoryCollection_v1.xml │ │ ├── MemoryDomainCollection_v1.xml │ │ ├── MemoryDomain_v1.xml │ │ ├── MemoryMetrics_v1.xml │ │ ├── Memory_v1.xml │ │ ├── MessageRegistryCollection_v1.xml │ │ ├── MessageRegistryFileCollection_v1.xml │ │ ├── MessageRegistryFile_v1.xml │ │ ├── MessageRegistry_v1.xml │ │ ├── Message_v1.xml │ │ ├── NetworkAdapterCollection_v1.xml │ │ ├── NetworkAdapter_v1.xml │ │ ├── NetworkDeviceFunctionCollection_v1.xml │ │ ├── NetworkDeviceFunction_v1.xml │ │ ├── NetworkInterfaceCollection_v1.xml │ │ ├── NetworkInterface_v1.xml │ │ ├── NetworkPortCollection_v1.xml │ │ ├── NetworkPort_v1.xml │ │ ├── PCIeDevice_v1.xml │ │ ├── PCIeFunction_v1.xml │ │ ├── PhysicalContext_v1.xml │ │ ├── PortCollection_v1.xml │ │ ├── Port_v1.xml │ │ ├── Power_v1.xml │ │ ├── PrivilegeRegistry_v1.xml │ │ ├── Privileges_v1.xml │ │ ├── ProcessorCollection_v1.xml │ │ ├── Processor_v1.xml │ │ ├── RedfishExtensions_v1.xml │ │ ├── Redundancy_v1.xml │ │ ├── Resource_v1.xml │ │ ├── RoleCollection_v1.xml │ │ ├── Role_v1.xml │ │ ├── SecureBoot_v1.xml │ │ ├── SerialInterfaceCollection_v1.xml │ │ ├── SerialInterface_v1.xml │ │ ├── ServiceRoot_v1.xml │ │ ├── SessionCollection_v1.xml │ │ ├── SessionService_v1.xml │ │ ├── Session_v1.xml │ │ ├── Settings_v1.xml │ │ ├── SimpleStorageCollection_v1.xml │ │ ├── SimpleStorage_v1.xml │ │ ├── SoftwareInventoryCollection_v1.xml │ │ ├── SoftwareInventory_v1.xml │ │ ├── StorageCollection_v1.xml │ │ ├── Storage_v1.xml │ │ ├── SwitchCollection_v1.xml │ │ ├── Switch_v1.xml │ │ ├── TaskCollection_v1.xml │ │ ├── TaskService_v1.xml │ │ ├── Task_v1.xml │ │ ├── Thermal_v1.xml │ │ ├── UpdateService_v1.xml │ │ ├── VLanNetworkInterfaceCollection_v1.xml │ │ ├── VLanNetworkInterface_v1.xml │ │ ├── VirtualMediaCollection_v1.xml │ │ ├── VirtualMedia_v1.xml │ │ ├── VolumeCollection_v1.xml │ │ ├── Volume_v1.xml │ │ ├── ZoneCollection_v1.xml │ │ └── Zone_v1.xml ├── apidoc │ ├── footer.md │ └── header.md ├── files │ └── .gitkeep ├── http │ └── .gitkeep ├── monorail-2.0-sb.yaml ├── monorail-2.0.yaml ├── monorail.yml ├── redfish-root.yaml ├── redfish.yaml ├── redfishMetadata.xml ├── schemas │ ├── 2.0 │ │ ├── hooks.2.0.json │ │ ├── lookups.2.0.json │ │ ├── node.2.0.json │ │ ├── poller.2.0.json │ │ ├── relations.2.0.json │ │ ├── skus.2.0.json │ │ ├── tags.2.0.json │ │ ├── user.2.0.json │ │ └── workflowGraphs.2.0.json │ ├── ibms │ │ ├── snmp-ibm-service.json │ │ └── ssh-ibm-service.json │ └── obms │ │ ├── amt-obm-service.json │ │ ├── apc-obm-service.json │ │ ├── dell-wsman-obm-service.json │ │ ├── ipmi-obm-service.json │ │ ├── noop-obm-service.json │ │ ├── panduit-obm-service.json │ │ ├── raritan-obm-service.json │ │ ├── redfish-obm-service.json │ │ ├── servertech-obm-service.json │ │ ├── snmp-obm-service.json │ │ ├── vbox-obm-service.json │ │ └── vmrun-obm-service.json ├── taskdoc │ └── api_project.js └── upnp │ ├── rackhd.png │ ├── upnp-device-description.xml.in │ ├── upnp-on-http-api1.1.xml │ ├── upnp-on-http-api2.0.xml │ └── upnp-on-http-redfish-1.0.xml ├── swagger_config └── default.yaml └── version /.bintray-deb.json: -------------------------------------------------------------------------------- 1 | { 2 | "package": { 3 | "name": "packages", 4 | "repo": "debian", 5 | "subject": "rackhd" 6 | }, 7 | 8 | "version": { 9 | "name": "master" 10 | }, 11 | 12 | "files": 13 | [ 14 | { 15 | "includePattern": "deb/(.*)", "uploadPattern": "dists/trusty/main/binary-amd64/$1", 16 | "matrixParams": 17 | { 18 | "override": 1, 19 | "deb_distribution": "trusty", 20 | "deb_component": "main", 21 | "deb_architecture": "amd64" 22 | } 23 | } 24 | ], 25 | "publish": true 26 | } 27 | -------------------------------------------------------------------------------- /.bintray-doc.json: -------------------------------------------------------------------------------- 1 | { 2 | "package": { 3 | "name": "apidoc", 4 | "repo": "docs", 5 | "subject": "rackhd" 6 | }, 7 | 8 | "version": { 9 | "name": "master" 10 | }, 11 | 12 | "files": 13 | [ 14 | { 15 | "includePattern": "build/swagger-doc/(.+\.pdf)", "uploadPattern": "$1" 16 | } 17 | ], 18 | "publish": true 19 | } 20 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .bintray.json 2 | .dockerignore 3 | .git 4 | .gitignore 5 | .hound.yml 6 | .jshintrc 7 | .travis.yml 8 | build-package.bash 9 | debianstatic/ 10 | extra/ 11 | Dockerfile 12 | Gruntfile.js 13 | HWIMO-* 14 | LICENSE 15 | migrate.js 16 | node_modules/ 17 | README.md 18 | spec/ 19 | static/web-ui/ 20 | static/swagger-ui/ 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | .DS_Store 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | xunit.xml 17 | checkstyle-result.xml 18 | 19 | #jsdoc 20 | docs 21 | 22 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 23 | .grunt 24 | .tmp 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | #Config overrride 30 | overrides.json 31 | 32 | # Dependency directory 33 | # Commenting this out is preferred by some people, see 34 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 35 | node_modules 36 | 37 | # Users Environment Variables 38 | .lock-wscript 39 | 40 | # IDE 41 | .idea 42 | .vscode/ 43 | 44 | # static images 45 | static/ansible/ 46 | static/files/* 47 | !static/files/.gitkeep 48 | static/http/ 49 | static/smb/ 50 | static/tftp/ 51 | static/web-ui/ 52 | static/swagger-ui/ 53 | static/*-patch.yaml 54 | static/taskdoc 55 | static/upnp/upnp-device-description.xml 56 | 57 | # skupack.d 58 | !skupack.d 59 | skupack.d/* 60 | !skupack.d/README.md 61 | 62 | build/ 63 | 64 | # HWIMO-BUILD artifacts 65 | on-http_*.dsc 66 | on-http_*.tar.[gx]z 67 | on-http_*.build 68 | on-http_*.changes 69 | on-http_*.deb 70 | packagebuild 71 | 72 | # Vagrant 73 | .vagrant/ 74 | -------------------------------------------------------------------------------- /.hound.yml: -------------------------------------------------------------------------------- 1 | jshint: 2 | config_file: .jshintrc 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright 2016, EMC, Inc. 2 | 3 | ARG repo=rackhd 4 | ARG tag=devel 5 | 6 | FROM ${repo}/on-tasks:${tag} 7 | 8 | COPY . /RackHD/on-http/ 9 | WORKDIR /RackHD/on-http 10 | 11 | RUN mkdir -p ./node_modules \ 12 | && apt-get update \ 13 | && apt-get install -y unzip curl \ 14 | && npm install apidoc@^0.12.1 \ 15 | && npm install --production \ 16 | && npm run taskdoc \ 17 | && /RackHD/on-http/install-web-ui.sh \ 18 | && /RackHD/on-http/install-swagger-ui.sh \ 19 | && rm -r ./node_modules/on-tasks ./node_modules/on-core ./node_modules/di \ 20 | && ln -s /RackHD/on-tasks ./node_modules/on-tasks \ 21 | && ln -s /RackHD/on-core ./node_modules/on-core \ 22 | && ln -s /RackHD/on-core/node_modules/di ./node_modules/di 23 | 24 | EXPOSE 9080 9090 25 | VOLUME /RackHD/on-http/static/http/common 26 | CMD [ "node", "/RackHD/on-http/index.js" ] 27 | -------------------------------------------------------------------------------- /HWIMO-DOC: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2015, EMC, Inc. 4 | 5 | set -e 6 | set -x 7 | 8 | rm -rf node_modules 9 | npm install 10 | npm run apidoc 11 | npm run taskdoc 12 | 13 | -------------------------------------------------------------------------------- /alpha/build_deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | ./alpha/set_dependencies.sh 4 | 5 | ./HWIMO-BUILD 6 | pwd 7 | ls -l 8 | cp *.deb ../build 9 | -------------------------------------------------------------------------------- /alpha/build_deb.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: on-http 6 | - name: on-tasks 7 | - name: on-core 8 | - name: manifest-artifactory 9 | outputs: 10 | - name: build 11 | 12 | run: 13 | path: "alpha/build_deb.sh" 14 | dir: "on-http" 15 | -------------------------------------------------------------------------------- /alpha/build_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | if [ "${VERIFY_DEP}" == "true" ]; then 4 | COMMIT=$(cat $(ls ../manifest-artifactory/manifest*.json) | jq -r .onhttp.commit) 5 | git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pull/* 6 | git fetch 7 | git checkout $COMMIT 8 | export ONTASKS_TAG=$(<../on-tasks-docker/digest) 9 | sed -i "s/^FROM.*/FROM $REGISTRY\/${REPO_OWNER}\/on-tasks@${ONTASKS_TAG}/" ./Dockerfile 10 | fi 11 | cat Dockerfile 12 | cp -rf * ../build 13 | -------------------------------------------------------------------------------- /alpha/build_docker.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: on-http 6 | - name: manifest-artifactory 7 | - name: on-tasks-docker 8 | outputs: 9 | - name: build 10 | 11 | run: 12 | path: "alpha/build_docker.sh" 13 | dir: "on-http" 14 | -------------------------------------------------------------------------------- /alpha/pipeline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | resources: 3 | - name: on-http 4 | type: git 5 | source: 6 | uri: https://github.com/geoff-reid/on-http.git 7 | 8 | jobs: 9 | - name: job-unittest-on-http 10 | public: true 11 | plan: 12 | - get: on-http 13 | trigger: true 14 | - task: run-unittest 15 | file: on-http/alpha/unittest.yml 16 | -------------------------------------------------------------------------------- /alpha/post_build_deb.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: on-http 6 | outputs: 7 | - name: build 8 | 9 | run: 10 | path: "alpha/build_deb.sh" 11 | dir: "on-http" 12 | -------------------------------------------------------------------------------- /alpha/post_unittest.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: on-http 6 | 7 | run: 8 | path: "alpha/unittest.sh" 9 | dir: "on-http" 10 | -------------------------------------------------------------------------------- /alpha/set_dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | if [ "${VERIFY_DEP}" == "true" ]; then 4 | COMMIT=$(cat $(ls ../manifest-artifactory/manifest*.json) | jq -r .onhttp.commit) 5 | git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pull/* 6 | git fetch 7 | git checkout $COMMIT 8 | pushd ../on-tasks 9 | COMMIT=$(cat $(ls ../manifest-artifactory/manifest*.json) | jq -r .ontasks.commit) 10 | git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pull/* 11 | git fetch 12 | git checkout $COMMIT 13 | rm -rf .git 14 | popd 15 | pushd ../on-core 16 | COMMIT=$(cat $(ls ../manifest-artifactory/manifest*.json) | jq -r .oncore.commit) 17 | git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pull/* 18 | git fetch 19 | git checkout $COMMIT 20 | rm -rf .git 21 | popd 22 | mkdir -p node_modules 23 | 24 | # Map on-tasks 25 | pushd ../ 26 | mkdir -p on-tasks/node_modules 27 | ln -s $(pwd)/on-tasks $(pwd)/on-http/node_modules/on-tasks 28 | ln -s $(pwd)/on-core $(pwd)/on-tasks/node_modules/on-core 29 | popd 30 | # Map on-core 31 | pushd ../ 32 | ln -s $(pwd)/on-core $(pwd)/on-http/node_modules/on-core 33 | popd 34 | 35 | # Run npm install for on-tasks and on-core 36 | pushd ../on-tasks 37 | npm install 38 | popd 39 | pushd ../on-core 40 | npm install 41 | popd 42 | fi 43 | -------------------------------------------------------------------------------- /alpha/unittest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | ./alpha/set_dependencies.sh 3 | service rabbitmq-server start 4 | /usr/bin/mongod --fork --logpath /var/log/mongodb/monngod.log 5 | ./install-swagger-ui.sh 6 | npm install 7 | ./node_modules/.bin/_mocha $(find spec -name '*-spec.js') --timeout 10000 --require spec/helper.js 8 | -------------------------------------------------------------------------------- /alpha/unittest.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | inputs: 5 | - name: on-http 6 | - name: on-core 7 | - name: on-tasks 8 | - name: manifest-artifactory 9 | 10 | run: 11 | path: "alpha/unittest.sh" 12 | dir: "on-http" 13 | -------------------------------------------------------------------------------- /build-package.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEBDIR="./debianstatic/${1}" 3 | BRANCH=${2} 4 | set -x 5 | 6 | if [ ! -d "${DEBDIR}" ]; then 7 | echo "no such debian directory ${DEBDIR}" 8 | exit 1 9 | fi 10 | 11 | rm -rf ${1}_* 12 | rm -rf packagebuild 13 | mkdir -p packagebuild/debian 14 | 15 | git log -n 1 --pretty=format:%h.%ai.%s > commitstring.txt 16 | if [ -z "$DEBFULLNAME" ]; then 17 | export DEBFULLNAME=`git log -n 1 --pretty=format:%an` 18 | fi 19 | 20 | if [ -z "$DEBEMAIL" ]; then 21 | export DEBEMAIL=`git log -n 1 --pretty=format:%ae` 22 | fi 23 | 24 | if [ -z "$DEBBRANCH" ]; then 25 | export DEBBRANCH=`echo "${BRANCH}" | sed 's/[\/\_]/-/g'` 26 | fi 27 | 28 | if [ -z "$DEBPKGVER" ]; then 29 | export DEBPKGVER=`git log -n 1 --pretty=oneline --abbrev-commit` 30 | fi 31 | 32 | if [ -z "$DCHOPTS" ]; then 33 | export DCHOPTS="-l ${DEBBRANCH} -u low ${DEBPKGVER}" 34 | fi 35 | 36 | echo "DEBDIR: $DEBDIR" 37 | echo "DEBFULLNAME: $DEBFULLNAME" 38 | echo "DEBEMAIL: $DEBEMAIL" 39 | echo "DEBBRANCH: $DEBBRANCH" 40 | echo "DEBPKGVER: $DEBPKGVER" 41 | echo "DCHOPTS: $DCHOPTS" 42 | 43 | 44 | rsync -ar --exclude=packagebuild \ 45 | --exclude=debianstatic . packagebuild 46 | pushd packagebuild 47 | rsync -ar ../${DEBDIR}/ debian/ 48 | 49 | cat > /tmp/sed.script << EOF 50 | s%{{name}}%${3}% 51 | EOF 52 | 53 | find ./debian -type f -iname "*.in" -print0 | while IFS= read -r -d $'\0' file; do 54 | outFile=$(echo $file | sed -f /tmp/sed.script) 55 | cat $file | sed -f /tmp/sed.script > ${outFile%.in} 56 | rm $file 57 | done 58 | rm /tmp/sed.script 59 | 60 | dch ${DCHOPTS} 61 | debuild --no-lintian --no-tgz-check -us -uc 62 | popd 63 | -------------------------------------------------------------------------------- /data/dev-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICsjCCAhugAwIBAgIJAIl9pLsmOe3RMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV 3 | BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX 4 | aWRnaXRzIFB0eSBMdGQwIBcNMTUwMTE1MjM0MDI4WhgPMzAxNDA1MTgyMzQwMjha 5 | MEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJ 6 | bnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ 7 | AoGBAKVD4nSUMCCv7JZajaaJcHx4vuQtKHnM+e02ldaaaYLYWN5jPu/7XLOTdLEO 8 | 5FWFJBqB1BVh/v+yadz4JKdpkFs8dF/W5oejIfttoOETSRUA5m9H8J6C5IFq56Ed 9 | 9I8pdSOn8RM1r3U900Rvx8XWfr8sxQvamfvMQqAJctcea96nAgMBAAGjgacwgaQw 10 | HQYDVR0OBBYEFAAlOtAP7he0rdTtHWCMY93HGPlqMHUGA1UdIwRuMGyAFAAlOtAP 11 | 7he0rdTtHWCMY93HGPlqoUmkRzBFMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29t 12 | ZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkggkAiX2k 13 | uyY57dEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQB2vvY/PlHRHWNd 14 | hhNdxDtTHT6oi7rOnfZ6cAX0uUwWgPzQldlIbsgBpYQ3dueC7avCE7lxfU6Ev5Di 15 | btdcSnj4t1X8qunD6nefX98EwegJpd6RNdHwUnHCP9lRFTb6RtJEzY3Wwf/MLGOC 16 | p779AandWmwv+QgN0LiIvpnSl9QCTw== 17 | -----END CERTIFICATE----- 18 | -------------------------------------------------------------------------------- /data/dev-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXAIBAAKBgQClQ+J0lDAgr+yWWo2miXB8eL7kLSh5zPntNpXWmmmC2FjeYz7v 3 | +1yzk3SxDuRVhSQagdQVYf7/smnc+CSnaZBbPHRf1uaHoyH7baDhE0kVAOZvR/Ce 4 | guSBauehHfSPKXUjp/ETNa91PdNEb8fF1n6/LMUL2pn7zEKgCXLXHmvepwIDAQAB 5 | AoGARlNM2i71C/PQyWpfPK7fnxgCozZUMwB2merQeDHdFEDcEEZLUfO0zvXAglfD 6 | 8mBlrKHyjebVjBlv0wgFEPhq5LkUg2XsBQJyj3DWVU+Q8hrf3PCZIQqO7LYak+i9 7 | mo5XuvtDLLW4Pax57xj7vDh4nxgZyyQjFBP3SWYees04z4ECQQDPrvboYfIdWoZS 8 | Yomdt1KhB4rDuzYWJDXuvJGOEmANHP5xQcc5mJYx1FxWnVzhtgfULcThypnfw4fV 9 | lqCGgXHrAkEAy7abp2/GTG3Y8vJ/pfrnt/n+EXHnlUnZK+iVChFyanW6aMkSxPdo 10 | xUemRbc2r9snHCT66RxqYLc5a3PswXKbNQJAIj2RfaywU0CahriyQat41w28Rhr2 11 | ht3/elXilY7YATF3jcqvgwJyONLvSmR1bM0rK0NEg4l4pxjAq2lDHAn5cwJBAJP5 12 | WEWevqdD36RSHAEAKZONJ02atMLPes4XSzOeCsNkMvzsmhKzOMqcyh24ASRqh5U9 13 | E3mDJ46LaU0xTtgSHMUCQF8fu69J3XzAC9XuJPfmJMTpatO1cvfV86en7GWTN6ns 14 | j2zdnpxHUlp3WDPLlxOETrrkqsrv5bmmk8EB6a54xrQ= 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /data/dev.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/data/dev.pfx -------------------------------------------------------------------------------- /data/rackhd_rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEh48tb2BGtLILBhs9TygDqzLrGTZjnWn4ag336p5InXVOa4kIoifwh+jplXrqdoyFkMtWg6hYhh52cdyIkoNtbLcTitQe7LMPT2OQ19bSWjM5PEJj8yT9IspFyVVqbFfS4PC2lj10a7ZF8zPsk2SIkqrCWUP87gEf8nDQbaMuYryzGqiVHMpCmFIn2CzijzLIOOJ8jusfmIM0oB+sE5piPtKCBLUWlTE2CGR1auaOACt0Z9o6u22N4KHEFPRCp0CkP4VX7LJ41X0zlyLnk8PZSDh8y2Kp7KKHYxzCJ1qKSQv9jK3DUbubm8jptM30QM8ehhFTZq40FEBKXVqe5eDq90ib0NKPcUn/IZWU/a4/Cg+aq4z1lyUHBC05tbIQOiG/szl5xrA8PcGP80cfvHpv4Zig7OE5XYW143LiVSHSS3SwLkSwKLpZLnwoHvX2keYKC32cpCWDNgeiFpbh9iws6vxBnBX9uJwaxzP3eXQX1b3sE8wggj9DxvimWMds8G2B3OZFg680Y987wfa/z0LSTSxF2q1kSLA7yELN1HGl7Ij6t12kkzJtqycLe8DKAmnO7D9Rbhm3+D+rKNNX/v6OjtDeXn0RwYLgkyyKRrf0KC5xL1pt7/ietMAnUXwjpuk5pw/XvK8vu3mIugAfKHlRvTDdZqIoYb7z7c2KAoyZZw== example RackHD 2 | -------------------------------------------------------------------------------- /data/views/catalogs.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "<%= id %>", 3 | "node": "<%=basepath%>/nodes/<%=node%>", 4 | <% if ( typeof(createdAt.toISOString) === "function" ) { %> 5 | "createdAt": "<%= createdAt.toISOString() %>", 6 | <% } else { %> 7 | "createdAt": "<%= createdAt %>", 8 | <% } %> 9 | <% if ( typeof(updatedAt.toISOString) === "function" ) { %> 10 | "updatedAt": "<%= updatedAt.toISOString() %>", 11 | <% } else { %> 12 | "updatedAt": "<%= updatedAt %>", 13 | <% } %> 14 | 15 | <% if (source !== null) { %> 16 | "source": "<%= source %>", 17 | <% } else { %> 18 | "source": null, 19 | <% } %> 20 | 21 | <% if (data !== null) { %> 22 | "data": <%- JSON.stringify(data) %> 23 | <% } else { %> 24 | "data": null 25 | <% } %> 26 | } 27 | -------------------------------------------------------------------------------- /data/views/collection.2.0.json: -------------------------------------------------------------------------------- 1 | [<% collection.forEach(function(element, i, arr) { %> 2 | <%- element %><%= ( arr.length > 0 && i < arr.length-1 ) ? ',' : '' %> 3 | <% }); %>] 4 | -------------------------------------------------------------------------------- /data/views/error.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "message": "<%=message%>", 3 | "status": "<%=status%>", 4 | "UUID": "<%=uuid%>" 5 | <% if (hasOwnProperty("errors")) { %> 6 | ,"errors": [ 7 | <% errors.forEach(function ( item, i, arr){ %> 8 | "<%=item %>" 9 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 10 | <% }); %> 11 | ] 12 | <% } %> 13 | <% if (hasOwnProperty("stack")) { %> 14 | ,"stack": [ 15 | <% stack.forEach(function ( item, i, arr){ %> 16 | "<%=item %>" 17 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 18 | <% }); %> 19 | ] 20 | <% } %> 21 | } 22 | -------------------------------------------------------------------------------- /data/views/file.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%=basename%>", 3 | "uuid": "<%=uuid%>", 4 | "md5": "<%=md5%>", 5 | "sha256": "<%=sha256%>" 6 | } 7 | -------------------------------------------------------------------------------- /data/views/files.md5.2.0.json: -------------------------------------------------------------------------------- 1 | "<%=md5%>" -------------------------------------------------------------------------------- /data/views/hook.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "<%=url%>", 3 | "id": "<%=id%>", 4 | <% if (typeof name !== "undefined") {%> 5 | "name": "<%=name%>", 6 | <% } %> 7 | "filters": <%- JSON.stringify(filters)%> 8 | } 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/views/ibms.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id" : "<%=id%>", 3 | <% if (node !== null) { %> 4 | "node": "<%=basepath%>/nodes/<%=node%>", 5 | <% } %> 6 | "service": "<%= service %>", 7 | "config": <%- JSON.stringify(config) %> 8 | } 9 | -------------------------------------------------------------------------------- /data/views/obm.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id" : "<%=id%>", 3 | <% if (node !== null) { %> 4 | "node": "<%=basepath%>/nodes/<%=node%>", 5 | <% } %> 6 | "service": "<%= service %>", 7 | "config": <%- JSON.stringify(config) %> 8 | } 9 | -------------------------------------------------------------------------------- /data/views/poller.2.0.json: -------------------------------------------------------------------------------- 1 | <% 2 | var type = _.findKey(Constants.WorkItems.Pollers, function(value) { 3 | return value === name; 4 | }); 5 | %> 6 | { 7 | "id": "<%=id%>", 8 | "type": "<%=type.toLowerCase()%>", 9 | "pollInterval": <%=pollInterval%>, 10 | <% if (node !== null) { %> 11 | "node": "<%=basepath%>/nodes/<%=node%>", 12 | <% } else { %> 13 | "node": null, 14 | <% } %> 15 | "config": <%-JSON.stringify(config)%>, 16 | <% if (lastStarted !== null) { %> 17 | "lastStarted": "<%=lastStarted%>", 18 | <% } else { %> 19 | "lastStarted": null, 20 | <% } %> 21 | <% if (lastFinished !== null) { %> 22 | "lastFinished": "<%=lastFinished%>", 23 | <% } else { %> 24 | "lastFinished": null, 25 | <% } %> 26 | "paused": <%=paused%>, 27 | "failureCount": <%=failureCount%> 28 | } 29 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMCoolingDomain.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#DCIMCooling.v1_0_0.DCIMCooling", 3 | "Id": "<%=domain%>", 4 | "Name": "DCIMCooling <%=domain%> Domain", 5 | "DCIMCoolingType": "Domain", 6 | "Status": { 7 | "State": "Enabled", 8 | "Health": "OK" 9 | }, 10 | 11 | <% types.forEach(function(type) { %> 12 | "<%=type%>": 13 | { 14 | "@odata.id": "<%=basepath%>/DCIMCooling/<%=domain%>/<%=type%>" 15 | }, 16 | <% }); %> 17 | 18 | "Links": { 19 | "Chassis": [ 20 | { 21 | } 22 | ], 23 | "ManagedBy": [ 24 | { 25 | } 26 | ], 27 | "RelatedSystems": [ 28 | { 29 | } 30 | ] 31 | }, 32 | "@odata.context": "/redfish/v1/$metadata#DCIMCooling.DCIMCooling", 33 | "@odata.id": "/redfish/v1/DCIMCooling/<%=domain%>" 34 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMCoolingDomainCollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "/redfish/v1/$metadata#DCIMCoolingCollection.DCIMCoolingCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#DCIMCoolingCollection.DCIMCoolingCollection", 5 | "Oem" : {}, 6 | "Name": "DCIMCooling Collection", 7 | "Members@odata.count": <%= domains.length %>, 8 | "Members": [ 9 | <% domains.forEach(function(domain, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/DCIMCooling/<%=domain %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMCoolingTypeCollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#<%=type%>Collection.<%=type%>Collection", 3 | "Name": "<%=type%> Collection", 4 | "Members@odata.count": <%= nodes.length %>, 5 | 6 | "Members": [ 7 | <% nodes.forEach(function(node, i, arr) { %> 8 | 9 | { 10 | "@odata.id": "<%= basepath %>/DCIMCooling/<%=node.identifiers[2]%>/<%=node.identifiers[3]%>/<%= node.id %>" 11 | } 12 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 13 | <% }); %> 14 | 15 | ], 16 | "@odata.context": "/redfish/v1/$metadata#<%=type%>Collection", 17 | "@odata.id": "/redfish/v1/DCIMCooling/<%=domain%>/<%=type%>" 18 | } 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMPowerDomain.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#DCIMPower.v1_0_0.DCIMPower", 3 | "Id": "<%=domain%>", 4 | "Name": "DCIMPower <%=domain%> Domain", 5 | "DCIMPowerType": "Domain", 6 | "Status": { 7 | "State": "Enabled", 8 | "Health": "OK" 9 | }, 10 | 11 | <% types.forEach(function(type) { %> 12 | "<%=type%>": 13 | { 14 | "@odata.id": "<%=basepath%>/DCIMPower/<%=domain%>/<%=type%>" 15 | }, 16 | <% }); %> 17 | 18 | "Links": { 19 | "Chassis": [ 20 | { 21 | } 22 | ], 23 | "ManagedBy": [ 24 | { 25 | } 26 | ], 27 | "RelatedSystems": [ 28 | { 29 | } 30 | ] 31 | }, 32 | "@odata.context": "/redfish/v1/$metadata#DCIMPower.DCIMPower", 33 | "@odata.id": "/redfish/v1/DCIMPower/<%=domain%>" 34 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMPowerDomainCollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "/redfish/v1/$metadata#DCIMPowerCollection.DCIMPowerCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#DCIMPowerCollection.DCIMPowerCollection", 5 | "Oem" : {}, 6 | "Name": "DCIMPower Collection", 7 | "Members@odata.count": <%= domains.length %>, 8 | "Members": [ 9 | <% domains.forEach(function(domain, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/DCIMPower/<%=domain %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.DCIMPowerTypeCollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#<%=type%>Collection.<%=type%>Collection", 3 | "Name": "<%=type%> Collection", 4 | "Members@odata.count": <%= nodes.length %>, 5 | 6 | "Members": [ 7 | <% nodes.forEach(function(node, i, arr) { %> 8 | 9 | { 10 | "@odata.id": "<%= basepath %>/DCIMPower/<%=node.identifiers[2]%>/<%=node.identifiers[3]%>/<%= node.id %>" 11 | } 12 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 13 | <% }); %> 14 | 15 | ], 16 | "@odata.context": "/redfish/v1/$metadata#<%=type%>Collection", 17 | "@odata.id": "/redfish/v1/DCIMPower/<%=domain%>/<%=type%>" 18 | } 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.accountservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#AccountService.AccountService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#AccountService.v1_0_0.AccountService", 5 | "Oem": {}, 6 | "Id": "AccountService", 7 | "Description": "Account Service", 8 | "Name": "Account Service", 9 | "Status": {}, 10 | "ServiceEnabled": true, 11 | "MinPasswordLength": 6, 12 | "MaxPasswordLength": 50, 13 | "AccountLockoutThreshold": 0, 14 | "Accounts" : { 15 | "@odata.id": "<%= basepath %>/AccountService/Accounts" 16 | }, 17 | "Roles": { 18 | "@odata.id": "<%= basepath %>/AccountService/Roles" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.bios.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Bios.Bios", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Bios.v1_0_0.Bios", 5 | "Actions": { 6 | "Oem": {} 7 | }, 8 | "@Redfish.Settings": { 9 | "@odata.type": "#Settings.v1_0_0.Settings", 10 | "ETag": "", 11 | "Messages": [], 12 | "SettingsObject": { 13 | "@odata.id": "/redfish/v1/Systems/<%= identifier %>/Bios/Settings" 14 | }, 15 | "Time": "" 16 | }, 17 | "AttributeRegistry": "", 18 | "Attributes": { 19 | <% bios.attributes.forEach(function(item, i, arr) { %> 20 | "<%= item.attributeName.value %>": %> "<%= item.currentValue[0].value %>" 21 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 22 | <% }); %> 23 | }, 24 | "Description": "BIOS Configuration Current Settings", 25 | "Id": "Bios", 26 | "Name": "BIOS Configuration Current Settings", 27 | "Oem": {}, 28 | "Actions": { 29 | "#Bios.ResetBios": { 30 | "target": "/redfish/v1/Systems/1/Bios/Actions/Bios.ResetBios" 31 | }, 32 | "#Bios.ChangePassword": { 33 | "target": "/redfish/v1/Systems/1/Bios/Actions/Bios.ChangePassword" 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.bios.1.0.0.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Bios.Bios", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Bios.v1_0_0.Bios", 5 | "AttributeRegistry": "", 6 | "Attributes": { 7 | <% bios.attributes.forEach(function(item, i, arr) { %> 8 | "<%= item.attributeName.value %>": %> "<%= item.currentValue[0].value %>" 9 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 10 | <% }); %> 11 | }, 12 | "Description": "BIOS Configuration Current Settings", 13 | "Id": "Bios", 14 | "Name": "BIOS Configuration Current Settings", 15 | "Oem": {} 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.chassiscollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ChassisCollection.ChassisCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ChassisCollection.ChassisCollection", 5 | "Oem" : {}, 6 | "Name": "Chassis Collection", 7 | "Members@odata.count": <%= nodes.length %>, 8 | "Members": [ 9 | <% nodes.forEach(function(node, i, arr) { %> 10 | { 11 | <% if (node.obms[0] !== undefined && node.obms[0].service === 'redfish-obm-service') 12 | {%> 13 | "@odata.id": "<%= basepath %>/Chassis/<%= node.identifiers[2] %>" 14 | <%} else {%> 15 | "@odata.id": "<%= basepath %>/Chassis/<%= node.id %>" 16 | <%}%> 17 | } 18 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 19 | <% }); %> 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.computersystemcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ComputerSystemCollection.ComputerSystemCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", 5 | "Oem" : {}, 6 | "Name": "Computer System Collection", 7 | "Members@odata.count": <%= nodes.length %>, 8 | "Members": [ 9 | <% nodes.forEach(function(node, i, arr) { %> 10 | { 11 | <% if (node.obms[0] !== undefined && node.obms[0].service === 'redfish-obm-service') 12 | {%> 13 | "@odata.id": "<%= basepath %>/Systems/<%= node.identifiers[2] %>" 14 | <%} else {%> 15 | "@odata.id": "<%= basepath %>/Systems/<%= node.id %>" 16 | <%}%> 17 | } 18 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 19 | <% }); %> 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.ethernetinterfacecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#EthernetInterfaceCollection.EthernetInterfaceCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", 5 | "Oem" : {}, 6 | "Name": "<%= name %>", 7 | "Members@odata.count": <%= net.length %>, 8 | "Members": [ 9 | <% net.forEach(function(n, i, arr) { %> 10 | { 11 | "@odata.id": "<%= url %>/<%= n %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.eventdestination.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context": "<%= basepath %>/$metadata#EventDestination.EventDestination", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#EventService.v1_0_0.EventDestination", 5 | "Id": "<%= subscription.Id %>", 6 | "Name": "Event Subscription Destination", 7 | "Destination": "<%= subscription.Destination %>", 8 | "EventTypes": <%- JSON.stringify(subscription.EventTypes) %>, 9 | "Context": "<%= subscription.Context %>", 10 | "Protocol": "<%= subscription.Protocol %>" 11 | } 12 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.eventdestinationcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#EventDestinationCollection.EventDestinationCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#EventDestinationCollection.EventDestinationCollection", 5 | "Name": "Event Subscription Collection", 6 | "Members@odata.count": <%= subscriptions.length %>, 7 | "Members": [ 8 | <% subscriptions.forEach(function(subscription, i, arr) { %> 9 | { 10 | "@odata.id": "<%= basepath %>/EventService/Subscriptions/<%=subscription.Id%>" 11 | } 12 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 13 | <% }); %> 14 | ] 15 | 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.eventservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#EventService.EventService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#EventService.v1_0_0.EventService", 5 | "Id": "EventService", 6 | "Name": "Event Service", 7 | "Status": {}, 8 | "EventTypesForSubscription": [ 9 | "StatusChange", 10 | "ResourceUpdated", 11 | "ResourceAdded", 12 | "ResourceRemoved", 13 | "Alert" 14 | ], 15 | "DeliveryRetryAttempts": <%= retryAttempts %>, 16 | "DeliveryRetryIntervalSeconds": <%= timeoutInSeconds %>, 17 | "ServiceEnabled": true, 18 | "Actions": { 19 | "#EventService.SubmitTestEvent": { 20 | "target": "<%= basepath %>/EventService/Actions/EventService.SubmitTestEvent" 21 | } 22 | }, 23 | "Subscriptions": { 24 | "@odata.id": "<%= basepath %>/EventService/Subscriptions" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.jsonschemafile.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#JsonSchemaFile.JsonSchemaFile", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#JsonSchemaFile.v1_0_0.JsonSchemaFile", 5 | "Name": "", 6 | "Description": "Schema Definition File for <%= identifier %>", 7 | "Id": "<%= identifier %>", 8 | "Languages": [ 9 | "en" 10 | ], 11 | "Location": [ 12 | {"Uri" : "/redfish/v1/SchemaStore/en/<%= identifier %>", 13 | "Language":"en"} 14 | ], 15 | "Schema": "<%= identifier %>" 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.jsonschemafilecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#JsonSchemaFileCollection.JsonSchemaFileCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#JsonSchemaFileCollection.JsonSchemaFileCollection", 5 | "Oem": {}, 6 | "Name": "JsonSchema File ", 7 | "Members@odata.count": <%= schemas.length %>, 8 | "Members": [ 9 | <% schemas.forEach(function(schema, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/JsonSchemas/<%= schema %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.logentry.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogEntry.LogEntry", 3 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/LogServices/<%=type%>/Entries/<%= entry.logId %>", 4 | "@odata.type": "#LogEntry.v1_0_0.LogEntry", 5 | "Oem": {}, 6 | "Id": "<%= entry.logId %>", 7 | "Name": "name", 8 | "EntryType": "<%= type %>", 9 | <% if (entry.timestamp !== "") { %> 10 | "Created": "<%= entry.timestamp %>", 11 | <% } %> 12 | "OemRecordFormat": "", 13 | "EntryCode": "<%= entry.value %>", 14 | "SensorType": "<%= entry.sensorType %>", 15 | "SensorNumber": <%= entry.sensorNumber %>, 16 | "Message": "<%= entry.event %>", 17 | "MessageId": "", 18 | "MessageArgs": [], 19 | "Links": { 20 | <% if (entry.origin) { %> 21 | "OriginOfCondition": { 22 | "@odata.id": "<%= entry.origin %>" 23 | }, 24 | <% } %> 25 | "Oem": {} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.logentrycollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogEntryCollection.LogEntryCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#LogEntryCollection.LogEntryCollection", 5 | "Oem" : {}, 6 | "Name": "Log Service Entry Collection", 7 | "Members@odata.count": <%= logEntries.length %>, 8 | "Members": [ 9 | <% logEntries.forEach(function(entry, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/LogServices/<%=type%>/Entries/<%= entry.logId %>", 12 | "@odata.type": "#LogEntry.v1_0_0.LogEntry", 13 | "Oem": {}, 14 | "Id": "<%= entry.logId %>", 15 | "Name": "name", 16 | "EntryType": "<%= type %>", 17 | "Created": "<%= entry.timestamp %>", 18 | "OemRecordFormat": "", 19 | "EntryCode": "<%= entry.value %>", 20 | "SensorType": "<%= entry.sensorType %>", 21 | "SensorNumber": <%= entry.sensorNumber %>, 22 | "Message": "<%= entry.event %>", 23 | "MessageId": "", 24 | "MessageArgs": [], 25 | "Links": { 26 | <% if (entry.origin) { %> 27 | "OriginOfCondition": { 28 | "@odata.id": "<%= entry.origin %>" 29 | }, 30 | <% } %> 31 | "Oem": {} 32 | } 33 | } 34 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 35 | <% }); %> 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.logservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogService.LogService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#LogService.v1_0_0.LogService", 5 | "Oem" : {}, 6 | "Id": "<%=type%>", 7 | "Description": "<%=description%>", 8 | "Name": "<%=name%>", 9 | "ServiceEnabled": true, 10 | "MaxNumberOfRecords": <%= log.size %>, 11 | "OverWritePolicy": "<%= log.policy || 'Unknown' %>", 12 | "DateTimeLocalOffset": "+00:00", 13 | "Actions" : { 14 | "Oem": {}, 15 | "#LogService.ClearLog": { 16 | "target": "/api/current/node/<%=identifier%>/workflows?name=Graph.ClearSEL.Node" 17 | } 18 | }, 19 | "Status": {}, 20 | "Entries": { 21 | "@odata.id": "<%=url%>/Entries" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.logservicecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogServiceCollection.LogServiceCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#LogServiceCollection.LogServiceCollection", 5 | "Oem" : {}, 6 | "Name": "Log Service Collection", 7 | "Members@odata.count": <%= logSource.length %>, 8 | "Members": [ 9 | <% logSource.forEach(function(type, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/LogServices/<%=type%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.manageraccount.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ManagerAccount.ManagerAccount", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ManagerAccount.v1_0_0.ManagerAccount", 5 | "Oem": {}, 6 | "Id": "<%= user.id %>", 7 | "Description": "User Account", 8 | "Name": "User Account", 9 | "UserName": "<%= user.username %>", 10 | "RoleId": "<%= user.role %>", 11 | "Links": { 12 | "Role": { 13 | "@odata.id": "<%=basepath%>/AccountService/Roles/<%=user.role%>" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.manageraccountcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ManagerAccountCollection.ManagerAccountCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", 5 | "Oem" : {}, 6 | "Name": "RackHD User Accounts", 7 | "Members@odata.count": <%= users.length %>, 8 | "Members": [ 9 | <% users.forEach(function(user, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/AccountService/Accounts/<%= user.username %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.managercollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ManagerCollection.ManagerCollection", 3 | "@odata.id": "<%= basepath %>/Managers", 4 | "@odata.type": "#ManagerCollection.ManagerCollection", 5 | "Name": "Manager Collection", 6 | "Oem": {}, 7 | "Members@odata.count": <%= (managers.length) %>, 8 | "Members": [ 9 | <% managers.forEach(function(manager, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Managers/<%=manager.id%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.managernetworkprotocol.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.id": "<%= url %>" 3 | ,"@odata.context": "<%= basepath %>/$metadata#ManagerNetworkProtocol.ManagerNetworkProtocol" 4 | ,"@odata.type": "#ManagerNetworkProtocol.v1_0_0.ManagerNetworkProtocol" 5 | ,"Id": "ManagerNetworkProtocol" 6 | ,"Name": "Manager Network Protocol" 7 | ,"Description": "Manager Network Service" 8 | ,"Oem": {} 9 | <% if (typeof networkProtocol.hostname !== 'undefined') { %> 10 | ,"HostName": "<%= networkProtocol.hostname %>" 11 | <% } %> 12 | <% if (typeof networkProtocol.fqdn !== 'undefined') { %> 13 | ,"FQDN": "<%= networkProtocol.fqdn %>" 14 | <% } %> 15 | <% if (typeof networkProtocol.services !== 'undefined') { %> 16 | <% networkProtocol.services.forEach(function(service, i, arr) { %> 17 | ,"<%= service.name %>" : { 18 | "ProtocolEnabled" : <%= service.enabled %>, 19 | "Port": <%= service.port %> 20 | } 21 | <% }); %> 22 | <% } %> 23 | } 24 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.message.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "error": { 3 | "code": "<%= code %>", 4 | "message": "<%= message %>", 5 | "@Message.ExtendedInfo": [ 6 | <% messages.forEach(function(message, i, arr) { %> 7 | <%- JSON.stringify(message) %> 8 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 9 | <% }); %> 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.messageregistryfile.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#MessageRegistryFile.MessageRegistryFile", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#MessageRegistryFile.v1_0_0.MessageRegistryFile", 5 | "Oem": {}, 6 | "Id": "<%= identifier %>", 7 | "Description": "", 8 | "Name": "Message file Registry ", 9 | "Languages": [ 10 | "en" 11 | ], 12 | "Registry":"DSP8010_1.0.0", 13 | "Location":[{"Language": "en", "Uri": "<%= basepath %>/Registries/en/<%= identifier %>"}] 14 | } 15 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.messageregistryfilecollection.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#MessageRegistryFileCollection.MessageRegistryFileCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#MessageRegistryFileCollection.MessageRegistryFileCollection", 5 | "Oem": {}, 6 | "Name": "Message File Registry Collection", 7 | "Members@odata.count": <%= files.length %>, 8 | "Members": [ 9 | <% files.forEach(function(file, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Registries/<%= file.id %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.networkdevicecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Systems", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", 5 | "Oem" : {}, 6 | "Name": "Network Device Collection", 7 | "Members@odata.count": <%= nodes.length %>, 8 | "Members": [ 9 | <% nodes.forEach(function(node, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/NetworkDevices/<%=node.identifiers[0] %>-<%= node.id %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.processor.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Processor.Processor", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Processor.v1_0_0.Processor", 5 | "Oem" : {}, 6 | "Id": "<%=socketId%>", 7 | "Name": "", 8 | "Socket": "<%= catData['Processor Information'][socketId]['Socket Designation'] %>", 9 | "ProcessorType": "CPU", 10 | "ProcessorArchitecture": "x86", 11 | "InstructionSet": "<%= catData.kernel.machine.replace('_', '-') %>", 12 | "Manufacturer": "<%= catData['Processor Information'][socketId].Manufacturer %>", 13 | "Model": "<%= catData['Processor Information'][socketId].Version %>", 14 | "MaxSpeedMHz": <%= catData['Processor Information'][socketId]['Max Speed'].split(' ')[0] %>, 15 | "TotalCores": <%= catData['Processor Information'][socketId]['Core Count'] %>, 16 | "TotalThreads": <%= catData['Processor Information'][socketId]['Thread Count'] %>, 17 | "Status": {}, 18 | "ProcessorId" : { 19 | "VendorId": "<%= catData.cpu[socketId].vendor_id %>", 20 | "IdentificationRegisters": "<%= catData['Processor Information'][socketId].ID %>", 21 | "EffectiveFamily": "<%= catData['Processor Information'][socketId].Family %>", 22 | "EffectiveModel": "<%= catData['Processor Information'][socketId].Version %>", 23 | "Step": "", 24 | "MicrocodeInfo": "" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.processorcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ProcessorCollection.ProcessorCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ProcessorCollection.ProcessorCollection", 5 | "Oem" : {}, 6 | "Name": "Processor Collection", 7 | "Members@odata.count": <%= dmi.data['Processor Information'].length %>, 8 | "Members": [ 9 | <% dmi.data['Processor Information'].forEach(function(chassis, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Processors/<%=i%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.rackhd.bootimage.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#RackHD.BootImage", 3 | "osNames@Redfish.AllowableValues" : [ 4 | "CentOS", 5 | "CentOS+KVM", 6 | "ESXi", 7 | "RHEL", 8 | "RHEL+KVM" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.rackhd.reset.actions.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.type": "#RackHD.ResetAction", 3 | "ResetType@Redfish.AllowableValues" : [ 4 | "On", 5 | "ForceOff", 6 | "GracefulRestart", 7 | "ForceRestart", 8 | "ForceOn", 9 | "PushPowerButton" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.redfishstorage.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Storage.Storage", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Storage.v1_0_0.Storage", 5 | "Oem" : {}, 6 | "Name": "Local Storage Controller", 7 | "Id": "<%= index %>", 8 | "Description": "Integrated RAID Controller %>", 9 | "Links" : { }, 10 | "Status": {}, 11 | "StorageControllers@odata.count" : <%= controllers.length %>, 12 | "StorageControllers" :[ 13 | <% controllers.forEach(function(device, i, arr) { %> 14 | { 15 | "@odata.id": "<%= basepath %>/Storage/<%= index %>#/StorageController/<%= i %>", 16 | "Status": {} 17 | } 18 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 19 | <% }); %> 20 | ], 21 | "Drives@odata.count" : <%= devices.length %>, 22 | "Drives" : [ 23 | <% devices.forEach(function(device, i, arr) { %> 24 | { 25 | "@odata.id" : "<%= url %>/Drives/<%= device["Name"].replace(/ /g,"") %>" 26 | } 27 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 28 | <% }); %> 29 | ] 30 | 31 | } 32 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.role.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Role.Role", 3 | "@odata.type": "#Role.v1_0_2.Role", 4 | "Description": "Display the privileges of <%= identifier %>", 5 | "Name": "<%= identifier %>", 6 | "OemPrivileges": [], 7 | "@odata.id": "<%= url %>", 8 | "Oem": {}, 9 | "Id": "", 10 | "AssignedPrivileges": [ 11 | <% rolePrivileges.forEach(function(rolePrivilege, i, arr) { %> 12 | "<%= rolePrivilege %>" 13 | 14 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 15 | <% }); %> 16 | ], 17 | "IsPredefined": true 18 | } 19 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.rolecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#RoleCollection.RoleCollection", 3 | "@odata.type": "#RoleCollection.RoleCollection", 4 | "Oem": {}, 5 | "Members@odata.navigationLink": { 6 | "@odata.id": "<%= basepath %>/AccountService/Roles" 7 | }, 8 | "Members@odata.count": <%= (roles.length) %>, 9 | "Members":[ 10 | <% roles.forEach(function(role, i, arr) { %> 11 | { 12 | "@odata.id": "<%= basepath %>/AccountService/Roles/<%= roles[i] %>" 13 | } 14 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 15 | <% }); %> 16 | ], 17 | "Name": "RoleCollection", 18 | "Description": "RoleCollection" 19 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.secureboot.1.0.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context": "<%= basepath %>/$metadata#SecureBoot.SecureBoot", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SecureBoot.v1_0_1.SecureBoot", 5 | "SecureBootCurrentBoot": "<%= SecureBoot%>", 6 | "Id": "<%= identifier %>", 7 | "Name": "Secure Boot Current Status" 8 | } 9 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.serialinterfacecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SerialInterfaceCollection.SerialInterfaceCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", 5 | "Name": "<%= name %>", 6 | "Members@odata.count": <%= interface.length %>, 7 | "Members": [ 8 | <% interface.forEach(function(n, i, arr) { %> 9 | { 10 | "@odata.id": "<%= url %>/<%= n['External Reference Designator']%>" 11 | } 12 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 13 | <% }); %> 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.serviceroot.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ServiceRoot.ServiceRoot", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ServiceRoot.v1_3_0.ServiceRoot", 5 | "Oem" : {}, 6 | "Id": "<%= identifier %>", 7 | "Description": "", 8 | "Name": "Root Service", 9 | "RedfishVersion": "1.0.0", 10 | "UUID": "<%=uuid%>", 11 | "Links": { 12 | "Oem": {}, 13 | "Sessions": { 14 | "@odata.id": "/redfish/v1/SessionService/Sessions" 15 | } 16 | }, 17 | "Systems": { 18 | "@odata.id": "<%=basepath%>/Systems" 19 | }, 20 | "Chassis": { 21 | "@odata.id": "<%=basepath%>/Chassis" 22 | }, 23 | "Managers": { 24 | "@odata.id": "<%=basepath%>/Managers" 25 | }, 26 | "UpdateService": { 27 | "@odata.id": "<%=basepath%>/UpdateService" 28 | }, 29 | "Tasks": { 30 | "@odata.id": "<%=basepath%>/TaskService" 31 | }, 32 | "SessionService": { 33 | "@odata.id": "<%=basepath%>/SessionService" 34 | }, 35 | "AccountService": { 36 | "@odata.id": "<%=basepath%>/AccountService" 37 | }, 38 | "EventService": { 39 | "@odata.id": "<%=basepath%>/EventService" 40 | }, 41 | "Registries": { 42 | "@odata.id": "<%=basepath%>/Registries" 43 | }, 44 | "JsonSchemas": { 45 | "@odata.id": "<%=basepath%>/JsonSchemas" 46 | }, 47 | "DCIMCooling": { 48 | "@odata.id": "<%=basepath%>/DCIMCooling" 49 | }, 50 | "DCIMPower": { 51 | "@odata.id": "<%=basepath%>/DCIMPower" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.session.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Session.Session", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Session.v1_0_0.Session", 5 | "Oem": {}, 6 | "Id": "<%= entry.id %>", 7 | "Description": "User Session", 8 | "Name": "User Session", 9 | "UserName": "<%= entry.user %>" 10 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.sessioncollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SessionCollection.SessionCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SessionCollection.SessionCollection", 5 | "Oem": {}, 6 | "Name": "Session Collection", 7 | "Members@odata.count": <%= sessions.length %>, 8 | "Members": [ 9 | <% sessions.forEach(function(session, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/SessionService/Sessions/<%= session.id %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.sessionservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SessionService.SessionService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SessionService.v1_0_0.SessionService", 5 | "Oem": {}, 6 | "Id": "SessionService", 7 | "Description": "Session Service", 8 | "Name": "Session Service", 9 | "Status": {}, 10 | "ServiceEnabled": true, 11 | "SessionTimeout": 86400, 12 | "Sessions" : { 13 | "@odata.id": "<%= basepath %>/SessionService/Sessions" 14 | } 15 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.simplestoragecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SimpleStorageCollection.SimpleStorageCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", 5 | "Oem" : {}, 6 | "Name": "Simple Storage Collection", 7 | "Members@odata.count": <%= controllers.length %>, 8 | "Members": [ 9 | <% controllers.forEach(function(n, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/SimpleStorage/<%=n%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.softwareinventorycollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SoftwareInventoryCollection.SoftwareInventoryCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", 5 | "Oem" : {}, 6 | "Name": "Software Inventory Collection", 7 | "Members@odata.count": <%= fwItems.length %>, 8 | "Members": [ 9 | <% fwItems.forEach(function(fwItem, i, arr) { %> 10 | { 11 | "@odata.id": "<%=url%>/<%=fwItem %>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.storage.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Storage.Storage", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Storage.v1_0_0.Storage", 5 | "Oem" : {}, 6 | "Name": "Local Storage Controller", 7 | "Id": "<%= index %>", 8 | "Description": "Integrated RAID Controller %>", 9 | "Links" : { }, 10 | "Status": {}, 11 | "StorageControllers@odata.count" : <%= controllerArr.length %>, 12 | "StorageControllers" :[ 13 | <% controllerArr.forEach(function(device, i, arr) { %> 14 | { 15 | "@odata.id": "<%= basepath %>/Storage/<%= index %>#/StorageControllers/<%= i %>", 16 | "MemberId" : "<%= i %>", 17 | "Status": {} 18 | } 19 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 20 | <% }); %> 21 | ], 22 | "Drives@odata.count" : <%= devices.length %>, 23 | "Drives" : [ 24 | <% devices.forEach(function(device, i, arr) { %> 25 | { 26 | "@odata.id" : "<%= url %>/Drives/<%= device.Identity["Serial number"] ? device.Identity["Serial number"] : device.Identity["Serial Number"] %>" 27 | } 28 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 29 | <% }); %> 30 | ] 31 | 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.storagecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#StorageCollection.StorageCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#StorageCollection.StorageCollection", 5 | "Oem" : {}, 6 | "Name": "Simple Storage Collection", 7 | "Members@odata.count": <%= controllers.length %>, 8 | "Members": [ 9 | <% controllers.forEach(function(n, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Storage/<%=n%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.task.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Task.Task", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Task.v1_0_0.Task", 5 | "Oem" : {}, 6 | "Name": "<%= graph.name %>", 7 | "TaskState": "<%= graph.state %>", 8 | "Messages": [], 9 | "TaskStatus": "<%= graph.status %>", 10 | "StartTime": "<%= graph.startTime %>", 11 | <% if(graph.endTime) { %> 12 | "EndTime": "<%= graph.endTime %>", 13 | <% } %> 14 | "Id": "<%= graph.id %>", 15 | "Oem" : { 16 | "RackHD": { 17 | "SystemId": "<%= graph.systemId %>" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.taskcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#TaskCollection.TaskCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#TaskCollection.TaskCollection", 5 | "Oem" : {}, 6 | "Name": "Task Collection", 7 | "Members@odata.count": <%= graphs.length %>, 8 | "Members": [ 9 | <% graphs.forEach(function(graph, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/TaskService/Tasks/<%=graph.id%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | 18 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.taskservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#TaskService.TaskService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#TaskService.v1_0_0.TaskService", 5 | "Oem" : { 6 | "RackHD" : { 7 | "SystemTaskCollection": { 8 | "Members@odata.count": <%= systems.length %>, 9 | "Members": [ 10 | <% systems.forEach(function(system, i, arr) { %> 11 | { 12 | "@odata.id": "<%= basepath %>/TaskService/Oem/Tasks/<%=system%>" 13 | } 14 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 15 | <% }); %> 16 | ] 17 | } 18 | } 19 | }, 20 | "Id": "TaskService", 21 | "Name": "Tasks Service", 22 | "CompletedTaskOverWritePolicy": "Manual", 23 | "DateTime": "<%= dateTime %>", 24 | "LifeCycleEventOnTaskStateChange": false, 25 | "ServiceEnabled": true, 26 | "Status": {}, 27 | "Tasks": { 28 | "@odata.id": "<%= basepath %>/TaskService/Tasks%>" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.1.0.0.updateservice.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#UpdateService.UpdateService", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#UpdateService.v1_1_0.UpdateService", 5 | "Oem": {}, 6 | "Id": "UpdateService", 7 | "Description": "Update Service", 8 | "Name": "Update Service", 9 | "Status": { 10 | "State":"Enabled" 11 | }, 12 | "ServiceEnabled": true, 13 | "Actions": { 14 | "Oem": {}, 15 | "#UpdateService.SimpleUpdate": { 16 | "target": "<%=basepath%>/UpdateService/Actions/UpdateService.SimpleUpdate" 17 | } 18 | }, 19 | "FirmwareInventory" : { 20 | "@odata.id": "<%= basepath %>/UpdateService/FirmwareInventory" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.2016.3.storagecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#StorageCollection.StorageCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#StorageCollection.StorageCollection", 5 | "Description": "", 6 | "Oem" : {}, 7 | "Name": "Storage Collection", 8 | "Members@odata.count": 1, 9 | "Members@odata.navigationLink": "", 10 | "Members": [ 11 | { 12 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Storage/1" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /data/views/redfish-1.0/redfish.2016.3.volumecollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#VolumeCollection.VolumeCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#VolumeCollection.VolumeCollection", 5 | "Oem" : {}, 6 | "Name": "Volume Collection", 7 | "Members@odata.count": <%= virtualDisks.length %>, 8 | "Members": [ 9 | <% virtualDisks.forEach(function(n, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Storage/<%=index%>/Volumes/<%=i%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/ucs.1.0.0.processor.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Processor.Processor", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Processor.v1_0_0.Processor", 5 | "Oem" : {}, 6 | "Id": "<%=socketId%>", 7 | "Name": "", 8 | "Socket": "<%= ucsData.data.children["cpu-collection"][socketId].socket_designation %>", 9 | "ProcessorType": "CPU", 10 | "ProcessorArchitecture": "x86", 11 | "InstructionSet": "x86-64", 12 | "Manufacturer": "<%= ucsData.data.children["cpu-collection"][socketId].vendor %>", 13 | "Model": "<%= ucsData.data.children["cpu-collection"][socketId].model %>", 14 | "MaxSpeedMHz": 15 | <%=_.trim(_.last(ucsData.data.children["cpu-collection"][socketId].model.split(' ')), 'GHz') * 1000 %>, 16 | "TotalCores": <%= ucsData.data.children["cpu-collection"][socketId].cores %>, 17 | "TotalThreads": <%= ucsData.data.children["cpu-collection"][socketId].threads %>, 18 | "Status": {}, 19 | "ProcessorId" : { 20 | "VendorId": "<%= ucsData.data.children["cpu-collection"][socketId].vendor %>", 21 | "IdentificationRegisters": "", 22 | "EffectiveFamily": "<%= ucsData.data.children["cpu-collection"][socketId].arch %>", 23 | "EffectiveModel": "<%= ucsData.data.children["cpu-collection"][socketId].model %>", 24 | "Step": "<%= ucsData.data.children["cpu-collection"][socketId].stepping %>", 25 | "MicrocodeInfo": "" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/ucs.1.0.0.processorcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ProcessorCollection.ProcessorCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ProcessorCollection.ProcessorCollection", 5 | "Oem" : {}, 6 | "Name": "Processors Collection", 7 | "Members@odata.count": <%= processors.data.num_of_cpus %>, 8 | "Members": [ 9 | <% for(var i = 0; i < processors.data.num_of_cpus; i += 1) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Processors/<%=i%>" 12 | } 13 | <%= ( i + 1 < processors.data.num_of_cpus ) ? ',': '' %> 14 | <% }; %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/ucs.1.0.0.simplestorage.1.1.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SimpleStorage.SimpleStorage", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SimpleStorage.v1_1_1.SimpleStorage", 5 | "Oem" : {}, 6 | "Name": "Simple Storage Controller", 7 | "Id": "<%= index %>", 8 | "Description": "<%= description %>", 9 | "Devices": [ 10 | <% devices.forEach(function(device, i, arr) { %> 11 | { 12 | "Oem": { 13 | "Cisco" : { 14 | "Revision": "<%= device.revision || 'Unknown' %>", 15 | "Capacity": "<%= device.size || 'Unknown' %>", 16 | "SerialNumbers": "<%= device.serial || 'Unknown' %>", 17 | "Type": "<%= device.device_type || 'Unknown' %>" 18 | } 19 | }, 20 | "Name": "<%= device.rn || 'Unknown' %>", 21 | "Status": {}, 22 | "Manufacturer": "<%= device.vendor || 'Unknown' %>", 23 | "Model": "<%= device.model || 'Unknown' %>" 24 | } 25 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 26 | <% }); %> 27 | ], 28 | "Status": {} 29 | } 30 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/wsman.1.0.0.lclogentry.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogEntry.LogEntry", 3 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/LogServices/<%=type%>/Entries/<%= entry.recordId %>", 4 | "@odata.type": "#LogEntry.v1_0_0.LogEntry", 5 | "Oem": { 6 | "Dell":{ 7 | "Log Name": "<%= entry.logName %>", 8 | "Category": "<%= entry.category %>", 9 | "Entry Id": "<%= entry.instanceId %>", 10 | "Severity": "<%= entry.severity %>", 11 | "Comment": "<%= entry.comment %>", 12 | "Agent": "<%= entry.agentId %>", 13 | "fqdd": "<%= entry.fqdd %>", 14 | "Raw Event Data": "<%= entry.rawEventData %>", 15 | "Sequence Number": "<%= entry.sequenceNumber %>" 16 | } 17 | }, 18 | "Id": "<%= entry.recordId %>", 19 | "Name": "<%= entry.elementName %>", 20 | "EntryType": "Oem", 21 | "Created": "<%= entry.creationTimeStamp %>", 22 | "OemRecordFormat": "", 23 | "Message": "<%= entry.message %>", 24 | "MessageId": "<%= entry.messageId %>", 25 | "MessageArgs": ["<%= entry.messageArguments %>"], 26 | "Links": { 27 | "Oem": {}, 28 | "OriginOfCondition": { 29 | "@odata.id": "<%= entry.origin || 'null' %>" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/wsman.1.0.0.logentry.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#LogEntry.LogEntry", 3 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/LogServices/<%=type%>/Entries/<%= entry.logId %>", 4 | "@odata.type": "#LogEntry.v1_0_0.LogEntry", 5 | "Oem": { 6 | "Dell":{ 7 | "instanceID": "<%= entry.instanceID %>", 8 | "perceivedSeverity": "<%= entry.perceivedSeverity %>" 9 | } 10 | }, 11 | "Id": "<%= entry.recordID %>", 12 | "Name": "<%= entry.elementName %>", 13 | "EntryType": "<%= type %>", 14 | "Created": "<%= entry.creationTimeStamp %>", 15 | "OemRecordFormat": "", 16 | "Message": "<%= entry.recordData %>", 17 | "MessageId": "", 18 | "MessageArgs": [], 19 | "Links": { 20 | "Oem": {}, 21 | "OriginOfCondition": { 22 | "@odata.id": "<%= entry.origin || 'null' %>" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/wsman.1.0.0.processor.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#Processor.Processor", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#Processor.v1_0_0.Processor", 5 | "Oem" : {}, 6 | "Id": "<%=socketId%>", 7 | "Name": "", 8 | "Socket": "<%= hardware.data.cpus[socketId].deviceDescription %>", 9 | "ProcessorType": "CPU", 10 | "ProcessorArchitecture": "x86", 11 | "InstructionSet": "x86-64", 12 | "Manufacturer": "<%= hardware.data.cpus[socketId].manufacturer %>", 13 | "Model": "<%= hardware.data.cpus[socketId].model %>", 14 | "MaxSpeedMHz": <%= hardware.data.cpus[socketId].maxClockSpeed %>, 15 | "TotalCores": <%= hardware.data.cpus[socketId].numberOfProcessorCores %>, 16 | "TotalThreads": <%= hardware.data.cpus[socketId].hyperThreadingEnabled == 1 ? hardware.data.cpus[socketId].numberOfProcessorCores * 2 : hardware.data.cpus[socketId].numberOfProcessorCores %>, 17 | "Status": {}, 18 | "ProcessorId" : { 19 | "VendorId": "<%= hardware.data.cpus[socketId].manufacturer %>", 20 | "IdentificationRegisters": "", 21 | "EffectiveFamily": "<%= hardware.data.cpus[socketId].cpuFamily %>", 22 | "EffectiveModel": "<%= hardware.data.cpus[socketId].model %>", 23 | "Step": "", 24 | "MicrocodeInfo": "" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/wsman.1.0.0.processorcollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#ProcessorCollection.ProcessorCollection", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#ProcessorCollection.ProcessorCollection", 5 | "Oem" : {}, 6 | "Name": "Processors Collection", 7 | "Members@odata.count": <%= hardware.data.cpus.length %>, 8 | "Members": [ 9 | <% hardware.data.cpus.forEach(function(chassis, i, arr) { %> 10 | { 11 | "@odata.id": "<%= basepath %>/Systems/<%=identifier%>/Processors/<%=i%>" 12 | } 13 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 14 | <% }); %> 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/views/redfish-1.0/wsman.1.0.0.simplestorage.1.0.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context" : "<%= basepath %>/$metadata#SimpleStorage.SimpleStorage", 3 | "@odata.id": "<%= url %>", 4 | "@odata.type": "#SimpleStorage.v1_0_0.SimpleStorage", 5 | "Oem" : {}, 6 | "Name": "Simple Storage Controller", 7 | "Id": "<%= index %>", 8 | "Description": "<%= controller.productName %>", 9 | "Devices": [ 10 | <% devices.forEach(function(device, i, arr) { %> 11 | { 12 | "Oem": { 13 | "Dell-EMC" : { 14 | "Revision": "<%= device.model || 'Unknown' %>", 15 | "Capacity": "<%= device.size || 'Unknown' %>", 16 | "SerialNumbers": "<%= device.serialNumber || 'Unknown' %>", 17 | "Type": "<%= device.mediaType || 'Unknown' %>" 18 | } 19 | }, 20 | "Name": "<%= device.deviceDescription || 'Unknown' %>", 21 | "Status": {}, 22 | "Manufacturer": "<%= device.manufacturer || 'Unknown' %>", 23 | "Model": "<%= device.model || 'Unknown' %>" 24 | } 25 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 26 | <% }); %> 27 | ], 28 | "Status": {} 29 | } 30 | -------------------------------------------------------------------------------- /data/views/renderable.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "<%=id%>", 3 | "hash": <%- JSON.stringify(hash) %>, 4 | "name": "<%=name%>", 5 | "scope": "<%=scope%>" 6 | } 7 | -------------------------------------------------------------------------------- /data/views/sku-2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%=name%>", 3 | "id": "<%=id%>", 4 | <% if (hasOwnProperty("httpStaticRoot")) { %> 5 | "httpStaticRoot": <%- JSON.stringify(httpStaticRoot) %>, 6 | <% }%> 7 | <% if (hasOwnProperty("httpTemplateRoot")) { %> 8 | "httpTemplateRoot": <%- JSON.stringify(httpTemplateRoot) %>, 9 | <% }%> 10 | <% if (hasOwnProperty("workflowRoot")) { %> 11 | "workflowRoot": <%- JSON.stringify(workflowRoot) %>, 12 | <% }%> 13 | <% if (hasOwnProperty("taskRoot")) { %> 14 | "taskRoot": <%- JSON.stringify(taskRoot) %>, 15 | <% }%> 16 | <% if (hasOwnProperty("httpProfileRoot")) { %> 17 | "httpProfileRoot": <%- JSON.stringify(httpProfileRoot) %>, 18 | <% }%> 19 | <% if (hasOwnProperty("skuConfig")) { %> 20 | "skuConfig": <%- JSON.stringify(skuConfig) %>, 21 | <% }%> 22 | <% if (hasOwnProperty("discoveryGraphName")) { %> 23 | "discoveryGraphName": <%- JSON.stringify(discoveryGraphName) %>, 24 | <% }%> 25 | <% if (hasOwnProperty("discoveryGraphOptions")) { %> 26 | "discoveryGraphOptions": <%- JSON.stringify(discoveryGraphOptions) %>, 27 | <% }%> 28 | "rules": <%- JSON.stringify(rules) %> 29 | } 30 | -------------------------------------------------------------------------------- /data/views/tags.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%=name%>", 3 | <% if (hasOwnProperty("id")) { %> 4 | "id": "<%=id%>", 5 | <% } %> 6 | "rules": <%- JSON.stringify(rules) %> 7 | } -------------------------------------------------------------------------------- /data/views/tasks.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "identifier": "<%= identifier %>", 3 | <% if (hasOwnProperty("exit")) { %> 4 | "exit": "<%= exit %>", 5 | <% } %> 6 | "tasks": <%- JSON.stringify(tasks) %> 7 | } 8 | -------------------------------------------------------------------------------- /data/views/users.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "<%=username%>", 3 | "role": "<%=role%>" 4 | } 5 | -------------------------------------------------------------------------------- /data/views/workflowGraphs.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "friendlyName": "<%=friendlyName%>", 4 | "injectableName": "<%=injectableName%>", 5 | <% if (hasOwnProperty("options")) { %> 6 | "options": <%- JSON.stringify(options) %>, 7 | <% }%> 8 | "tasks":[ 9 | <% tasks.forEach(function (value, i, arr){ %> 10 | { 11 | "label": "<%=value.label%>", 12 | <% if ( value.waitOn) { %> 13 | "waitOn": <%- JSON.stringify(value.waitOn) %>, 14 | <% } %> 15 | 16 | <% if ( value.taskDefinition ) { %> 17 | "taskDefinition": 18 | 19 | <% var friendlyName = value.taskDefinition.friendlyName 20 | var injectableName = value.taskDefinition.injectableName 21 | var implementsTask = value.taskDefinition.implementsTask 22 | var options = value.taskDefinition.options 23 | var properties = value.taskDefinition.properties %> 24 | <% include views/workflowTasks.2.0.json %> 25 | <% } %> 26 | <% if ( value.taskName ) { %> 27 | "taskName": "<%=basepath%>/workflows/tasks/<%=value.taskName%>" 28 | <% } %> 29 | } 30 | <%= ( arr.length > 0 && i < arr.length-1 ) ? ',': '' %> 31 | <% }); %> 32 | ] 33 | 34 | } 35 | -------------------------------------------------------------------------------- /data/views/workflowTasks.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | <% if (friendlyName !== null) { %> 3 | "friendlyName": "<%=friendlyName%>", 4 | <% }%> 5 | <% if (injectableName !== null ) { %> 6 | "injectableName": "<%=injectableName%>", 7 | <% }%> 8 | <% if (implementsTask !== null) { %> 9 | "implementsTask" : "<%=implementsTask%>", 10 | <% }%> 11 | <% if (hasOwnProperty("schemaRef")) { %> 12 | "schemaRef" : "<%=schemaRef%>", 13 | <% }%> 14 | <% if (options !== null) { %> 15 | "options": <%- JSON.stringify(options) %>, 16 | <% } else {%> 17 | "options": {}, 18 | <% } %> 19 | <% if (properties !== null) { %> 20 | "properties": <%- JSON.stringify(properties) %> 21 | <% } else {%> 22 | "properties": {} 23 | <% } %> 24 | 25 | } 26 | -------------------------------------------------------------------------------- /debianstatic/on-http/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debianstatic/on-http/control: -------------------------------------------------------------------------------- 1 | Source: on-http 2 | Section: http 3 | Priority: optional 4 | Maintainer: Joe Heck 5 | Build-Depends: debhelper (>= 8.0.0) 6 | Standards-Version: 3.9.4 7 | 8 | Package: on-http 9 | Architecture: any 10 | Depends: ${shlibs:Depends}, ${misc:Depends}, nodejs (>= 4.4.5-1nodesource1~), mongodb 11 | Description: RackHD HTTP engine service 12 | -------------------------------------------------------------------------------- /debianstatic/on-http/on-http.dirs: -------------------------------------------------------------------------------- 1 | /var/renasar 2 | /opt/monorail/static/http/core 3 | -------------------------------------------------------------------------------- /debianstatic/on-http/on-http.install: -------------------------------------------------------------------------------- 1 | node_modules /var/renasar/on-http 2 | lib /var/renasar/on-http 3 | static /var/renasar/on-http 4 | data /var/renasar/on-http 5 | build /var/renasar/on-http 6 | skupack.d /var/renasar/on-http 7 | index.js /var/renasar/on-http 8 | migrate.js /var/renasar/on-http 9 | app.js /var/renasar/on-http 10 | commitstring.txt /var/renasar/on-http 11 | swagger_config /var/renasar/on-http 12 | -------------------------------------------------------------------------------- /debianstatic/on-http/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | 4 | # Uncomment this to turn on verbose mode. 5 | export DH_VERBOSE=1 6 | 7 | %: 8 | dh $@ 9 | 10 | override_dh_auto_configure: 11 | # do nothing 12 | 13 | override_dh_auto_build: 14 | # do nothing 15 | 16 | override_dh_usrlocal: 17 | # do nothing 18 | -------------------------------------------------------------------------------- /debianstatic/on-http/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /debianstatic/python-client/changelog.in: -------------------------------------------------------------------------------- 1 | python-{{name}} (1.1-1) unstable; urgency=low 2 | 3 | * Initial release 4 | 5 | -- Joseph Longever Tue, 22 Dec 2015 00:10:40 +0000 6 | -------------------------------------------------------------------------------- /debianstatic/python-client/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debianstatic/python-client/control.in: -------------------------------------------------------------------------------- 1 | Source: python-{{name}} 2 | Section: {{name}} 3 | Priority: optional 4 | Maintainer: Joseph Longever 5 | Build-Depends: debhelper (>= 8.0.0) 6 | Standards-Version: 3.9.4 7 | 8 | Package: python-{{name}} 9 | Architecture: any 10 | Depends: ${shlibs:Depends}, ${misc:Depends}, python2.7 11 | Description: Python client library for RackHD {{name}} API bindings 12 | -------------------------------------------------------------------------------- /debianstatic/python-client/postinst.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Installing python-{{name}} client library..." 3 | cd /var/renasar/{{name}} && python setup.py -q install sdist 4 | -------------------------------------------------------------------------------- /debianstatic/python-client/python-{{name}}.dirs.in: -------------------------------------------------------------------------------- 1 | /var/renasar/ 2 | -------------------------------------------------------------------------------- /debianstatic/python-client/python-{{name}}.install.in: -------------------------------------------------------------------------------- 1 | {{name}} /var/renasar/ 2 | -------------------------------------------------------------------------------- /debianstatic/python-client/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | 4 | # Uncomment this to turn on verbose mode. 5 | export DH_VERBOSE=1 6 | 7 | %: 8 | dh $@ 9 | 10 | override_dh_auto_configure: 11 | # do nothing 12 | 13 | override_dh_auto_build: 14 | # do nothing 15 | 16 | override_dh_usrlocal: 17 | # do nothing 18 | -------------------------------------------------------------------------------- /debianstatic/python-client/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /extra/make-cicd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This creates a package in a manner similar to 4 | # HWIMO-BUILD: datestring package version, apidoc 5 | # no coveralls. But it also utilizes build-package.bash 6 | # similar to how travis-ci does. 7 | 8 | # Ensure we're always in the right directory. 9 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 10 | cd $SCRIPT_DIR/.. 11 | 12 | export DEBEMAIL="hwimo robots " 13 | export DEBFULLNAME="The HWIMO Robots" 14 | 15 | GITCOMMITDATE=$(git show -s --pretty="format:%ci") 16 | DATESTRING=$(date -d "$GITCOMMITDATE" -u +"%Y-%m-%d-%H%M%SZ") 17 | 18 | export DEBPKGVER="$DATESTRING" 19 | if [ -n "$BUILD_NUMBER" ] 20 | then 21 | export DEBPKGVER="${DEBPKGVER}-${BUILD_NUMBER}" 22 | fi 23 | 24 | export DCHOPTS="-v ${DEBPKGVER} autobuild" 25 | 26 | ./extra/make-npmdeps.sh 27 | ./extra/make-docs.sh 28 | ./extra/make-deb.sh 29 | 30 | 31 | -------------------------------------------------------------------------------- /extra/make-clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Ensure we're always in the right directory. 4 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 5 | cd $SCRIPT_DIR/.. 6 | 7 | rm -rf swagger-codegen 8 | rm -rf *.deb deb/ 9 | rm -rf node_modules/ 10 | rm -rf coverage/ 11 | rm -rf test/ 12 | rm commitstring.txt 13 | rm -rf on-http-api2.0/ 14 | rm -rf on-http-redfish-1.0/ 15 | rm -rf on-http*.tar.gz* 16 | rm -rf *.build 17 | rm -rf packagebuild/ 18 | rm -rf python-on-http* 19 | -------------------------------------------------------------------------------- /extra/make-docs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ensure we're always in the right directory. 4 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 5 | cd $SCRIPT_DIR/.. 6 | 7 | npm install 8 | npm run apidoc 9 | npm run taskdoc 10 | -------------------------------------------------------------------------------- /extra/make-npmdeps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ensure we're always in the right directory. 4 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 5 | cd $SCRIPT_DIR/.. 6 | 7 | npm install 8 | -------------------------------------------------------------------------------- /extra/make-npmtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ensure we're always in the right directory. 4 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 5 | cd $SCRIPT_DIR/.. 6 | 7 | npm test 8 | -------------------------------------------------------------------------------- /extra/make-sysdeps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This has to be kept in sync with .travis.yml packages to 4 | # be effective. 5 | 6 | echo "Installing system dependencies" 7 | sudo apt-get update 8 | sudo apt-get install -y \ 9 | debhelper \ 10 | default-jdk \ 11 | devscripts \ 12 | dh-make \ 13 | git \ 14 | libkrb5-dev \ 15 | maven \ 16 | mongodb \ 17 | nodejs \ 18 | nodejs-legacy \ 19 | npm \ 20 | rabbitmq-server \ 21 | pbuilder \ 22 | ubuntu-dev-tools 23 | -------------------------------------------------------------------------------- /extra/make-testcoveralls.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ensure we're always in the right directory. 4 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 5 | cd $SCRIPT_DIR/.. 6 | 7 | ./node_modules/.bin/istanbul cover -x "**/spec/**" ./node_modules/.bin/_mocha --report lcovonly -- $(find spec -name '*-spec.js') -R spec --require spec/helper.js 8 | cat ./coverage/lcov.info | node_modules/.bin/coveralls 9 | -------------------------------------------------------------------------------- /install-swagger-ui.sh: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2017, Dell EMC, Inc. 2 | 3 | cd ./static 4 | rm -rf swagger-ui 5 | curl --fail -L -o swagger-ui.zip https://github.com/rackhd/swagger-ui/archive/master.zip 6 | if [ $? -ne 0 ]; then 7 | echo 'failed to download, retrying' 8 | curl --fail -L -o swagger-ui.zip https://github.com/rackhd/swagger-ui/archive/master.zip \ 9 | || { echo "failed to download, exiting" && exit 1; } 10 | fi 11 | unzip swagger-ui.zip swagger-ui-master/dist* -d swagger-ui 12 | mv swagger-ui/swagger-ui-master/dist/* swagger-ui 13 | rm swagger-ui.zip 14 | -------------------------------------------------------------------------------- /install-task-doc.sh: -------------------------------------------------------------------------------- 1 | # Copyright 2016, EMC, Inc. 2 | 3 | set -e 4 | 5 | if [ ! -d './node_modules/on-tasks/' ]; then 6 | echo 'on-tasks folder not found, please run npm install.' 7 | exit 1 8 | fi 9 | 10 | # Generate task doc from task schemas 11 | cd ./node_modules/on-tasks/ 12 | node task-annotation-generator.js 13 | 14 | # Parse task doc data json to api_data.js so that it can be `require` by template 15 | echo 'define({"api":' > api_data.js 16 | cat task_doc_data.json >> api_data.js 17 | echo '});' >> api_data.js 18 | 19 | cd ../../ 20 | # Copy templates from apidoc, taskdoc leverage apidoc templates for html rendering 21 | cp -rf ./node_modules/apidoc/template/* ./static/taskdoc/ 22 | 23 | # Copy generated json file to ./static folder, override existing files 24 | mv -f ./node_modules/on-tasks/api_data.js ./static/taskdoc 25 | mv -f ./node_modules/on-tasks/task_doc_data.json ./static/taskdoc/api_data.json 26 | 27 | echo "Visit http://:/taskdoc for task documentation web page" 28 | -------------------------------------------------------------------------------- /install-web-ui.sh: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2017, Dell EMC, Inc. 2 | 3 | cd ./static 4 | rm -rf web-ui 5 | githubUser=rackhd 6 | repo=on-web-ui 7 | curl --fail -L -o on-web-ui-gh-pages-2.0.zip https://github.com/${githubUser}/${repo}/archive/gh-pages-2.0.zip 8 | 9 | if [ $? -ne 0 ]; then 10 | echo 'failed to download, retrying' 11 | curl --fail -L -o on-web-ui-gh-pages-2.0 https://github.com/${githubUser}/${repo}/archive/gh-pages-2.0.zip \ 12 | || { echo "failed to download, exiting" && exit 1; } 13 | fi 14 | 15 | unzip on-web-ui-gh-pages-2.0.zip 16 | rm on-web-ui-gh-pages-2.0.zip 17 | mv on-web-ui-gh-pages-2.0 web-ui 18 | -------------------------------------------------------------------------------- /lib/api/2.0/callback.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2017 Dell Inc. or its subsidiaries. All Rights Reserved. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var Errors = injector.get('Errors'); 8 | var callbackService = injector.get('Http.Services.Api.Callback'); 9 | var _ = injector.get('_'); // jshint ignore:line 10 | 11 | 12 | // POST /wsmanCallback/identifier 13 | var callbackPost = controller({success: 201}, function (req) { 14 | if (_.has(req, 'swagger.params.body.value.options.defaults')) { 15 | var id = req.swagger.params.identifier.value; 16 | var data = req.body.options.defaults; 17 | return callbackService.publishHttpCallbackData(id, data); 18 | } else { 19 | throw new Errors.BadRequestError('CALLBACK: Callback data is invalid.'); 20 | } 21 | }); 22 | 23 | // POST /ucsCallback 24 | var ucsCallbackPost = controller({success: 200}, function (req) { 25 | var body = _.defaults(req.body ||{}, req.swagger.body || {}); 26 | var callbackId = req.swagger.query.callbackId || body.callbackId; 27 | if (!callbackId) { 28 | throw new Errors.BadRequestError('callbackId does not exist.'); 29 | } else { 30 | return callbackService.publishHttpCallbackData(callbackId, body); 31 | } 32 | }); 33 | 34 | module.exports = { 35 | callbackPost: callbackPost, 36 | ucsCallbackPost: ucsCallbackPost 37 | }; 38 | -------------------------------------------------------------------------------- /lib/api/2.0/config.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var config = injector.get('Http.Services.Api.Config'); 8 | 9 | var configGet = controller(function(req) { 10 | return config.configGetAll(req.query); 11 | }); 12 | 13 | var configPatch = controller(function(req) { 14 | return config.configSet(req.body); 15 | }); 16 | 17 | module.exports = { 18 | configGet: configGet, 19 | configPut: configPatch, 20 | configPatch: configPatch 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /lib/api/2.0/files.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var staticFiles = injector.get('Http.Services.Api.StaticFiles'); 8 | var fileService = injector.get('fileService'); 9 | 10 | var filesGet = controller(function(req, res) { 11 | res.set('Content-Type', 'application/octet-stream'); 12 | return fileService.getFile(req, res, req.swagger.params.fileidentifier.value); 13 | }); 14 | 15 | var filesPut = controller({success: 201}, function(req) { 16 | return fileService.putFile(req, req.swagger.params.fileidentifier.value); 17 | }); 18 | 19 | var filesMetadataGet = controller(function(req) { 20 | return fileService.getFileMetadata(req.swagger.params.filename.value); 21 | }); 22 | 23 | var filesMd5Get = controller(function(req) { 24 | return fileService.getFileMetadata(req.swagger.params.filename.value); 25 | }); 26 | 27 | var filesGetAll = controller(function() { 28 | return fileService.getFilesAll(); 29 | }); 30 | 31 | var filesDelete = controller({send204OnEmpty: true}, function(req) { 32 | return fileService.deleteFile(req.swagger.params.fileidentifier.value); 33 | }); 34 | 35 | var filesGetAllStatic = controller(function() { 36 | return staticFiles.getAllStaticFiles(); 37 | }); 38 | 39 | 40 | module.exports = { 41 | filesGet: filesGet, 42 | filesPut: filesPut, 43 | filesMetadataGet: filesMetadataGet, 44 | filesMd5Get: filesMd5Get, 45 | filesGetAll: filesGetAll, 46 | filesDelete: filesDelete, 47 | filesGetAllStatic: filesGetAllStatic 48 | }; 49 | -------------------------------------------------------------------------------- /lib/api/2.0/roles2.0.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var _ = injector.get('_'); // jshint ignore:line 8 | var accountService = injector.get('Http.Services.Api.Account'); 9 | 10 | var addRole = controller({ success: 201 }, function (req) { 11 | var roleObj = _.pick(req.swagger.params.body.value, ['role', 'privileges']); 12 | return accountService.createRole(roleObj); 13 | }); 14 | 15 | var modifyRole = controller(function (req) { 16 | var name = req.swagger.params.name.value; 17 | var roleObj = _.pick(req.swagger.params.body.value, ['privileges']); 18 | return accountService.modifyRoleByRoleName(name, roleObj); 19 | }); 20 | 21 | var listRoles = controller(function () { 22 | return accountService.listRoles(); 23 | }); 24 | 25 | var getRole = controller(function (req) { 26 | var name = req.swagger.params.name.value; 27 | return accountService.getRoleByName(name); 28 | }); 29 | 30 | var removeRole = controller({ success: 204 }, function (req) { 31 | var name = req.swagger.params.name.value; 32 | return accountService.removeRoleByName(name); 33 | }); 34 | 35 | module.exports = { 36 | addRole: addRole, 37 | modifyRole: modifyRole, 38 | listRoles: listRoles, 39 | getRole: getRole, 40 | removeRole: removeRole 41 | }; 42 | -------------------------------------------------------------------------------- /lib/api/2.0/tasks.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var tasksApiService = injector.get('Http.Services.Api.Tasks'); 8 | var _ = injector.get('_'); // jshint ignore:line 9 | var Errors = injector.get('Errors'); 10 | 11 | var getBootstrap = controller( function (req, res) { 12 | return tasksApiService.getBootstrap(req, res, req.swagger.params.macAddress.value); 13 | }); 14 | 15 | var getTasksById = controller( function (req){ 16 | return tasksApiService.getTasks(req.swagger.params.identifier.value) 17 | .catch(function (err) { 18 | throw new Errors.NotFoundError('Not Found'); 19 | }); 20 | }); 21 | 22 | var postTaskById = controller( {success: 201}, function (req){ 23 | var config = _.defaults(req.swagger.query || {}, req.body || {}); 24 | return tasksApiService.postTasksById(req.swagger.params.identifier.value, config); 25 | }); 26 | 27 | module.exports = { 28 | getBootstrap: getBootstrap, 29 | getTasksById: getTasksById, 30 | postTaskById: postTaskById 31 | }; 32 | -------------------------------------------------------------------------------- /lib/api/2.0/unimplemented.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | module.exports = { 6 | unimplemented: unimplemented 7 | }; 8 | 9 | function unimplemented(req, res) { 10 | res.sendStatus(501); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /lib/api/login/login.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'), 6 | express = require('express'); 7 | 8 | module.exports = loginRouterFactory; 9 | 10 | di.annotate(loginRouterFactory, new di.Provide('Http.Api.Login')); 11 | di.annotate(loginRouterFactory, new di.Inject( 12 | 'Auth.Services' 13 | ) 14 | ); 15 | 16 | function loginRouterFactory ( 17 | authService 18 | ) { 19 | 20 | 21 | var router = express.Router(); 22 | 23 | /** 24 | * @api {post} /login/ POST / 25 | * @apiVersion 1.1.0 26 | * @apiDescription get a token before accessing other apis 27 | * @apiName login-post 28 | * @apiGroup login 29 | * @apiParam {String} username username used to login 30 | * @apiParam {String} password password used to login 31 | * @apiSuccess {json} a token to be used when accessing other apis: 32 | * { 33 | * "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiY 34 | * WRtaW4iLCJpYXQiOjE0NTI0ODA3MTIsImV4cCI6MTQ1MjU2NzExMn0.Qo-9y 35 | * omlkd0WE1jlEA-L1WqA6k_9qJYhkicQL5IUmSg" 36 | * } 37 | */ 38 | 39 | router.post('/login', authService.authMiddlewareLogin.bind(authService)); 40 | 41 | return router; 42 | } 43 | -------------------------------------------------------------------------------- /lib/api/redfish-1.0/metadata.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var redfish = injector.get('Http.Api.Services.Redfish'); 7 | var Promise = injector.get('Promise'); // jshint ignore:line 8 | var controller = injector.get('Http.Services.Swagger').controller; 9 | var Errors = injector.get('Errors'); 10 | var nodeFs = require('fs'); 11 | var fs = Promise.promisifyAll(nodeFs); 12 | 13 | var getMetadata = controller(function(req, res) { 14 | var fromRoot = process.cwd(); 15 | 16 | res.set('Content-Type', 'application/xml'); 17 | 18 | return Promise.try(function() { 19 | return fs.readFileAsync(fromRoot + '/static/redfishMetadata.xml', 'utf8'); 20 | }) 21 | .then(function(fileContent) { 22 | return fileContent; 23 | }) 24 | .catch(function(error) { 25 | if(error.name === 'AssertionError') { 26 | error = new Errors.NotFoundError('invalid resource: ' + error.message); 27 | } 28 | return redfish.handleError(error, res); 29 | }); 30 | }); 31 | 32 | module.exports = { 33 | getMetadata: getMetadata 34 | }; 35 | -------------------------------------------------------------------------------- /lib/api/redfish-1.0/odata.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var controller = injector.get('Http.Services.Swagger').controller; 7 | var getOdata = controller(function() { 8 | var data = { 9 | "@odata.context": "/redfish/v1/$metadata", 10 | "value": [ 11 | { "name": "Service", "kind": "Singleton", "url": "/redfish/v1/" }, 12 | { "name": "Systems", "kind": "Singleton", "url": "/redfish/v1/Systems" }, 13 | { "name": "Chassis", "kind": "Singleton", "url": "/redfish/v1/Chassis" }, 14 | { "name": "Managers", "kind": "Singleton", "url": "/redfish/v1/Managers" }, 15 | { "name": "UpdateService", "kind": "Singleton", "url": "/redfish/v1/UpdateService" }, 16 | { "name": "TaskService", "kind": "Singleton", "url": "/redfish/v1/TaskService" }, 17 | { "name": "SessionService", "kind": "Singleton", "url": "/redfish/v1/SessionService" }, 18 | { "name": "AccountService", "kind": "Singleton", "url": "/redfish/v1/AccountService" }, 19 | { "name": "EventService", "kind": "Singleton", "url": "/redfish/v1/EventService" }, 20 | { "name": "Registries", "kind": "Singleton", "url": "/redfish/v1/Registries" } 21 | ] 22 | }; 23 | 24 | return data; 25 | 26 | }); 27 | 28 | module.exports = { 29 | getOdata: getOdata 30 | }; 31 | -------------------------------------------------------------------------------- /lib/api/redfish-1.0/redfish-root.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017, EMC, Inc. 2 | 3 | 'use strict'; 4 | var injector = require('../../../index.js').injector; 5 | var controller = injector.get('Http.Services.Swagger').controller; 6 | var getRedfishProtocolVersion = controller(function() { 7 | var data = { 8 | "v1": "/redfish/v1/" 9 | }; 10 | return data; 11 | 12 | }); 13 | 14 | module.exports = { 15 | getRedfishProtocolVersion: getRedfishProtocolVersion 16 | }; 17 | 18 | -------------------------------------------------------------------------------- /lib/api/redfish-1.0/service-root.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../../index.js').injector; 6 | var redfish = injector.get('Http.Api.Services.Redfish'); 7 | var controller = injector.get('Http.Services.Swagger').controller; 8 | 9 | var getServiceRoot = controller(function(req, res) { 10 | var options = redfish.makeOptions(req, res); 11 | var systemUuid = injector.get('SystemUuid'); 12 | return systemUuid.getUuid() 13 | .then(function(uuid) { 14 | options.uuid = uuid; 15 | return redfish.render('redfish.1.0.0.serviceroot.1.0.0.json', 16 | 'ServiceRoot.v1_3_0.json#/definitions/ServiceRoot', 17 | options); 18 | }) 19 | .catch(function(error) { 20 | return redfish.handleError(error, res); 21 | }); 22 | }); 23 | 24 | module.exports = { 25 | getServiceRoot: getServiceRoot 26 | }; 27 | -------------------------------------------------------------------------------- /lib/api/view/view.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | var di = require('di'); 3 | 4 | 'use strict'; 5 | 6 | module.exports = viewServiceFactory; 7 | 8 | di.annotate(viewServiceFactory, new di.Provide('Views')); 9 | di.annotate(viewServiceFactory, new di.Inject( 10 | 'Constants', 11 | 'DbRenderableContent', 12 | 'Util' 13 | )); 14 | 15 | function viewServiceFactory(Constants, DbRenderable, Util) { 16 | Util.inherits(ViewService, DbRenderable); 17 | 18 | function ViewService() { 19 | DbRenderable.call(this, { 20 | directory: Constants.Views.Directory, 21 | collectionName: 'views' 22 | }); 23 | } 24 | 25 | return new ViewService(); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /lib/fittings/swagger_authn.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../index.js').injector; 6 | var debug = require('debug')('swagger:authn'); 7 | 8 | module.exports = function create(fittingDef, bagpipes) { 9 | var authn = injector.get('Auth.Services'); 10 | var runner = bagpipes.config.swaggerNodeRunner; 11 | var authEnabled = runner.config.swagger.authEnabled; 12 | return function swagger_authn(context, next) { // jshint ignore:line 13 | var operation = context.request.swagger.operation; 14 | var authType = operation['x-authentication-type']; 15 | if(!authEnabled || !authType) { 16 | debug('skipping authn'); 17 | return next(); 18 | } 19 | return authn.authenticateWithMethod(context.request, context.response, next, authType); 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /lib/fittings/swagger_render.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var injector = require('../../index.js').injector; 6 | var _ = injector.get('_'); 7 | 8 | module.exports = function create(fittingDef) { 9 | injector = require('../../index.js').injector; 10 | var swag = injector.get('Http.Services.Swagger'); 11 | return function swagger_render(context, next) { // jshint ignore:line 12 | if (!context.response.headersSent) { 13 | var templateNameKey = fittingDef.templateNameKey; 14 | var operation = context.request.swagger.operation; 15 | var template = operation[templateNameKey]; 16 | return swag.renderer(context.request, context.response, template, next); 17 | } 18 | }; 19 | }; 20 | -------------------------------------------------------------------------------- /lib/serializables/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/lib/serializables/.gitkeep -------------------------------------------------------------------------------- /lib/serializables/v1/boot.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'); 6 | 7 | module.exports = BootFactory; 8 | 9 | di.annotate(BootFactory, new di.Provide('Serializables.V1.Boot')); 10 | di.annotate(BootFactory, 11 | new di.Inject( 12 | 'Promise', 13 | 'Serializable' 14 | ) 15 | ); 16 | 17 | function BootFactory ( 18 | Promise, 19 | Serializable 20 | ) { 21 | function Boot (defaults) { 22 | Serializable.call( 23 | this, 24 | Boot.schema, 25 | defaults 26 | ); 27 | } 28 | 29 | Boot.schema = { 30 | id: 'Serializables.V1.Boot', 31 | type: 'object', 32 | properties: { 33 | profile: { 34 | type: 'string' 35 | }, 36 | options: { 37 | type: 'object' 38 | } 39 | }, 40 | required: [ 'profile', 'options' ] 41 | }; 42 | 43 | Serializable.register(BootFactory, Boot); 44 | 45 | return Boot; 46 | } 47 | -------------------------------------------------------------------------------- /lib/serializables/v1/lookup.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'); 6 | 7 | module.exports = LookupFactory; 8 | 9 | di.annotate(LookupFactory, new di.Provide('Serializables.V1.Lookup')); 10 | di.annotate(LookupFactory, 11 | new di.Inject( 12 | 'Serializable' 13 | ) 14 | ); 15 | 16 | function LookupFactory (Serializable) { 17 | function Lookup (defaults) { 18 | Serializable.call( 19 | this, 20 | Lookup.schema, 21 | defaults 22 | ); 23 | } 24 | 25 | Lookup.schema = { 26 | id: 'Serializables.V1.Lookup', 27 | type: 'object', 28 | properties: { 29 | node: { 30 | type: 'string' 31 | }, 32 | ipAddress: { 33 | type: 'string', 34 | format: 'ipv4' 35 | }, 36 | macAddress: { 37 | type: 'string', 38 | pattern: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$' 39 | } 40 | }, 41 | required: [ 'macAddress' ] 42 | }; 43 | 44 | Serializable.register(LookupFactory, Lookup); 45 | 46 | return Lookup; 47 | } 48 | -------------------------------------------------------------------------------- /lib/serializables/v1/snmp.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | module.exports = SnmpFactory; 6 | 7 | SnmpFactory.$provide = 'Serializables.V1.Snmp'; 8 | SnmpFactory.$inject = [ 9 | 'Promise', 10 | 'Serializable', 11 | 'Services.Encryption' 12 | ]; 13 | 14 | function SnmpFactory (Promise, Serializable, encryption) { 15 | 16 | function Snmp (defaults) { 17 | Serializable.call(this, Snmp.schema, defaults); 18 | } 19 | 20 | Snmp.schema = { 21 | id: 'Serializables.V1.Snmp', 22 | type: 'object', 23 | properties: { 24 | service: { 25 | type: 'string' 26 | }, 27 | config: { 28 | type: 'object', 29 | required: [ 'host', 'community' ], 30 | host: { 31 | type: 'string' 32 | }, 33 | community: { 34 | type: 'string' 35 | } 36 | } 37 | }, 38 | required: [ 'service', 'config' ] 39 | }; 40 | 41 | Serializable.register(SnmpFactory, Snmp); 42 | 43 | Snmp.prototype.serialize = function (target) { 44 | this.defaults(target); 45 | this.config.community = 'REDACTED'; 46 | return Promise.resolve(this); 47 | }; 48 | 49 | Snmp.prototype.deserialize = function (target) { 50 | var self = this; 51 | self.defaults(target); 52 | if (self.config.community) { 53 | self.config.community = encryption.encrypt(self.config.community); 54 | } 55 | return self.validateAsModel(); 56 | }; 57 | 58 | return Snmp; 59 | } 60 | -------------------------------------------------------------------------------- /lib/services/callback-api-service.js: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Dell Inc. or its subsidiaries. All Rights Reserved. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'); 6 | 7 | module.exports = CallbackApiServiceFactory; 8 | di.annotate(CallbackApiServiceFactory, new di.Provide('Http.Services.Api.Callback')); 9 | di.annotate(CallbackApiServiceFactory, 10 | new di.Inject( 11 | 'Protocol.Events' 12 | ) 13 | ); 14 | 15 | function CallbackApiServiceFactory( 16 | eventsProtocol 17 | ) { 18 | 19 | function CallbackApiService() { 20 | } 21 | 22 | CallbackApiService.prototype.publishHttpCallbackData = function(id, data) { 23 | return eventsProtocol.publishHttpResponseUuid(id, data); 24 | }; 25 | 26 | return new CallbackApiService(); 27 | } 28 | -------------------------------------------------------------------------------- /lib/services/catalogs-api-service.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'); 6 | 7 | module.exports = catalogApiServiceFactory; 8 | di.annotate(catalogApiServiceFactory, new di.Provide('Http.Services.Api.Catalogs')); 9 | di.annotate(catalogApiServiceFactory, 10 | new di.Inject( 11 | 'Services.Waterline' 12 | ) 13 | ); 14 | function catalogApiServiceFactory( 15 | waterline 16 | ) { 17 | 18 | function CatalogApiService() { 19 | } 20 | 21 | /** 22 | * Get list of catalogs 23 | * @param {Object} query [req.query] HTTP request 24 | * @return {Promise} 25 | */ 26 | CatalogApiService.prototype.getCatalog = function(query) { 27 | return waterline.catalogs.findMongo(query); 28 | }; 29 | 30 | /** 31 | * Get specific catalog details 32 | * @param identifier [req.params.identifier] HTTP request 33 | * @return {Promise} 34 | */ 35 | CatalogApiService.prototype.getCatalogById = function(id) { 36 | return waterline.catalogs.needByIdentifier(id); 37 | }; 38 | 39 | 40 | /** 41 | * Get specific firmware catalog details 42 | * @param identifier [req.params.identifier] HTTP request 43 | * @return {Promise} 44 | */ 45 | CatalogApiService.prototype.getFirmwareCatalogById = function(id) { 46 | return waterline.firmware.find({nodeId:id}) ; 47 | }; 48 | 49 | 50 | return new CatalogApiService(); 51 | } 52 | -------------------------------------------------------------------------------- /lib/services/config-api-service.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'); 6 | 7 | module.exports = configApiServiceFactory; 8 | di.annotate(configApiServiceFactory, new di.Provide('Http.Services.Api.Config')); 9 | di.annotate(configApiServiceFactory, 10 | new di.Inject( 11 | 'Services.Configuration', 12 | '_' 13 | ) 14 | ); 15 | function configApiServiceFactory( 16 | configuration, 17 | _ 18 | ) { 19 | function ConfigApiService() { 20 | } 21 | 22 | /** 23 | * Get server configuration 24 | * @return {Promise} 25 | */ 26 | 27 | ConfigApiService.prototype.configGetAll = function () { 28 | // get the config 29 | 30 | return configuration.getAll(); 31 | }; 32 | 33 | /** 34 | * Set server configuration 35 | * @param {Object} [req] HTTP request 36 | * @param {Object} [res] HTTP response 37 | * @return {Promise} 38 | */ 39 | 40 | ConfigApiService.prototype.configSet = function(config) { 41 | 42 | _.forOwn(config, function (value, key) { 43 | configuration.set(key, value); 44 | }); 45 | 46 | return configuration.getAll(); 47 | }; 48 | 49 | return new ConfigApiService(); 50 | } 51 | -------------------------------------------------------------------------------- /migrate.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | 3 | 'use strict'; 4 | 5 | var di = require('di'), 6 | core = require('on-core')(di), 7 | injector = new di.Injector(core.injectables), 8 | services = injector.get('Services.Core'), 9 | Promise = injector.get('Promise'), 10 | configuration = injector.get('Services.Configuration'); 11 | 12 | return Promise.resolve().then(function () { 13 | configuration.set('migrate', 'alter'); 14 | }) 15 | .then(services.start) 16 | .then(process.exit); 17 | 18 | -------------------------------------------------------------------------------- /skupack.d/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/skupack.d/README.md -------------------------------------------------------------------------------- /spec/lib/api/2.0/config-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | 'use strict'; 5 | 6 | describe('Http.Api.Config v2.0', function () { 7 | var configuration; 8 | 9 | helper.httpServerBefore(); 10 | 11 | before(function () { 12 | configuration = helper.injector.get('Services.Configuration'); 13 | }); 14 | 15 | beforeEach('set up mocks', function() { 16 | this.sandbox.stub(configuration, 'set').returns(configuration); 17 | this.sandbox.stub(configuration, 'getAll').returns({}); 18 | }); 19 | 20 | helper.httpServerAfter(); 21 | 22 | it('should return configuration', function () { 23 | return helper.request().get('/api/2.0/config') 24 | .expect('Content-Type', /^application\/json/) 25 | .expect(200, {}) 26 | .expect(function () { 27 | expect(configuration.getAll).to.have.been.calledOnce; 28 | }); 29 | }); 30 | 31 | it('should edit configuration', function () { 32 | return helper.request().patch('/api/2.0/config') 33 | .send({ dummySetting: 'magic' }) 34 | .expect('Content-Type', /^application\/json/) 35 | .expect(200) 36 | .expect(function () { 37 | expect(configuration.set).to.have.been.calledOnce; 38 | expect(configuration.set).to.have.been.calledWith('dummySetting', 'magic'); 39 | expect(configuration.getAll).to.have.been.calledOnce; 40 | }); 41 | }); 42 | }); 43 | -------------------------------------------------------------------------------- /spec/lib/api/redfish-1.0/odata-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | 'use strict'; 5 | 6 | describe('Redfish odata', function () { 7 | before('start HTTP server', function () { 8 | this.timeout(10000); 9 | return helper.startServer([]); 10 | }); 11 | 12 | afterEach('tear down mocks', function () { 13 | }); 14 | 15 | after('stop HTTP server', function () { 16 | return helper.stopServer(); 17 | }); 18 | 19 | it('should return the correct odata', function () { 20 | return helper.request().get('/redfish/v1/odata') 21 | .expect('Content-Type', "application/json; charset=utf-8") 22 | .expect(200); 23 | }); 24 | 25 | }); 26 | 27 | -------------------------------------------------------------------------------- /spec/lib/api/redfish-1.0/redfish-root-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | 'use strict'; 5 | 6 | describe('Redfish root', function () { 7 | before('start HTTP server', function () { 8 | this.timeout(10000); 9 | return helper.startServer([]); 10 | }); 11 | 12 | afterEach('tear down mocks', function () { 13 | }); 14 | 15 | after('stop HTTP server', function () { 16 | return helper.stopServer(); 17 | }); 18 | 19 | it('should return the correct redfish-root endpoint', function () { 20 | return helper.request().get('/redfish') 21 | .expect('Content-Type', "application/json; charset=utf-8") 22 | .expect(200); 23 | }); 24 | 25 | }); 26 | -------------------------------------------------------------------------------- /spec/lib/common/file-loader-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | 'use strict'; 5 | 6 | describe(require('path').basename(__filename), function () { 7 | it('needs specs'); 8 | }); 9 | -------------------------------------------------------------------------------- /spec/lib/services/gridfs-service-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | 'use strict'; 5 | 6 | describe(require('path').basename(__filename), function () { 7 | it('needs specs'); 8 | }); 9 | -------------------------------------------------------------------------------- /spec/lib/services/sku-static/pack.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/lib/services/sku-static/pack.tar.gz -------------------------------------------------------------------------------- /spec/lib/services/tags-api-service-spec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016, EMC, Inc. 2 | /* jshint node:true */ 3 | 4 | "use strict"; 5 | 6 | describe("Http.Services.Api.Tags", function () { 7 | 8 | }); 9 | -------------------------------------------------------------------------------- /spec/mock-consul-server.js: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Dell Inc. or its subsidiaries. All Rights Reserved. 2 | 3 | 'use strict'; 4 | 5 | var _ = require('lodash'); 6 | 7 | var serviceList = []; 8 | 9 | var consul = { 10 | agent: { 11 | service: { 12 | serviceList: serviceList, 13 | list: function () { 14 | return new Promise(function (resolve) { 15 | resolve(serviceList); 16 | }); 17 | }, 18 | register: function (service) { 19 | serviceList.push(service); 20 | }, 21 | deregister: function (serviceId) { 22 | _.remove(serviceList, function (id) { 23 | id === serviceId.id; 24 | }); 25 | } 26 | } 27 | } 28 | }; 29 | 30 | function mockConsulServer() { 31 | return consul; 32 | } 33 | 34 | module.exports = mockConsulServer; 35 | -------------------------------------------------------------------------------- /spec/mock-grpc.js: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Dell Inc. or its subsidiaries. All Rights Reserved. 2 | 3 | 'use strict'; 4 | 5 | var response; 6 | 7 | var functions = { 8 | getTasksById: function(client, callback) { 9 | if (client.identifier === undefined) { 10 | return callback('invalid task id', undefined); 11 | } else { 12 | return callback(undefined, {response: response}); 13 | } 14 | }, 15 | workflowsGet: function(client, callback) { 16 | if (typeof response === 'object') { 17 | throw response; 18 | } 19 | return callback(undefined, {response: response}); 20 | } 21 | }; 22 | 23 | var scheduler = { 24 | scheduler: { 25 | Scheduler: function() { 26 | return functions; 27 | } 28 | } 29 | }; 30 | 31 | var mockGrpc = { 32 | credentials: { 33 | createInsecure: function() {} 34 | }, 35 | load: function() { 36 | return scheduler; 37 | }, 38 | setResponse: function(res) { 39 | response = res; 40 | } 41 | }; 42 | 43 | module.exports = mockGrpc; -------------------------------------------------------------------------------- /spec/mocks/skupack.d/skipped/c-notRead: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/skupack.d/skipped/c-notRead -------------------------------------------------------------------------------- /spec/mocks/skupack.d/sku-id/static/common/found-3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/skupack.d/sku-id/static/common/found-3 -------------------------------------------------------------------------------- /spec/mocks/skupack.d/sku-id/static/found-2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/skupack.d/sku-id/static/found-2 -------------------------------------------------------------------------------- /spec/mocks/static/a-notRead: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/static/a-notRead -------------------------------------------------------------------------------- /spec/mocks/static/http/found: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/static/http/found -------------------------------------------------------------------------------- /spec/mocks/static/http/foundFile2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/static/http/foundFile2 -------------------------------------------------------------------------------- /spec/mocks/static/temp/b-notRead: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/spec/mocks/static/temp/b-notRead -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/.gitkeep -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/README-IS-0005.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/DSP-IS0005_0.1a/README-IS-0005.pdf -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/AirHandlingUnit.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#AirHandlingUnit.AirHandlingUnit", 4 | "$ref": "#/definitions/AirHandlingUnit", 5 | "definitions": { 6 | "AirHandlingUnit": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/AirHandlingUnit.v0_1_0.json#/definitions/AirHandlingUnit" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/CRAC.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#CRAC.CRAC", 4 | "$ref": "#/definitions/CRAC", 5 | "definitions": { 6 | "CRAC": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/CRAC.v0_1_0.json#/definitions/CRAC" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/CRAH.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#CRAH.CRAH", 4 | "$ref": "#/definitions/CRAH", 5 | "definitions": { 6 | "CRAH": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/CRAH.v0_1_0.json#/definitions/CRAH" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Chiller.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Chiller.Chiller", 4 | "$ref": "#/definitions/Chiller", 5 | "definitions": { 6 | "Chiller": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Chiller.v0_1_0.json#/definitions/Chiller" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/CoolingTower.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#CoolingTower.CoolingTower", 4 | "$ref": "#/definitions/CoolingTower", 5 | "definitions": { 6 | "CoolingTower": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/CoolingTower.v0_1_0.json#/definitions/CoolingTower" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/DCIMCooling.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#DCIMCooling.DCIMCooling", 4 | "$ref": "#/definitions/DCIMCooling", 5 | "definitions": { 6 | "DCIMCooling": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/DCIMCooling.v0_1_0.json#/definitions/DCIMCooling" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/DCIMPower.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#DCIMPower.DCIMPower", 4 | "$ref": "#/definitions/DCIMPower", 5 | "definitions": { 6 | "DCIMPower": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/DCIMPower.v0_1_0.json#/definitions/DCIMPower" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Generator.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Generator.Generator", 4 | "$ref": "#/definitions/Generator", 5 | "definitions": { 6 | "Generator": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Generator.v0_1_0.json#/definitions/Generator" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/PDU.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#PDU.PDU", 4 | "$ref": "#/definitions/PDU", 5 | "definitions": { 6 | "PDU": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/PDU.v0_1_0.json#/definitions/PDU" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/RackPDU.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#RackPDU.RackPDU", 4 | "$ref": "#/definitions/RackPDU", 5 | "definitions": { 6 | "RackPDU": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/RackPDU.v0_1_0.json#/definitions/RackPDU" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Rectifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Rectifier.Rectifier", 4 | "$ref": "#/definitions/Rectifier", 5 | "definitions": { 6 | "Rectifier": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Rectifier.v0_1_0.json#/definitions/Rectifier" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Sensor.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Sensor.Sensor", 4 | "$ref": "#/definitions/Sensor", 5 | "definitions": { 6 | "Sensor": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.v0_1_0.json#/definitions/Sensor" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Switchgear.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Switchgear.Switchgear", 4 | "$ref": "#/definitions/Switchgear", 5 | "definitions": { 6 | "Switchgear": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Switchgear.v0_1_0.json#/definitions/Switchgear" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/TransferSwitch.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#TransferSwitch.TransferSwitch", 4 | "$ref": "#/definitions/TransferSwitch", 5 | "definitions": { 6 | "TransferSwitch": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/TransferSwitch.v0_1_0.json#/definitions/TransferSwitch" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/Transformer.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#Transformer.Transformer", 4 | "$ref": "#/definitions/Transformer", 5 | "definitions": { 6 | "Transformer": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Transformer.v0_1_0.json#/definitions/Transformer" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/UPS.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#UPS.UPS", 4 | "$ref": "#/definitions/UPS", 5 | "definitions": { 6 | "UPS": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/UPS.v0_1_0.json#/definitions/UPS" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP-IS0005_0.1a/json-schema/VFD.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", 3 | "title": "#VFD.VFD", 4 | "$ref": "#/definitions/VFD", 5 | "definitions": { 6 | "VFD": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/VFD.v0_1_0.json#/definitions/VFD" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/README8010.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/DSP8010_2016.3/README8010.pdf -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema-oem/MessageRegistryFile.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.1.0.0.json", 3 | "title": "#MessageRegistryFile.MessageRegistryFile", 4 | "$ref": "#/definitions/MessageRegistryFile", 5 | "definitions": { 6 | "MessageRegistryFile": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/MessageRegistryFile.1.0.0.json#/definitions/MessageRegistryFile" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2015 Distributed Management Task Force, Inc. (DMTF). All rights reserved." 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema-oem/RackHD.ResetAction.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.1.0.0.json", 3 | "title": "#RackHD.ResetAction", 4 | "$ref": "#/definitions/ResetAction", 5 | "definitions": { 6 | "ResetAction": { 7 | "patternProperties": { 8 | "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": { 9 | "type": [ 10 | "array", 11 | "boolean", 12 | "number", 13 | "null", 14 | "object", 15 | "string" 16 | ], 17 | "description": "This property shall specify a valid odata or Redfish property." 18 | } 19 | }, 20 | "additionalProperties": false, 21 | "properties": { 22 | "ResetType": { 23 | "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType" 24 | } 25 | }, 26 | "required": [ 27 | "ResetType" 28 | ], 29 | "description": "This is the base type for the reset action." 30 | } 31 | }, 32 | "copyright": "Copyright 2016 EMC, Inc." 33 | } 34 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/AccountService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#AccountService.AccountService", 4 | "$ref": "#/definitions/AccountService", 5 | "definitions": { 6 | "AccountService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_0_0.json#/definitions/AccountService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_0_2.json#/definitions/AccountService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_0_3.json#/definitions/AccountService" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_1_0.json#/definitions/AccountService" 22 | } 23 | ] 24 | } 25 | }, 26 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 27 | } 28 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/ActionInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#ActionInfo.ActionInfo", 4 | "$ref": "#/definitions/ActionInfo", 5 | "definitions": { 6 | "ActionInfo": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/ActionInfo.v1_0_0.json#/definitions/ActionInfo" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/ActionInfo.v1_0_1.json#/definitions/ActionInfo" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/AttributeRegistry.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#AttributeRegistry.AttributeRegistry", 4 | "$ref": "#/definitions/AttributeRegistry", 5 | "definitions": { 6 | "AttributeRegistry": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_0_0.json#/definitions/AttributeRegistry" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_0_1.json#/definitions/AttributeRegistry" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Bios.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Bios.Bios", 4 | "$ref": "#/definitions/Bios", 5 | "definitions": { 6 | "Bios": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Bios.v1_0_0.json#/definitions/Bios" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Bios.v1_0_1.json#/definitions/Bios" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Drive.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Drive.Drive", 4 | "$ref": "#/definitions/Drive", 5 | "definitions": { 6 | "Drive": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.v1_0_0.json#/definitions/Drive" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.v1_0_1.json#/definitions/Drive" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.v1_0_2.json#/definitions/Drive" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.v1_1_0.json#/definitions/Drive" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.v1_1_1.json#/definitions/Drive" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Endpoint.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Endpoint.Endpoint", 4 | "$ref": "#/definitions/Endpoint", 5 | "definitions": { 6 | "Endpoint": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.v1_0_0.json#/definitions/Endpoint" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.v1_0_1.json#/definitions/Endpoint" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/EventDestination.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#EventDestination.EventDestination", 4 | "$ref": "#/definitions/EventDestination", 5 | "definitions": { 6 | "EventDestination": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_0_0.json#/definitions/EventDestination" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_0_2.json#/definitions/EventDestination" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_0_3.json#/definitions/EventDestination" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_1_0.json#/definitions/EventDestination" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_1_1.json#/definitions/EventDestination" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/EventService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#EventService.EventService", 4 | "$ref": "#/definitions/EventService", 5 | "definitions": { 6 | "EventService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventService.v1_0_0.json#/definitions/EventService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventService.v1_0_2.json#/definitions/EventService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/EventService.v1_0_3.json#/definitions/EventService" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Fabric.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Fabric.Fabric", 4 | "$ref": "#/definitions/Fabric", 5 | "definitions": { 6 | "Fabric": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_0_0.json#/definitions/Fabric" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_0_1.json#/definitions/Fabric" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/HostInterface.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#HostInterface.HostInterface", 4 | "$ref": "#/definitions/HostInterface", 5 | "definitions": { 6 | "HostInterface": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/HostInterface.v1_0_0.json#/definitions/HostInterface" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/JsonSchemaFile.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#JsonSchemaFile.JsonSchemaFile", 4 | "$ref": "#/definitions/JsonSchemaFile", 5 | "definitions": { 6 | "JsonSchemaFile": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/JsonSchemaFile.v1_0_0.json#/definitions/JsonSchemaFile" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/JsonSchemaFile.v1_0_2.json#/definitions/JsonSchemaFile" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/JsonSchemaFile.v1_0_3.json#/definitions/JsonSchemaFile" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/LogEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#LogEntry.LogEntry", 4 | "$ref": "#/definitions/LogEntry", 5 | "definitions": { 6 | "LogEntry": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_0_0.json#/definitions/LogEntry" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_0_2.json#/definitions/LogEntry" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_0_3.json#/definitions/LogEntry" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_1_0.json#/definitions/LogEntry" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_1_1.json#/definitions/LogEntry" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/LogService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#LogService.LogService", 4 | "$ref": "#/definitions/LogService", 5 | "definitions": { 6 | "LogService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.v1_0_0.json#/definitions/LogService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.v1_0_2.json#/definitions/LogService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.v1_0_3.json#/definitions/LogService" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/ManagerAccount.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#ManagerAccount.ManagerAccount", 4 | "$ref": "#/definitions/ManagerAccount", 5 | "definitions": { 6 | "ManagerAccount": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_0_0.json#/definitions/ManagerAccount" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_0_2.json#/definitions/ManagerAccount" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_0_3.json#/definitions/ManagerAccount" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/ManagerNetworkProtocol.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#ManagerNetworkProtocol.ManagerNetworkProtocol", 4 | "$ref": "#/definitions/ManagerNetworkProtocol", 5 | "definitions": { 6 | "ManagerNetworkProtocol": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.v1_0_0.json#/definitions/ManagerNetworkProtocol" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.v1_0_2.json#/definitions/ManagerNetworkProtocol" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.v1_0_3.json#/definitions/ManagerNetworkProtocol" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.v1_1_0.json#/definitions/ManagerNetworkProtocol" 22 | } 23 | ] 24 | } 25 | }, 26 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 27 | } 28 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Memory.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Memory.Memory", 4 | "$ref": "#/definitions/Memory", 5 | "definitions": { 6 | "Memory": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.v1_0_0.json#/definitions/Memory" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.v1_0_1.json#/definitions/Memory" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.v1_1_0.json#/definitions/Memory" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/MemoryChunks.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#MemoryChunks.MemoryChunks", 4 | "$ref": "#/definitions/MemoryChunks", 5 | "definitions": { 6 | "MemoryChunks": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.v1_0_0.json#/definitions/MemoryChunks" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.v1_0_1.json#/definitions/MemoryChunks" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/MemoryDomain.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#MemoryDomain.MemoryDomain", 4 | "$ref": "#/definitions/MemoryDomain", 5 | "definitions": { 6 | "MemoryDomain": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_0_0.json#/definitions/MemoryDomain" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_0_1.json#/definitions/MemoryDomain" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_1_0.json#/definitions/MemoryDomain" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/MemoryMetrics.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#MemoryMetrics.MemoryMetrics", 4 | "$ref": "#/definitions/MemoryMetrics", 5 | "definitions": { 6 | "MemoryMetrics": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryMetrics.v1_0_0.json#/definitions/MemoryMetrics" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryMetrics.v1_0_1.json#/definitions/MemoryMetrics" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryMetrics.v1_1_0.json#/definitions/MemoryMetrics" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryMetrics.v1_1_1.json#/definitions/MemoryMetrics" 22 | } 23 | ] 24 | } 25 | }, 26 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 27 | } 28 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/MessageRegistry.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#MessageRegistry.MessageRegistry", 4 | "$ref": "#/definitions/MessageRegistry", 5 | "definitions": { 6 | "MessageRegistry": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistry.v1_0_0.json#/definitions/MessageRegistry" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistry.v1_0_2.json#/definitions/MessageRegistry" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistry.v1_0_3.json#/definitions/MessageRegistry" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/MessageRegistryFile.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#MessageRegistryFile.MessageRegistryFile", 4 | "$ref": "#/definitions/MessageRegistryFile", 5 | "definitions": { 6 | "MessageRegistryFile": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistryFile.v1_0_0.json#/definitions/MessageRegistryFile" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistryFile.v1_0_2.json#/definitions/MessageRegistryFile" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistryFile.v1_0_3.json#/definitions/MessageRegistryFile" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/NetworkAdapter.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#NetworkAdapter.NetworkAdapter", 4 | "$ref": "#/definitions/NetworkAdapter", 5 | "definitions": { 6 | "NetworkAdapter": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkAdapter.v1_0_0.json#/definitions/NetworkAdapter" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/NetworkDeviceFunction.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#NetworkDeviceFunction.NetworkDeviceFunction", 4 | "$ref": "#/definitions/NetworkDeviceFunction", 5 | "definitions": { 6 | "NetworkDeviceFunction": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.v1_0_0.json#/definitions/NetworkDeviceFunction" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/NetworkInterface.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#NetworkInterface.NetworkInterface", 4 | "$ref": "#/definitions/NetworkInterface", 5 | "definitions": { 6 | "NetworkInterface": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkInterface.v1_0_0.json#/definitions/NetworkInterface" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/NetworkPort.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#NetworkPort.NetworkPort", 4 | "$ref": "#/definitions/NetworkPort", 5 | "definitions": { 6 | "NetworkPort": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.v1_0_0.json#/definitions/NetworkPort" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/PCIeDevice.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#PCIeDevice.PCIeDevice", 4 | "$ref": "#/definitions/PCIeDevice", 5 | "definitions": { 6 | "PCIeDevice": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.v1_0_0.json#/definitions/PCIeDevice" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.v1_0_1.json#/definitions/PCIeDevice" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/PCIeFunction.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#PCIeFunction.PCIeFunction", 4 | "$ref": "#/definitions/PCIeFunction", 5 | "definitions": { 6 | "PCIeFunction": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_0_0.json#/definitions/PCIeFunction" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_0_1.json#/definitions/PCIeFunction" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Port.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Port.Port", 4 | "$ref": "#/definitions/Port", 5 | "definitions": { 6 | "Port": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Port.v1_0_0.json#/definitions/Port" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Port.v1_0_1.json#/definitions/Port" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/PrivilegeRegistry.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#PrivilegeRegistry.PrivilegeRegistry", 4 | "$ref": "#/definitions/PrivilegeRegistry", 5 | "definitions": { 6 | "PrivilegeRegistry": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/PrivilegeRegistry.v1_0_0.json#/definitions/PrivilegeRegistry" 13 | } 14 | ] 15 | } 16 | }, 17 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 18 | } 19 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Privileges.v1_0_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Privileges.v1_0_3", 4 | "definitions": { 5 | "PrivilegeType": { 6 | "type": "string", 7 | "enum": [ 8 | "Login", 9 | "ConfigureManager", 10 | "ConfigureUsers", 11 | "ConfigureSelf", 12 | "ConfigureComponents" 13 | ], 14 | "enumDescriptions": { 15 | "Login": "Able to log into the service and read resources.", 16 | "ConfigureManager": "Able to configure Manager resources.", 17 | "ConfigureUsers": "Able to configure Users and their Accounts.", 18 | "ConfigureSelf": "Able to change the password for the current user Account.", 19 | "ConfigureComponents": "Able to configure components managed by this service." 20 | } 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Processor.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Processor.Processor", 4 | "$ref": "#/definitions/Processor", 5 | "definitions": { 6 | "Processor": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.v1_0_0.json#/definitions/Processor" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.v1_0_2.json#/definitions/Processor" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.v1_0_3.json#/definitions/Processor" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Redundancy.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Redundancy", 4 | "definitions": { 5 | "Redundancy": { 6 | "anyOf": [ 7 | { 8 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 9 | }, 10 | { 11 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_0_0.json#/definitions/Redundancy" 12 | }, 13 | { 14 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_0_1.json#/definitions/Redundancy" 15 | }, 16 | { 17 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_0_2.json#/definitions/Redundancy" 18 | }, 19 | { 20 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_0_3.json#/definitions/Redundancy" 21 | }, 22 | { 23 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_1_0.json#/definitions/Redundancy" 24 | }, 25 | { 26 | "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.v1_1_1.json#/definitions/Redundancy" 27 | } 28 | ] 29 | } 30 | }, 31 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 32 | } 33 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Role.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Role.Role", 4 | "$ref": "#/definitions/Role", 5 | "definitions": { 6 | "Role": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Role.v1_0_0.json#/definitions/Role" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Role.v1_0_2.json#/definitions/Role" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/SecureBoot.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#SecureBoot.SecureBoot", 4 | "$ref": "#/definitions/SecureBoot", 5 | "definitions": { 6 | "SecureBoot": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/SecureBoot.v1_0_0.json#/definitions/SecureBoot" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/SecureBoot.v1_0_1.json#/definitions/SecureBoot" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/SerialInterface.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#SerialInterface.SerialInterface", 4 | "$ref": "#/definitions/SerialInterface", 5 | "definitions": { 6 | "SerialInterface": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/SerialInterface.v1_0_0.json#/definitions/SerialInterface" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/SerialInterface.v1_0_2.json#/definitions/SerialInterface" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/SerialInterface.v1_0_3.json#/definitions/SerialInterface" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/ServiceRoot.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#ServiceRoot.ServiceRoot", 4 | "$ref": "#/definitions/ServiceRoot", 5 | "definitions": { 6 | "ServiceRoot": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_0_0.json#/definitions/ServiceRoot" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_0_2.json#/definitions/ServiceRoot" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_0_3.json#/definitions/ServiceRoot" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_0_4.json#/definitions/ServiceRoot" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_1_0.json#/definitions/ServiceRoot" 25 | }, 26 | { 27 | "$ref": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_1_1.json#/definitions/ServiceRoot" 28 | } 29 | ] 30 | } 31 | }, 32 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 33 | } 34 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Session.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Session.Session", 4 | "$ref": "#/definitions/Session", 5 | "definitions": { 6 | "Session": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Session.v1_0_0.json#/definitions/Session" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Session.v1_0_2.json#/definitions/Session" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Session.v1_0_3.json#/definitions/Session" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/SessionService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#SessionService.SessionService", 4 | "$ref": "#/definitions/SessionService", 5 | "definitions": { 6 | "SessionService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.v1_0_0.json#/definitions/SessionService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.v1_0_2.json#/definitions/SessionService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.v1_0_3.json#/definitions/SessionService" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.v1_1_0.json#/definitions/SessionService" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.v1_1_1.json#/definitions/SessionService" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/SimpleStorage.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#SimpleStorage.SimpleStorage", 4 | "$ref": "#/definitions/SimpleStorage", 5 | "definitions": { 6 | "SimpleStorage": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.v1_0_0.json#/definitions/SimpleStorage" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.v1_0_2.json#/definitions/SimpleStorage" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.v1_0_3.json#/definitions/SimpleStorage" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.v1_1_0.json#/definitions/SimpleStorage" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorage.v1_1_1.json#/definitions/SimpleStorage" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/SoftwareInventory.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#SoftwareInventory.SoftwareInventory", 4 | "$ref": "#/definitions/SoftwareInventory", 5 | "definitions": { 6 | "SoftwareInventory": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.v1_0_0.json#/definitions/SoftwareInventory" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.v1_0_1.json#/definitions/SoftwareInventory" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.v1_1_0.json#/definitions/SoftwareInventory" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Storage.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Storage.Storage", 4 | "$ref": "#/definitions/Storage", 5 | "definitions": { 6 | "Storage": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.v1_0_0.json#/definitions/Storage" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.v1_0_1.json#/definitions/Storage" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.v1_0_2.json#/definitions/Storage" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.v1_1_0.json#/definitions/Storage" 22 | }, 23 | { 24 | "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.v1_1_1.json#/definitions/Storage" 25 | } 26 | ] 27 | } 28 | }, 29 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 30 | } 31 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Switch.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Switch.Switch", 4 | "$ref": "#/definitions/Switch", 5 | "definitions": { 6 | "Switch": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.v1_0_0.json#/definitions/Switch" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.v1_0_1.json#/definitions/Switch" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Task.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Task.Task", 4 | "$ref": "#/definitions/Task", 5 | "definitions": { 6 | "Task": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Task.v1_0_0.json#/definitions/Task" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Task.v1_0_2.json#/definitions/Task" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/Task.v1_0_3.json#/definitions/Task" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/TaskService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#TaskService.TaskService", 4 | "$ref": "#/definitions/TaskService", 5 | "definitions": { 6 | "TaskService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/TaskService.v1_0_0.json#/definitions/TaskService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/TaskService.v1_0_2.json#/definitions/TaskService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/TaskService.v1_0_3.json#/definitions/TaskService" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/UpdateService.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#UpdateService.UpdateService", 4 | "$ref": "#/definitions/UpdateService", 5 | "definitions": { 6 | "UpdateService": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/UpdateService.v1_0_0.json#/definitions/UpdateService" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/UpdateService.v1_0_1.json#/definitions/UpdateService" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/UpdateService.v1_1_0.json#/definitions/UpdateService" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/VLanNetworkInterface.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#VLanNetworkInterface.VLanNetworkInterface", 4 | "$ref": "#/definitions/VLanNetworkInterface", 5 | "definitions": { 6 | "VLanNetworkInterface": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.v1_0_0.json#/definitions/VLanNetworkInterface" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.v1_0_1.json#/definitions/VLanNetworkInterface" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.v1_0_2.json#/definitions/VLanNetworkInterface" 19 | }, 20 | { 21 | "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.v1_0_3.json#/definitions/VLanNetworkInterface" 22 | } 23 | ] 24 | } 25 | }, 26 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 27 | } 28 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/VirtualMedia.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#VirtualMedia.VirtualMedia", 4 | "$ref": "#/definitions/VirtualMedia", 5 | "definitions": { 6 | "VirtualMedia": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/VirtualMedia.v1_0_0.json#/definitions/VirtualMedia" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/VirtualMedia.v1_0_2.json#/definitions/VirtualMedia" 16 | }, 17 | { 18 | "$ref": "http://redfish.dmtf.org/schemas/v1/VirtualMedia.v1_0_3.json#/definitions/VirtualMedia" 19 | } 20 | ] 21 | } 22 | }, 23 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 24 | } 25 | -------------------------------------------------------------------------------- /static/DSP8010_2016.3/json-schema/Zone.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_1_0.json", 3 | "title": "#Zone.Zone", 4 | "$ref": "#/definitions/Zone", 5 | "definitions": { 6 | "Zone": { 7 | "anyOf": [ 8 | { 9 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" 10 | }, 11 | { 12 | "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.v1_0_0.json#/definitions/Zone" 13 | }, 14 | { 15 | "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.v1_0_1.json#/definitions/Zone" 16 | } 17 | ] 18 | } 19 | }, 20 | "copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" 21 | } 22 | -------------------------------------------------------------------------------- /static/apidoc/footer.md: -------------------------------------------------------------------------------- 1 | 2 | ©2015-2016, Dell EMC, Inc. 3 | -------------------------------------------------------------------------------- /static/apidoc/header.md: -------------------------------------------------------------------------------- 1 | For more information on how to use these APIs, please also see our development 2 | guide documentation at http://rackhd.readthedocs.io/en/latest/devguide 3 | 4 | ©2015-2016, Dell EMC, Inc. 5 | -------------------------------------------------------------------------------- /static/files/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/files/.gitkeep -------------------------------------------------------------------------------- /static/http/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/http/.gitkeep -------------------------------------------------------------------------------- /static/schemas/2.0/hooks.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Hooks.2.0", 3 | "definitions": { 4 | "HookBase": { 5 | "description": "A hook template", 6 | "type": "object", 7 | "properties": { 8 | "url": { 9 | "type": "string", 10 | "format": "uri" 11 | }, 12 | "name": { 13 | "type": "string" 14 | }, 15 | "filters": { 16 | "type": "array", 17 | "items": { 18 | "type": "object" 19 | } 20 | } 21 | }, 22 | "additionalProperties": false 23 | }, 24 | "HookPost": { 25 | "$ref": "#/definitions/HookBase", 26 | "required": [ "url" ] 27 | } 28 | } 29 | } 30 | 31 | 32 | -------------------------------------------------------------------------------- /static/schemas/2.0/lookups.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Lookup.2.0", 3 | "definitions": { 4 | "LookupBase": { 5 | "description": "A lookup record", 6 | "type": "object", 7 | "properties": { 8 | "node": { 9 | "type": "string" 10 | }, 11 | "ipAddress": { 12 | "type": "string", 13 | "format": "ipv4" 14 | }, 15 | "macAddress": { 16 | "type": "string", 17 | "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" 18 | } 19 | }, 20 | "additionalProperties": false 21 | }, 22 | "LookupPost": { 23 | "allOf": [ 24 | { "$ref": "#/definitions/LookupBase" }, 25 | { "required": [ "macAddress" ] } 26 | ] 27 | } 28 | } 29 | } 30 | 31 | 32 | -------------------------------------------------------------------------------- /static/schemas/2.0/poller.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Poller.2.0", 3 | "definitions": { 4 | "PartialPoller": { 5 | "description": "A poller for periodic collection of telemetry data", 6 | "type": "object", 7 | "properties": { 8 | "type": { 9 | "description": "Type of poller", 10 | "type": "string", 11 | "enum": ["ipmi", "snmp", "redfish","wsman"] 12 | }, 13 | "pollInterval": { 14 | "description": "Interval at which poller will run", 15 | "type": "number" 16 | }, 17 | "paused": { 18 | "description": "Asserted if poller is paused", 19 | "type": "boolean" 20 | }, 21 | "config": { 22 | "description": "Poller configuration object", 23 | "type": "object" 24 | }, 25 | "node": { 26 | "description": "Id of node to post poller to", 27 | "type": "string" 28 | } 29 | }, 30 | "additionalProperties": false 31 | }, 32 | "Poller": { 33 | "allOf": [ 34 | { "$ref": "#/definitions/PartialPoller" }, 35 | { 36 | "required": [ 37 | "type", "pollInterval", "config" 38 | ] 39 | } 40 | ] 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /static/schemas/2.0/relations.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Relations.2.0", 3 | "definitions": { 4 | "Relation": { 5 | "description": "A key value set of relations", 6 | "type": "object", 7 | "properties": { 8 | "contains": { 9 | "description": "an array of nodes contained by the rack", 10 | "type": "array", 11 | "items": { 12 | "type": "string" 13 | }, 14 | "minItems": 1, 15 | "uniqueItems": true 16 | }, 17 | "containedBy": { 18 | "description": "the rack containing the node", 19 | "type": "array", 20 | "items": { 21 | "type": "string" 22 | }, 23 | "minItems": 1, 24 | "uniqueItems": true 25 | } 26 | }, 27 | "anyOf": [ 28 | { "required": [ "containedBy" ] }, 29 | { "required": [ "contains" ] } 30 | ] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /static/schemas/2.0/tags.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "tags.2.0", 3 | "title": "Tags.2.0", 4 | "definitions": { 5 | "TagsPost": { 6 | "additionalProperties": false, 7 | "description": "Categorize Nodes by rules or manually", 8 | "type": "object", 9 | "required": [ 10 | "name", "rules" 11 | ], 12 | "properties": { 13 | "name": { 14 | "type": "string", 15 | "minLength": 1 16 | }, 17 | "rules": { 18 | "$ref": "skus.2.0.json#/definitions/SkusRules" 19 | } 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /static/schemas/2.0/user.2.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "User.2.0", 3 | "definitions": { 4 | "PartialUser": { 5 | "description": "A RackHD local user", 6 | "type": "object", 7 | "properties": { 8 | "username": { 9 | "description": "The username of the user", 10 | "type": "string" 11 | }, 12 | "password": { 13 | "description": "The password of the user", 14 | "type": "string", 15 | "minLength": 6, 16 | "maxLength": 50 17 | }, 18 | "role": { 19 | "description": "The role of the user", 20 | "type": "string", 21 | "enum": ["Administrator", "ReadOnly", "Operator"] 22 | } 23 | }, 24 | "additionalProperties": false 25 | }, 26 | "User": { 27 | "allOf": [ 28 | { "$ref": "#/definitions/PartialUser" }, 29 | { "required": [ "username", "password", "role" ] } 30 | ] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /static/schemas/ibms/snmp-ibm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "snmp-ibm-service", 3 | "definitions": { 4 | "Ibm": { 5 | "description": "IBM settings", 6 | "type": "object", 7 | "properties": { 8 | "required": ["service", "config"], 9 | "nodeId": { 10 | "type": "string" 11 | }, 12 | "service": { 13 | "type": "string" 14 | }, 15 | "config": { 16 | "type": "object", 17 | "properties": { 18 | "required": ["host", "community" ], 19 | "host": { 20 | "description": "The IP address", 21 | "type": "string" 22 | }, 23 | "community": { 24 | "description": "community", 25 | "type": "string" 26 | } 27 | } 28 | } 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /static/schemas/obms/amt-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "amt-obm-service", 3 | "definitions": { 4 | "ObmBase": { 5 | "description": "AMT OBM settings", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "nodeId": { 10 | "type": "string" 11 | }, 12 | "service": { 13 | "type": "string" 14 | }, 15 | "config": { 16 | "type": "object", 17 | "properties": { 18 | "host": { 19 | "description": "Host address", 20 | "type": "string" 21 | }, 22 | "password": { 23 | "description": "Host password", 24 | "type": "string" 25 | } 26 | }, 27 | "required": ["host", "password"] 28 | } 29 | } 30 | }, 31 | "ObmPatch": { 32 | "type": "object", 33 | "allOf": [ 34 | {"$ref": "#/definitions/ObmBase"} 35 | ] 36 | }, 37 | "Obm": { 38 | "type": "object", 39 | "allOf": [ 40 | {"$ref": "#/definitions/ObmBase"}, 41 | {"required": ["nodeId", "service", "config"]} 42 | ] 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /static/schemas/obms/dell-wsman-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "dell-wsman-obm-service", 3 | "definitions": { 4 | "Obm": { 5 | "description": "DELL WSMAN OBM settings", 6 | "type": "object", 7 | "properties": { 8 | "nodeId": { 9 | "type": "string" 10 | }, 11 | "service": { 12 | "type": "string" 13 | }, 14 | "config": { 15 | "type": "object", 16 | "properties": { 17 | "host": { 18 | "description": "iDRAC address", 19 | "type": "string" 20 | }, 21 | "user": { 22 | "description": "iDRAC username", 23 | "type": "string" 24 | }, 25 | "password": { 26 | "description": "iDRAC password", 27 | "type": "string" 28 | } 29 | }, 30 | "required": ["host", "user", "password"] 31 | } 32 | }, 33 | "required": ["service", "config"] 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /static/schemas/obms/noop-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "default-obm-service", 3 | "definitions": { 4 | "service": { 5 | }, 6 | "ObmBase": { 7 | "description": "OBM settings", 8 | "type": "object", 9 | "additionalProperties": false, 10 | "properties": { 11 | "service": { 12 | "type": "string" 13 | }, 14 | "nodeId": { 15 | "type": "string" 16 | }, 17 | "config": { 18 | "type": "object" 19 | } 20 | } 21 | }, 22 | "ObmPatch": { 23 | "type": "object", 24 | "allOf": [ 25 | {"$ref": "#/definitions/ObmBase"} 26 | ] 27 | }, 28 | "Obm": { 29 | "type": "object", 30 | "allOf": [ 31 | {"$ref": "#/definitions/ObmBase"}, 32 | {"required": ["nodeId", "service", "config"]} 33 | ] 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /static/schemas/obms/snmp-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "snmp-obm-service", 3 | "definitions": { 4 | "ObmBase": { 5 | "description": "OBM settings", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "nodeId": { 10 | "type": "string" 11 | }, 12 | "service": { 13 | "type": "string" 14 | }, 15 | "config": { 16 | "type": "object", 17 | "properties": { 18 | "required": ["host", "community" ], 19 | "host": { 20 | "description": "The IP address", 21 | "type": "string" 22 | }, 23 | "community": { 24 | "description": "community", 25 | "type": "string" 26 | } 27 | } 28 | } 29 | } 30 | }, 31 | "ObmPatch": { 32 | "type": "object", 33 | "allOf": [ 34 | {"$ref": "#/definitions/ObmBase"} 35 | ] 36 | }, 37 | "Obm": { 38 | "type": "object", 39 | "allOf": [ 40 | {"$ref": "#/definitions/ObmBase"}, 41 | {"required": ["nodeId", "service", "config"]} 42 | ] 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /static/schemas/obms/vbox-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "vbox-obm-service", 3 | "definitions": { 4 | "ObmBase": { 5 | "description": "Vbox OBM settings", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "nodeId": { 10 | "type": "string" 11 | }, 12 | "service": { 13 | "type": "string" 14 | }, 15 | "config": { 16 | "type": "object", 17 | "properties": { 18 | "alias": { 19 | "description": "Alias", 20 | "type": "string" 21 | }, 22 | "user": { 23 | "description": "Username", 24 | "type": "string" 25 | } 26 | }, 27 | "required": ["alias", "user"] 28 | } 29 | } 30 | }, 31 | "ObmPatch": { 32 | "type": "object", 33 | "allOf": [ 34 | {"$ref": "#/definitions/ObmBase"} 35 | ] 36 | }, 37 | "Obm": { 38 | "type": "object", 39 | "allOf": [ 40 | {"$ref": "#/definitions/ObmBase"}, 41 | {"required": ["nodeId", "service", "config"]} 42 | ] 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /static/schemas/obms/vmrun-obm-service.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "default-obm-service", 3 | "definitions": { 4 | "ObmPatch": { 5 | "description": "Vmrun settings", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "nodeId": { 10 | "type": "string" 11 | }, 12 | "service": { 13 | "type": "string" 14 | }, 15 | "config": { 16 | "type": "object", 17 | "properties": { 18 | "vmxpath": { 19 | "description": "VMX path", 20 | "type": "string" 21 | } 22 | }, 23 | "required": ["vmxpath"] 24 | } 25 | } 26 | }, 27 | "ObmPatch": { 28 | "type": "object", 29 | "allOf": [ 30 | {"$ref": "#/definitions/ObmBase"} 31 | ] 32 | }, 33 | "Obm": { 34 | "type": "object", 35 | "allOf": [ 36 | {"$ref": "#/definitions/ObmBase"}, 37 | {"required": ["nodeId", "service", "config"]} 38 | ] 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /static/taskdoc/api_project.js: -------------------------------------------------------------------------------- 1 | define({ 2 | "description": "RackHD Task Annotation", 3 | "footer": { 4 | "title": "Other Information", 5 | "content": "

©2016, Dell EMC, Inc.

\n" 6 | }, 7 | "header": { 8 | "title": "About", 9 | "content": "

For more information on how to use these tasks, please also see our development guide documentation at http://rackhd.readthedocs.io/en/latest/devguide/index.html

\n

©2016, Dell EMC, Inc.

\n" 10 | }, 11 | "name": "RackHD Task Annotation", 12 | "title": "RackHD Task Annotation", 13 | "version": "0.0.0" 14 | }); 15 | -------------------------------------------------------------------------------- /static/upnp/rackhd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RackHD/on-http/fd1001d30ec982d2dd94b94f20d8b86516eec41e/static/upnp/rackhd.png -------------------------------------------------------------------------------- /static/upnp/upnp-on-http-api1.1.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1 5 | 1 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/upnp/upnp-on-http-api2.0.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1 5 | 1 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/upnp/upnp-on-http-redfish-1.0.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1 5 | 1 6 | 7 | 8 | -------------------------------------------------------------------------------- /swagger_config/default.yaml: -------------------------------------------------------------------------------- 1 | # swagger configuration file 2 | 3 | # values in the swagger hash are system configuration for swagger-node 4 | swagger: 5 | 6 | fittingsDirs: [ lib/fittings ] 7 | defaultPipe: null 8 | swaggerControllerPipe: swagger_controllers # defines the standard processing pipe for controllers 9 | 10 | # values defined in the bagpipes key are the bagpipes pipes and fittings definitions 11 | # (see https://github.com/apigee-127/bagpipes) 12 | bagpipes: 13 | 14 | _router: 15 | name: swagger_router 16 | mockMode: false 17 | mockControllersDirs: [ lib/api/2.0/mocks lib/api/redfish-1.0/mocks ] 18 | controllersDirs: [ lib/api/2.0, lib/api/redfish-1.0 ] 19 | 20 | _swagger_validate: 21 | name: swagger_validator 22 | validateResponse: true 23 | 24 | _swagger_renderer: 25 | name: swagger_render 26 | templateNameKey: x-view 27 | 28 | _rackhd_validator: 29 | name: rackhd_validator 30 | validateResponse: true 31 | schemaNameKey: x-swagger-schema 32 | 33 | # pipe for all swagger-node controllers 34 | swagger_controllers: 35 | - onError: error_handler 36 | - cors 37 | - swagger_params_parser 38 | - swagger_locals 39 | - swagger_authn 40 | - swagger_authz 41 | - swagger_security 42 | - _swagger_validate 43 | - _rackhd_validator 44 | - express_compatibility 45 | - _router 46 | - _swagger_renderer 47 | 48 | # pipe to serve swagger (endpoint is in swagger.yaml) 49 | swagger_raw: 50 | name: swagger_raw 51 | 52 | # any other values in this file are just loaded into the config for application access... 53 | -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | 2.60.7 --------------------------------------------------------------------------------