{ "components": { "schemas": { "AuthRequest": { "description": "AuthRequest schema", "properties": { "password": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "AuthResetRequest": { "description": "AuthResetRequest schema", "properties": { "current_password": { "type": "string" }, "new_password": { "minLength": 8, "type": "string" } }, "required": [ "new_password" ], "type": "object" }, "AuthResponse": { "description": "AuthResponse schema", "properties": { "expire": { "format": "int64", "type": "integer" }, "role": { "type": "string" }, "token": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "AuthSignupRequest": { "description": "AuthSignupRequest schema", "properties": { "password": { "minLength": 8, "type": "string" }, "username": { "minLength": 2, "type": "string" } }, "required": [ "username", "password" ], "type": "object" }, "AuthTokenReponse": { "description": "AuthTokenReponse schema", "properties": { "token": { "type": "string" } }, "type": "object" }, "AuthTokenRequest": { "description": "AuthTokenRequest schema", "properties": { "expire": { "description": "string parsed by time.ParseDuration, examples include: infinite, 8h, 30m, 20s", "example": "infinite", "type": "string" }, "role": { "description": "type of model.Role, valid options: disabled, user, admin", "example": "admin", "type": "string" }, "username": { "description": "username shown in logs, does not need to be a valid user in the DB", "example": "user1:CLI", "type": "string" } }, "type": "object" }, "BmcDellInstallFromRepoRequest": { "description": "BmcDellInstallFromRepoRequest schema", "properties": { "ApplyUpdate": { "description": "ApplyUpdate false will only check for firmware upgrades. true will queue the update installs as a job.", "type": "boolean" }, "CatalogFile": { "type": "string" }, "ClearJobQueue": { "description": "clear job queue before submitting request. ApplyUpdate must be true", "type": "boolean" }, "IPAddress": { "description": "domain name or IP address of share", "type": "string" }, "IgnoreCertWarning": { "description": "false = share needs valid HTTPS cert, true = allow invalid certs", "type": "boolean" }, "RebootNeeded": { "description": "false = do not reboot node automatically, jobs will queue as scheduled and wait until next boot. true = reboot when needed", "type": "boolean" }, "ShareName": { "type": "string" }, "ShareType": { "description": "type of share", "type": "string" } }, "type": "object" }, "BmcImportConfigurationRequest": { "description": "BmcImportConfigurationRequest schema", "properties": { "file": { "description": "template file relative to templates directory", "example": "idrac-config.json.tmpl", "type": "string" }, "shutdown_type": { "description": "options include: NoReboot, Graceful, Forced", "example": "Graceful", "type": "string" } }, "type": "object" }, "BmcJobDeleteRequest": { "description": "BmcJobDeleteRequest schema", "properties": { "node_job_list": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "description": "Map with Node and Redfish Job IDs. Use 'JID_CLEARALL' to clear all jobs", "type": "object" } }, "type": "object" }, "BmcOsPowerBody": { "description": "BmcOsPowerBody schema", "properties": { "boot_option": { "description": "string of type schemas.BootSourceOverrideTarget. Common options include: None, Pxe, BiosSetup, Utilities, Diags", "example": "Pxe", "type": "string" }, "power_option": { "description": "string of type schemas.ResetType. Common options include: On, ForceOn, ForceOff, ForceRestart, GracefulRestart, GracefulShutdown, PowerCycle", "example": "PowerCycle", "type": "string" } }, "type": "object" }, "BootImage": { "description": "BootImage schema", "properties": { "cmdline": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "initrd": { "items": { "type": "string" }, "type": "array" }, "kernel": { "type": "string" }, "liveimg": { "type": "string" }, "name": { "type": "string" }, "provision_templates": { "additionalProperties": { "nullable": true, "type": "string" }, "nullable": true, "type": "object" }, "uid": { "nullable": true, "type": "string" }, "verify": { "type": "boolean" } }, "required": [ "name", "kernel" ], "type": "object" }, "BootImageAddRequest": { "description": "BootImageAddRequest schema", "properties": { "boot_images": { "items": { "nullable": true, "properties": { "cmdline": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "initrd": { "items": { "type": "string" }, "type": "array" }, "kernel": { "type": "string" }, "liveimg": { "type": "string" }, "name": { "type": "string" }, "provision_templates": { "additionalProperties": { "nullable": true, "type": "string" }, "nullable": true, "type": "object" }, "uid": { "nullable": true, "type": "string" }, "verify": { "type": "boolean" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "DataDump": { "description": "DataDump schema", "properties": { "Hosts": { "items": { "nullable": true, "properties": { "bonds": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "peers": { "items": { "type": "string" }, "type": "array" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "boot_image": { "type": "string" }, "firmware": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "interfaces": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "name": { "type": "string" }, "provision": { "type": "boolean" }, "tags": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "uid": { "nullable": true, "type": "string" } }, "type": "object" }, "type": "array" }, "Images": { "items": { "nullable": true, "properties": { "cmdline": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "initrd": { "items": { "type": "string" }, "type": "array" }, "kernel": { "type": "string" }, "liveimg": { "type": "string" }, "name": { "type": "string" }, "provision_templates": { "additionalProperties": { "nullable": true, "type": "string" }, "nullable": true, "type": "object" }, "uid": { "nullable": true, "type": "string" }, "verify": { "type": "boolean" } }, "type": "object" }, "type": "array" }, "Roles": { "items": { "properties": { "name": { "type": "string" }, "permission_list": { "items": { "properties": { "method": { "type": "string" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" }, "unassigned_permission_list": { "items": { "properties": { "method": { "type": "string" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "type": "array" }, "Users": { "items": { "properties": { "created_at": { "format": "date-time", "type": "string" }, "enabled": { "type": "boolean" }, "hash": { "type": "string" }, "id": { "format": "int64", "type": "integer" }, "modified_at": { "format": "date-time", "type": "string" }, "role": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "Event": { "description": "Event schema", "properties": { "JobMessages": { "items": { "nullable": true, "properties": { "data": { "type": "string" }, "host": { "type": "string" }, "msg": { "type": "string" }, "redfish_error": { "properties": { "code": { "type": "string" }, "error": { "properties": { "@Message.ExtendedInfo": { "items": { "properties": { "Message": { "type": "string" }, "MessageArgs.@odata.count": { "type": "integer" }, "MessageId": { "type": "string" }, "RelatedProperties.@odata.count": { "type": "integer" }, "Resolution": { "type": "string" }, "Severity": { "type": "string" } }, "type": "object" }, "type": "array" }, "code": { "type": "string" }, "message": { "type": "string" } }, "type": "object" } }, "type": "object" }, "status": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Message": { "type": "string" }, "Severity": { "type": "string" }, "Time": { "format": "date-time", "type": "string" }, "User": { "type": "string" } }, "type": "object" }, "GenericResponse": { "description": "GenericResponse schema", "properties": { "changed": { "type": "integer" }, "detail": { "type": "string" }, "title": { "type": "string" } }, "type": "object" }, "GetRolesResponse": { "description": "GetRolesResponse schema", "properties": { "roles": { "items": { "properties": { "name": { "type": "string" }, "permission_list": { "items": { "properties": { "method": { "type": "string" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" }, "unassigned_permission_list": { "items": { "properties": { "method": { "type": "string" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "HTTPError": { "description": "HTTPError schema", "properties": { "detail": { "description": "Human readable error message", "nullable": true, "type": "string" }, "errors": { "items": { "properties": { "more": { "additionalProperties": {}, "type": "object" }, "name": { "type": "string" }, "reason": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "instance": { "nullable": true, "type": "string" }, "status": { "description": "HTTP status code", "example": 403, "nullable": true, "type": "integer" }, "title": { "description": "Short title of the error", "nullable": true, "type": "string" }, "type": { "description": "URL of the error type. Can be used to lookup the error in a documentation", "nullable": true, "type": "string" } }, "type": "object" }, "Host": { "description": "Host schema", "properties": { "bonds": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "peers": { "items": { "type": "string" }, "type": "array" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "boot_image": { "type": "string" }, "firmware": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "interfaces": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "name": { "type": "string" }, "provision": { "type": "boolean" }, "tags": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "uid": { "nullable": true, "type": "string" } }, "type": "object" }, "JobMessage": { "description": "JobMessage schema", "properties": { "data": { "type": "string" }, "host": { "type": "string" }, "msg": { "type": "string" }, "redfish_error": { "properties": { "code": { "type": "string" }, "error": { "properties": { "@Message.ExtendedInfo": { "items": { "properties": { "Message": { "type": "string" }, "MessageArgs.@odata.count": { "type": "integer" }, "MessageId": { "type": "string" }, "RelatedProperties.@odata.count": { "type": "integer" }, "Resolution": { "type": "string" }, "Severity": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "code": { "type": "string" }, "message": { "type": "string" } }, "type": "object" } }, "type": "object" }, "status": { "type": "string" } }, "type": "object" }, "LLDP": { "description": "LLDP schema", "properties": { "chassis_id": { "type": "string" }, "chassis_id_type": { "type": "string" }, "management_address": { "type": "string" }, "port_description": { "type": "string" }, "port_id": { "type": "string" }, "port_id_type": { "type": "string" }, "port_name": { "type": "string" }, "system_description": { "type": "string" }, "system_name": { "type": "string" } }, "type": "object" }, "NodeAddRequest": { "description": "NodeAddRequest schema", "properties": { "node_list": { "items": { "nullable": true, "properties": { "bonds": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "peers": { "items": { "type": "string" }, "type": "array" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "boot_image": { "type": "string" }, "firmware": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "interfaces": { "items": { "nullable": true, "properties": { "bmc": { "type": "boolean" }, "fqdn": { "type": "string" }, "id": { "format": "int64", "nullable": true, "type": "integer" }, "ifname": { "type": "string" }, "ip": { "type": "string" }, "mac": { "type": "string" }, "mtu": { "maximum": 65535, "minimum": 0, "type": "integer" }, "vlan": { "type": "string" } }, "type": "object" }, "type": "array" }, "name": { "type": "string" }, "provision": { "type": "boolean" }, "tags": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "uid": { "nullable": true, "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "NodeBootImageRequest": { "description": "NodeBootImageRequest schema", "properties": { "image": { "type": "string" } }, "type": "object" }, "NodeBootTokenResponse": { "description": "NodeBootTokenResponse schema", "properties": { "nodes": { "items": { "properties": { "name": { "type": "string" }, "token": { "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "NodeProvisionRequest": { "description": "NodeProvisionRequest schema", "properties": { "provision": { "type": "boolean" } }, "type": "object" }, "NodeTagsRequest": { "description": "NodeTagsRequest schema", "properties": { "tags": { "description": "comma separated list of tags", "example": "a01,test", "type": "string" } }, "type": "object" }, "PatchRolesRequest": { "description": "PatchRolesRequest schema", "properties": { "permission_list": { "items": { "properties": { "method": { "type": "string" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" }, "role": { "type": "string" } }, "type": "object" }, "PostRolesRequest": { "description": "PostRolesRequest schema", "properties": { "inherited_role": { "type": "string" }, "role": { "type": "string" } }, "type": "object" }, "RedfishDellUpgradeFirmware": { "description": "RedfishDellUpgradeFirmware schema", "properties": { "Message": { "type": "string" }, "Name": { "type": "string" }, "Status": { "type": "string" }, "UpdateCount": { "type": "integer" }, "UpdateList": { "items": { "nullable": true, "properties": { "BaseLocation": { "type": "string" }, "ComponentID": { "type": "string" }, "ComponentInfoName": { "type": "string" }, "ComponentInfoValue": { "type": "string" }, "ComponentType": { "type": "string" }, "Criticality": { "type": "string" }, "DisplayName": { "type": "string" }, "InstalledVersion": { "type": "string" }, "JobID": { "type": "string" }, "Name": { "type": "string" }, "PackageName": { "type": "string" }, "PackagePath": { "type": "string" }, "PackageVersion": { "type": "string" }, "RebootType": { "type": "string" }, "Target": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "UpdateRebootType": { "type": "string" } }, "type": "object" }, "RedfishJob": { "description": "RedfishJob schema", "properties": { "jobs": { "items": { "nullable": true, "properties": { "@Message.ExtendedInfo": { "items": { "properties": { "Message": { "type": "string" }, "MessageArgs": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "MessageId": { "type": "string" }, "MessageSeverity": { "type": "string" }, "Oem": { "nullable": true }, "RelatedProperties": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "Resolution": { "type": "string" }, "ResolutionSteps": { "items": { "nullable": true, "properties": { "ActionParameters": { "items": { "nullable": true, "properties": { "AllowableNumbers": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowablePattern": { "type": "string" }, "AllowableValueDescriptions": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowableValues": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "ArraySizeMaximum": { "nullable": true, "type": "integer" }, "ArraySizeMinimum": { "nullable": true, "type": "integer" }, "DataType": { "type": "string" }, "DefaultValue": { "type": "string" }, "MaximumValue": { "format": "double", "nullable": true, "type": "number" }, "MinimumValue": { "format": "double", "nullable": true, "type": "number" }, "Name": { "type": "string" }, "NoDefaultValue": { "type": "boolean" }, "ObjectDataType": { "type": "string" }, "Required": { "type": "boolean" } }, "type": "object" }, "nullable": true, "type": "array" }, "ActionURI": { "type": "string" }, "Oem": { "nullable": true }, "Priority": { "minimum": 0, "nullable": true, "type": "integer" }, "ResolutionType": { "type": "string" }, "RetryCount": { "minimum": 0, "nullable": true, "type": "integer" }, "RetryIntervalSeconds": { "minimum": 0, "nullable": true, "type": "integer" }, "TargetComponentURI": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Severity": { "type": "string" }, "UserAuthenticationSource": { "type": "string" }, "Username": { "type": "string" } }, "type": "object" }, "type": "array" }, "@odata.context": { "type": "string" }, "@odata.etag": { "type": "string" }, "@odata.id": { "type": "string" }, "@odata.type": { "type": "string" }, "CreatedBy": { "type": "string" }, "CreationTime": { "type": "string" }, "Description": { "type": "string" }, "EndTime": { "type": "string" }, "EstimatedCompletionTime": { "type": "string" }, "EstimatedDuration": { "type": "string" }, "HidePayload": { "type": "boolean" }, "Id": { "type": "string" }, "JobPriority": { "minimum": 0, "nullable": true, "type": "integer" }, "JobState": { "type": "string" }, "JobStatus": { "type": "string" }, "JobType": { "type": "string" }, "MaxExecutionTime": { "type": "string" }, "Messages": { "items": { "nullable": true, "properties": { "Message": { "type": "string" }, "MessageArgs": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "MessageId": { "type": "string" }, "MessageSeverity": { "type": "string" }, "Oem": { "nullable": true }, "RelatedProperties": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "Resolution": { "type": "string" }, "ResolutionSteps": { "items": { "nullable": true, "properties": { "ActionParameters": { "items": { "nullable": true, "properties": { "AllowableNumbers": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowablePattern": { "type": "string" }, "AllowableValueDescriptions": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowableValues": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "ArraySizeMaximum": { "nullable": true, "type": "integer" }, "ArraySizeMinimum": { "nullable": true, "type": "integer" }, "DataType": { "type": "string" }, "DefaultValue": { "type": "string" }, "MaximumValue": { "format": "double", "nullable": true, "type": "number" }, "MinimumValue": { "format": "double", "nullable": true, "type": "number" }, "Name": { "type": "string" }, "NoDefaultValue": { "type": "boolean" }, "ObjectDataType": { "type": "string" }, "Required": { "type": "boolean" } }, "type": "object" }, "nullable": true, "type": "array" }, "ActionURI": { "type": "string" }, "Oem": { "nullable": true }, "Priority": { "minimum": 0, "nullable": true, "type": "integer" }, "ResolutionType": { "type": "string" }, "RetryCount": { "minimum": 0, "nullable": true, "type": "integer" }, "RetryIntervalSeconds": { "minimum": 0, "nullable": true, "type": "integer" }, "TargetComponentURI": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Severity": { "type": "string" }, "UserAuthenticationSource": { "type": "string" }, "Username": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Name": { "type": "string" }, "Oem": { "nullable": true }, "Parameters": { "additionalProperties": { "nullable": true }, "nullable": true, "type": "object" }, "Payload": { "properties": { "HttpHeaders": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "HttpOperation": { "type": "string" }, "JsonBody": { "type": "string" }, "TargetUri": { "type": "string" } }, "type": "object" }, "PercentComplete": { "minimum": 0, "nullable": true, "type": "integer" }, "RawData": { "format": "byte", "nullable": true, "type": "string" }, "Schedule": { "properties": { "EnabledDaysOfMonth": { "items": { "nullable": true, "type": "integer" }, "nullable": true, "type": "array" }, "EnabledDaysOfWeek": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "EnabledIntervals": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "EnabledMonthsOfYear": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "InitialStartTime": { "type": "string" }, "Lifetime": { "type": "string" }, "MaxOccurrences": { "nullable": true, "type": "integer" }, "Name": { "type": "string" }, "RecurrenceInterval": { "type": "string" } }, "type": "object" }, "StartTime": { "type": "string" }, "StepOrder": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" } }, "type": "object" }, "nullable": true, "type": "array" }, "name": { "type": "string" } }, "type": "object" }, "RedfishMetricReport": { "description": "RedfishMetricReport schema", "properties": { "name": { "type": "string" }, "reports": { "items": { "nullable": true, "properties": { "@Message.ExtendedInfo": { "items": { "properties": { "Message": { "type": "string" }, "MessageArgs": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "MessageId": { "type": "string" }, "MessageSeverity": { "type": "string" }, "Oem": { "nullable": true }, "RelatedProperties": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "Resolution": { "type": "string" }, "ResolutionSteps": { "items": { "nullable": true, "properties": { "ActionParameters": { "items": { "nullable": true, "properties": { "AllowableNumbers": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowablePattern": { "type": "string" }, "AllowableValueDescriptions": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowableValues": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "ArraySizeMaximum": { "nullable": true, "type": "integer" }, "ArraySizeMinimum": { "nullable": true, "type": "integer" }, "DataType": { "type": "string" }, "DefaultValue": { "type": "string" }, "MaximumValue": { "format": "double", "nullable": true, "type": "number" }, "MinimumValue": { "format": "double", "nullable": true, "type": "number" }, "Name": { "type": "string" }, "NoDefaultValue": { "type": "boolean" }, "ObjectDataType": { "type": "string" }, "Required": { "type": "boolean" } }, "type": "object" }, "nullable": true, "type": "array" }, "ActionURI": { "type": "string" }, "Oem": { "nullable": true }, "Priority": { "minimum": 0, "nullable": true, "type": "integer" }, "ResolutionType": { "type": "string" }, "RetryCount": { "minimum": 0, "nullable": true, "type": "integer" }, "RetryIntervalSeconds": { "minimum": 0, "nullable": true, "type": "integer" }, "TargetComponentURI": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Severity": { "type": "string" }, "UserAuthenticationSource": { "type": "string" }, "Username": { "type": "string" } }, "type": "object" }, "type": "array" }, "@odata.context": { "type": "string" }, "@odata.etag": { "type": "string" }, "@odata.id": { "type": "string" }, "@odata.type": { "type": "string" }, "Context": { "type": "string" }, "Description": { "type": "string" }, "Id": { "type": "string" }, "MetricValues": { "items": { "nullable": true, "properties": { "MetricId": { "type": "string" }, "MetricProperty": { "type": "string" }, "MetricValue": { "type": "string" }, "Oem": { "nullable": true }, "Timestamp": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Name": { "type": "string" }, "Oem": { "nullable": true }, "ReportSequence": { "type": "string" }, "Timestamp": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "RedfishSystem": { "description": "RedfishSystem schema", "properties": { "bios_version": { "type": "string" }, "boot_next": { "type": "string" }, "boot_order": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "health": { "type": "string" }, "host_name": { "type": "string" }, "manufacturer": { "type": "string" }, "model": { "type": "string" }, "name": { "type": "string" }, "oem_dell": { "nullable": true, "properties": { "@Message.ExtendedInfo": { "items": { "properties": { "Message": { "type": "string" }, "MessageArgs": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "MessageId": { "type": "string" }, "MessageSeverity": { "type": "string" }, "Oem": { "nullable": true }, "RelatedProperties": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "Resolution": { "type": "string" }, "ResolutionSteps": { "items": { "nullable": true, "properties": { "ActionParameters": { "items": { "nullable": true, "properties": { "AllowableNumbers": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowablePattern": { "type": "string" }, "AllowableValueDescriptions": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "AllowableValues": { "items": { "nullable": true, "type": "string" }, "nullable": true, "type": "array" }, "ArraySizeMaximum": { "nullable": true, "type": "integer" }, "ArraySizeMinimum": { "nullable": true, "type": "integer" }, "DataType": { "type": "string" }, "DefaultValue": { "type": "string" }, "MaximumValue": { "format": "double", "nullable": true, "type": "number" }, "MinimumValue": { "format": "double", "nullable": true, "type": "number" }, "Name": { "type": "string" }, "NoDefaultValue": { "type": "boolean" }, "ObjectDataType": { "type": "string" }, "Required": { "type": "boolean" } }, "type": "object" }, "nullable": true, "type": "array" }, "ActionURI": { "type": "string" }, "Oem": { "nullable": true }, "Priority": { "minimum": 0, "nullable": true, "type": "integer" }, "ResolutionType": { "type": "string" }, "RetryCount": { "minimum": 0, "nullable": true, "type": "integer" }, "RetryIntervalSeconds": { "minimum": 0, "nullable": true, "type": "integer" }, "TargetComponentURI": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "Severity": { "type": "string" }, "UserAuthenticationSource": { "type": "string" }, "Username": { "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "@odata.context": { "type": "string" }, "@odata.etag": { "nullable": true, "type": "string" }, "@odata.id": { "type": "string" }, "@odata.type": { "type": "string" }, "BIOSReleaseDate": { "type": "string" }, "BaseBoardChassisSlot": { "type": "string" }, "BatteryRollupStatus": { "type": "string" }, "BladeGeometry": { "type": "string" }, "CMCIP": { "type": "string" }, "CPURollupStatus": { "type": "string" }, "ChassisModel": { "type": "string" }, "ChassisName": { "type": "string" }, "ChassisServiceTag": { "type": "string" }, "ChassisSystemHeightUnit": { "type": "integer" }, "CurrentRollupStatus": { "type": "string" }, "Description": { "type": "string" }, "EstimatedExhaustTemperatureCelsius": { "type": "integer" }, "EstimatedSystemAirflowCFM": { "type": "integer" }, "ExpressServiceCode": { "type": "string" }, "FanRollupStatus": { "type": "string" }, "IDSDMRollupStatus": { "type": "string" }, "Id": { "type": "string" }, "IntrusionRollupStatus": { "type": "string" }, "IsOEMBranded": { "type": "string" }, "LastSystemInventoryTime": { "type": "string" }, "LastUpdateTime": { "type": "string" }, "LicensingRollupStatus": { "type": "string" }, "ManagedSystemSize": { "type": "string" }, "MaxCPUSockets": { "type": "integer" }, "MaxDIMMSlots": { "type": "integer" }, "MaxPCIeSlots": { "type": "integer" }, "MemoryOperationMode": { "type": "string" }, "Name": { "type": "string" }, "NodeID": { "type": "string" }, "Oem": { "nullable": true }, "PSRollupStatus": { "type": "string" }, "PlatformGUID": { "type": "string" }, "PopulatedDIMMSlots": { "type": "integer" }, "PopulatedPCIeSlots": { "type": "integer" }, "PowerCapEnabledState": { "type": "string" }, "SDCardRollupStatus": { "type": "string" }, "SELRollupStatus": { "type": "string" }, "ServerAllocationWatts": { "type": "integer" }, "StorageRollupStatus": { "type": "string" }, "SysMemErrorMethodology": { "type": "string" }, "SysMemFailOverState": { "type": "string" }, "SysMemLocation": { "type": "string" }, "SysMemPrimaryStatus": { "type": "string" }, "SystemGeneration": { "type": "string" }, "SystemID": { "type": "integer" }, "SystemRevision": { "type": "string" }, "TempRollupStatus": { "type": "string" }, "TempStatisticsRollupStatus": { "type": "string" }, "UUID": { "type": "string" }, "VoltRollupStatus": { "type": "string" }, "smbiosGUID": { "type": "string" } }, "type": "object" }, "power_status": { "type": "string" }, "processor_count": { "type": "integer" }, "serial_number": { "type": "string" }, "total_memory": { "format": "float", "type": "number" } }, "type": "object" }, "User": { "description": "User schema", "properties": { "created_at": { "format": "date-time", "type": "string" }, "enabled": { "type": "boolean" }, "hash": { "type": "string" }, "id": { "format": "int64", "type": "integer" }, "modified_at": { "format": "date-time", "type": "string" }, "role": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "UserEnableRequest": { "description": "UserEnableRequest schema", "properties": { "enabled": { "type": "boolean" } }, "type": "object" }, "UserRoleRequest": { "description": "UserRoleRequest schema", "properties": { "role": { "description": "type of model.Role, valid options: disabled, user, admin", "example": "admin", "type": "string" } }, "type": "object" }, "UserStoreRequest": { "description": "UserStoreRequest schema", "properties": { "password": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "UserStoreResponse": { "description": "UserStoreResponse schema", "properties": { "role": { "type": "string" }, "username": { "type": "string" } }, "type": "object" }, "Version": { "description": "Version schema", "properties": { "Version": { "type": "string" } }, "type": "object" }, "unknown-interface": { "description": "unknown-interface schema" } }, "securitySchemes": { "cookieAuth": { "bearerFormat": "JWT", "description": "API key cookie authentication.", "in": "cookie", "scheme": "bearer", "type": "http" }, "headerAuth": { "bearerFormat": "JWT", "description": "API key header authentication.", "in": "header", "scheme": "bearer", "type": "http" } } }, "info": { "description": "OpenAPI spec for the Grendel API", "title": "Grendel API", "version": "0.2.0" }, "openapi": "3.1.0", "paths": { "/v1/auth/reset": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).AuthReset`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nChange password", "operationId": "PATCH_/v1/auth/reset", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthResetRequest" } } }, "description": "Request body for api.AuthResetRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "auth reset", "tags": [ "v1", "auth" ] } }, "/v1/auth/signin": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).AuthSignin`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\nsignin user", "operationId": "POST_/v1/auth/signin", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthRequest" } } }, "description": "Request body for api.AuthRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/AuthResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] }, {} ], "summary": "auth signin", "tags": [ "v1", "auth" ] } }, "/v1/auth/signout": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).AuthSignout`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\nSignout user", "operationId": "DELETE_/v1/auth/signout", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] }, {} ], "summary": "auth signout", "tags": [ "v1", "auth" ] } }, "/v1/auth/signup": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).AuthSignup`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n\n---\n\nSignup user", "operationId": "POST_/v1/auth/signup", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthSignupRequest" } } }, "description": "Request body for api.AuthSignupRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/AuthResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] }, {} ], "summary": "auth signup", "tags": [ "v1", "auth" ] } }, "/v1/auth/token": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).AuthToken`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nCreate API token", "operationId": "POST_/v1/auth/token", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenRequest" } } }, "description": "Request body for api.AuthTokenRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenReponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/AuthTokenReponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "auth token", "tags": [ "v1", "auth" ] } }, "/v1/bmc": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcQuery`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet redfish info from node(s)", "operationId": "GET_/v1/bmc", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RedfishSystem" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/RedfishSystem" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc query", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/configure/auto": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcAutoConfigure`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nSet BMC to autoconfigure", "operationId": "POST_/v1/bmc/configure/auto", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc auto configure", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/configure/import": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcImportConfiguration`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nManually import system configuration to BMC", "operationId": "POST_/v1/bmc/configure/import", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BmcImportConfigurationRequest" } } }, "description": "Request body for api.BmcImportConfigurationRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc import configuration", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/jobs": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcJobDeleteMany`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete redfish jobs from many node(s)", "operationId": "DELETE_/v1/bmc/jobs", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BmcJobDeleteRequest" } } }, "description": "Request body for api.BmcJobDeleteRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc job delete many", "tags": [ "v1", "bmc" ] }, "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcJobList`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet redfish jobs from node(s)", "operationId": "GET_/v1/bmc/jobs", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RedfishJob" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/RedfishJob" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc job list", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/jobs/{jids}": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcJobDelete`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete redfish jobs from node(s) by JID", "operationId": "DELETE_/v1/bmc/jobs/:jids", "parameters": [ { "description": "Redfish Job IDs. Use 'JID_CLEARALL' to clear all jobs", "examples": { "jids": { "value": "JID_000000000001,JID_000000000002" } }, "in": "path", "name": "jids", "required": true, "schema": { "type": "string" } }, { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc job delete", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/metrics": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcMetricReports`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet metric reports by nodeset", "operationId": "GET_/v1/bmc/metrics", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RedfishMetricReport" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/RedfishMetricReport" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc metric reports", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/power/bmc": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcPower`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nReboot node(s) BMC", "operationId": "POST_/v1/bmc/power/bmc", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc power", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/power/os": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcOsPower`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nChange power status of node(s)", "operationId": "POST_/v1/bmc/power/os", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BmcOsPowerBody" } } }, "description": "Request body for api.BmcOsPowerBody", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc os power", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/sel": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcSelClear`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nClear system event log on node(s)", "operationId": "DELETE_/v1/bmc/sel", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc sel clear", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/upgrade/dell/installfromrepo": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcDellInstallFromRepo`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nRequest iDRAC to download the latest firmware catalog and compare firmware versions.", "operationId": "POST_/v1/bmc/upgrade/dell/installfromrepo", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BmcDellInstallFromRepoRequest" } } }, "description": "Request body for api.BmcDellInstallFromRepoRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/JobMessage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc dell install from repo", "tags": [ "v1", "bmc" ] } }, "/v1/bmc/upgrade/dell/repo": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BmcDellGetRepoUpdateList`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nFetch which packages can be upgraded", "operationId": "GET_/v1/bmc/upgrade/dell/repo", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/RedfishDellUpgradeFirmware" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/RedfishDellUpgradeFirmware" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "bmc dell get repo update list", "tags": [ "v1", "bmc" ] } }, "/v1/db/dump": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).Dump`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet a backup of the DB", "operationId": "GET_/v1/db/dump", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataDump" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/DataDump" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "dump", "tags": [ "v1", "db" ] } }, "/v1/db/restore": { "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).Restore`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nRestore a backup of the DB", "operationId": "POST_/v1/db/restore", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataDump" } } }, "description": "Request body for model.DataDump", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "restore", "tags": [ "v1", "db" ] } }, "/v1/grendel/events": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).GetEvents`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\n", "operationId": "GET_/v1/grendel/events", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Event" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/Event" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "get events", "tags": [ "v1", "grendel" ] } }, "/v1/grendel/version": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).GetVersion`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet the server version", "operationId": "GET_/v1/grendel/version", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Version" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Version" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "get version", "tags": [ "v1", "grendel" ] } }, "/v1/images": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BootImageDelete`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete images by name", "operationId": "DELETE_/v1/images", "parameters": [ { "description": "Filter by name", "examples": { "names": { "value": "image1,image2" } }, "in": "query", "name": "names", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "boot image delete", "tags": [ "v1", "images" ] }, "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BootImageList`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nList all images", "operationId": "GET_/v1/images", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BootImage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/BootImage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "boot image list", "tags": [ "v1", "images" ] }, "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BootImageAdd`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nAdd images", "operationId": "POST_/v1/images", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BootImageAddRequest" } } }, "description": "Request body for api.BootImageAddRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "boot image add", "tags": [ "v1", "images" ] } }, "/v1/images/find": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).BootImageFind`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nFind images by name", "operationId": "GET_/v1/images/find", "parameters": [ { "description": "Filter by name", "examples": { "names": { "value": "image1,image2" } }, "in": "query", "name": "names", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BootImage" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/BootImage" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "boot image find", "tags": [ "v1", "images" ] } }, "/v1/nodes": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeDelete`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete nodes by nodeset and/or tags", "operationId": "DELETE_/v1/nodes", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node delete", "tags": [ "v1", "nodes" ] }, "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeList`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nList all nodes", "operationId": "GET_/v1/nodes", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Host" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/Host" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node list", "tags": [ "v1", "nodes" ] }, "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeAdd`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nAdd nodes", "operationId": "POST_/v1/nodes", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeAddRequest" } } }, "description": "Request body for api.NodeAddRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node add", "tags": [ "v1", "nodes" ] } }, "/v1/nodes/find": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeFind`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nFind nodes by nodeset and/or tags", "operationId": "GET_/v1/nodes/find", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Host" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/Host" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node find", "tags": [ "v1", "nodes" ] } }, "/v1/nodes/image": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeBootImage`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nUpdate nodes boot image by nodeset and/or tags", "operationId": "PATCH_/v1/nodes/image", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeBootImageRequest" } } }, "description": "Request body for api.NodeBootImageRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node boot image", "tags": [ "v1", "nodes" ] } }, "/v1/nodes/provision": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeProvision`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nProvision / Unprovision nodes by nodeset and/or tags", "operationId": "PATCH_/v1/nodes/provision", "parameters": [ { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeProvisionRequest" } } }, "description": "Request body for api.NodeProvisionRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node provision", "tags": [ "v1", "nodes" ] } }, "/v1/nodes/tags/{action}": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeTags`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nUpdate nodes tags by nodeset and/or tags", "operationId": "PATCH_/v1/nodes/tags/:action", "parameters": [ { "description": "option to add or remove tags", "examples": { "action": { "value": "add | remove" } }, "in": "path", "name": "action", "required": true, "schema": { "type": "string" } }, { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeTagsRequest" } } }, "description": "Request body for api.NodeTagsRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node tags", "tags": [ "v1", "nodes" ] } }, "/v1/nodes/token/{interface}": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).NodeBootToken`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nCreate a boot token for the provision server. Used for debugging requests made by images", "operationId": "GET_/v1/nodes/token/:interface", "parameters": [ { "description": "interface token will be created for", "examples": { "interface": { "value": "boot | bmc" } }, "in": "path", "name": "interface", "required": true, "schema": { "type": "string" } }, { "description": "Filter by nodeset. Minimum of one query parameter is required", "examples": { "nodeset": { "value": "cpn-i10-[04-05],cpn-h22-33" } }, "in": "query", "name": "nodeset", "schema": { "type": "string" } }, { "description": "Filter by tags. Minimum of one query parameter is required", "examples": { "tags": { "value": "a01,ib,test" } }, "in": "query", "name": "tags", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NodeBootTokenResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/NodeBootTokenResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "node boot token", "tags": [ "v1", "nodes" ] } }, "/v1/roles": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).GetRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet roles and permissions", "operationId": "GET_/v1/roles", "parameters": [ { "description": "Filter by name", "examples": { "name": { "value": "admin,user" } }, "in": "query", "name": "name", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetRolesResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GetRolesResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "get roles", "tags": [ "v1", "roles" ] }, "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).PatchRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nEdit role permissions", "operationId": "PATCH_/v1/roles", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchRolesRequest" } } }, "description": "Request body for api.PatchRolesRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "patch roles", "tags": [ "v1", "roles" ] }, "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).PostRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nAdd roles", "operationId": "POST_/v1/roles", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostRolesRequest" } } }, "description": "Request body for api.PostRolesRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "post roles", "tags": [ "v1", "roles" ] } }, "/v1/roles/{names}": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).DeleteRoles`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete roles", "operationId": "DELETE_/v1/roles/:names", "parameters": [ { "description": "Delete by name", "examples": { "names": { "value": "admin,user" } }, "in": "path", "name": "names", "required": true, "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "delete roles", "tags": [ "v1", "roles" ] } }, "/v1/switch/{nodeset}/lldp": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).SwitchGetLLDP`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nGet switch LLDP info", "operationId": "GET_/v1/switch/:nodeset/lldp", "parameters": [ { "description": "Filter by port name", "examples": { "ports": { "value": "Et1,Et2" } }, "in": "query", "name": "ports", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } }, { "in": "path", "name": "nodeset", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/LLDP" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/LLDP" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "switch get l l d p", "tags": [ "v1", "switch" ] } }, "/v1/users": { "get": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).UserList`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nList all users", "operationId": "GET_/v1/users", "parameters": [ { "description": "Filter by usernames", "examples": { "username": { "value": "admin,user" } }, "in": "query", "name": "usernames", "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/User" }, "type": "array" } }, "application/xml": { "schema": { "items": { "$ref": "#/components/schemas/User" }, "type": "array" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "user list", "tags": [ "v1", "users" ] }, "post": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).UserStore`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nAdd new user", "operationId": "POST_/v1/users", "parameters": [ { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserStoreRequest" } } }, "description": "Request body for api.UserStoreRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserStoreResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/UserStoreResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "user store", "tags": [ "v1", "users" ] } }, "/v1/users/{usernames}": { "delete": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).UserDelete`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nDelete users", "operationId": "DELETE_/v1/users/:usernames", "parameters": [ { "description": "target usernames", "examples": { "usernames": { "value": "user1,user2" } }, "in": "path", "name": "usernames", "required": true, "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "user delete", "tags": [ "v1", "users" ] } }, "/v1/users/{usernames}/enable": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).UserEnable`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nUpdate users enable", "operationId": "PATCH_/v1/users/:usernames/enable", "parameters": [ { "description": "target usernames", "examples": { "usernames": { "value": "user1,user2" } }, "in": "path", "name": "usernames", "required": true, "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserEnableRequest" } } }, "description": "Request body for api.UserEnableRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "user enable", "tags": [ "v1", "users" ] } }, "/v1/users/{usernames}/role": { "patch": { "description": "#### Controller: \n\n`github.com/ubccr/grendel/internal/api.(*Handler).UserRole`\n\n#### Middlewares:\n\n- `github.com/go-fuego/fuego.defaultLogger.middleware`\n- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`\n\n---\n\nUpdate users role", "operationId": "PATCH_/v1/users/:usernames/role", "parameters": [ { "description": "target usernames", "examples": { "usernames": { "value": "user1,user2" } }, "in": "path", "name": "usernames", "required": true, "schema": { "type": "string" } }, { "in": "header", "name": "Accept", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRoleRequest" } } }, "description": "Request body for api.UserRoleRequest", "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/GenericResponse" } } }, "description": "OK" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPError" } } }, "description": "Default Error" } }, "security": [ { "headerAuth": [] }, { "cookieAuth": [] } ], "summary": "user role", "tags": [ "v1", "users" ] } } }, "servers": [ { "description": "local server", "url": "https://127.0.0.1:8080" } ], "tags": [ { "name": "auth" }, { "name": "bmc" }, { "name": "db" }, { "name": "grendel" }, { "name": "images" }, { "name": "nodes" }, { "name": "roles" }, { "name": "switch" }, { "name": "users" }, { "name": "v1" } ] }