RackHD/on-http

View on GitHub
static/monorail-2.0.yaml

Summary

Maintainability
Test Coverage
# Copyright © 2017 Dell Inc. or its subsidiaries.  All Rights Reserved.
info:
  title: rackhd api 
  version: "5.0.1"
basePath: /api/2.0
consumes:
- application/json
definitions:
  Error:
    properties:
      code:
        format: int32
        type: integer
      fields:
        type: string
      message:
        type: string
  ErrorResponse:
    properties:
      message:
        type: string
      errors:
        items:
          type: string
        type: array
    required:
    - message
  Lookups.2.0_LookupBase:
    description: A lookup record
    properties:
      ipAddress:
        format: ipv4
        type: string
      macAddress:
        pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
        type: string
      node:
        type: string
    type: object
  VersionsResponse:
    properties:
      message:
        type: string
    required:
    - message
  action:
    description: Action object
    properties:
      command:
        description: Command to execute
        enum:
        - cancel
        type: string
      options:
        description: Command options object
        type: object
    required:
    - command
  generic_obj:
    type: object
  get_user_obj:
    properties:
      role:
        type: string
      username:
        type: string
  patch_user_obj:
    properties:
      role:
        type: string
      password:
        type: string
  hooks.2.0_HookBase:
    description: Hook base schema
    type: object
    properties:
      url:
        type: string
        format: uri
      name:
        type: string
      filters:
        type: array
        items:
          type: object
  hooks.2.0_HookPost:
    description: Hook post schema 
    type: object
    properties:
      url:
        type: string
        format: uri
      name:
        type: string
      filters:
        type: array
        items:
          type: object
    required:
      - url
  ipmi-obm-service_Obm:
    description: OBM settings
    properties:
      config:
        properties:
          host:
            description: BMC address
            type: string
          password:
            description: IPMI password
            type: string
          user:
            description: IPMI username
            type: string
        type: object
      nodeId:
        type: string
      service:
        type: string
    required:
    - nodeId
    - service
    - config
    type: object
  node.2.0_GetNode:
    description: Get a node from RackHD
    properties:
      identifier:
        type: string
      autoDiscover:
        type: boolean
      bootSettings:
        type: object
      identifiers:
        items:
          type: string
          uniqueItems: true
        type: array
      name:
        description: Name of the node
        type: string
      obms:
        description: The list of obm settings
        type: array
        items:
            $ref: "#/definitions/nodes_post_obm_by_id"
      relations:
        type: array
        items:
          $ref: "#/definitions/relations_obj"
      tags:
        type: string
      type:
        description: Type of node
        enum:
        - compute
        - compute-container
        - switch
        - dae
        - pdu
        - mgmt
        - enclosure
        - rack
        type: string
    type: object
  node.2.0_PartialNode:
    description: Post a node into RackHD
    properties:
      autoDiscover:
        type: boolean
      bootSettings:
        type: object
      identifiers:
        items:
          type: string
          uniqueItems: true
        type: array
      name:
        description: Name of the node
        type: string
      obms:
        description: The list of obm settings
        type: array
        items:
            $ref: "#/definitions/nodes_post_obm_by_id"
      relations:
        type: array
        items:
          $ref: "#/definitions/relations_obj"
      tags:
        items:
          type: string
          uniqueItems: true
        type: array
      type:
        description: Type of node
        enum:
        - compute
        - compute-container
        - switch
        - dae
        - pdu
        - mgmt
        - enclosure
        - rack
        type: string
    type: object
  nodes_post_obm_by_id:
    description: OBM settings
    properties:
      config:
        type: object
      service:
        type: string
      nodeId:
        type: string
    required:
    - service
    - config
    - nodeId
    type: object
  obm_led:
    properties:
      nodeId:
        type: string
      value:
        type: boolean
  obm:
    type: object
    properties:
      id:
        type: string
      node:
        type: string
      config:
        type: object  
      service:
        type: string
  poller.2.0_PartialPoller:
    description: A poller for periodic collection of telemetry data
    properties:
      config:
        description: Poller configuration object
        type: object
      paused:
        description: Asserted if poller is paused
        type: boolean
      pollInterval:
        description: Interval at which poller will run
        type: number
      type:
        description: Type of poller
        enum:
        - ipmi
        - snmp
        - redfish
        - wsman
        type: string
    type: object
  post_node_workflow:
    properties:
      name:
        type: string
      options:
        properties:
          defaults:
            type: object
        type: object
    type: object
  post_tags:
    properties:
      name:
        minLength: 1
        type: string
      rules:
        items:
          $ref: '#/definitions/tag_rule'
        type: array
    type: object
  post_tasks:
    properties:
      identifier:
        type: string
      tasks:
        items:
          $ref: '#/definitions/workflow_task'
        type: array
    type: object
  post_workflow:
    properties:
      name:
        type: string
      options:
        properties:
          defaults:
            properties:
              graphOptions:
                type: object
              nodeId:
                type: string
            type: object
        type: object
    type: object
  relations_obj:
    description: A key value set of node relations.
    properties:
      relationType:
        description: Relation Type with the node.
        type: string
      info:
        type: string
      targets:
        description: Array of targets.
        items:
          type: string
        type: array
    type: object
  role_obj:
    properties:
      privileges:
        items:
          type: string
        type: array
      role:
        type: string
  skus.2.0_SkusUpsert:
    description: A sku for RackHD
    properties:
      discoveryGraphName:
        minLength: 1
        type: string
      discoveryGraphOptions:
        type: object
      name:
        minLength: 1
        type: string
      rules:
        description: Possible Rules a Sku can use
        items:
          $ref: '#/definitions/tag_rule'
        type: array
    type: object
  ssh-ibm-service_Ibm:
    description: SSH settings
    properties:
      config:
        properties:
          host:
            description: IP address
            type: string
          password:
            description: Password
            type: string
          user:
            description: Username
            type: string
        type: object
      service:
        type: string
      nodeId:
        type: string
    required:
    - service
    - config
    type: object
  tag_rule:
    properties:
      contains:
        type: string
      equals:
        type: string
      greaterThan:
        type: number
      in:
        items:
          type: string
        type: array
      lessThan:
        type: number
      max:
        type: number
      min:
        type: number
      notContains:
        type: string
      notIn:
        items:
          type: string
        type: array
      notRegex:
        type: string
      path:
        type: string
      regex:
        type: string
    required:
    - path
    type: object
  user_obj:
    properties:
      password:
        type: string
      role:
        type: string
      username:
        type: string
        pattern: ^[A-Za-z][0-9A-Za-z._-]+$
  workflow_graph:
    properties:
      friendlyName:
        type: string
      injectableName:
        type: string
      options:
        type: object
      tasks:
        items:
          $ref: '#/definitions/workflow_graph_task'
        type: array
    type: object
  workflow_graph_task:
    properties:
      ignoreFailure:
        type: boolean
      label:
        type: string
      taskName:
        type: string
      waitOn:
        type: object
    type: object
  workflow_task:
    properties:
      friendlyName:
        type: string
      implementsTask:
        type: string
      injectableName:
        type: string
      options:
        type: object
      properties:
        type: object
    type: object
paths:
  /catalogs:
    get:
      description: Get an array of catalog data describing all hardware in the system.
      operationId: catalogsGet
      parameters:
      - description: A query string containing catalog properties to search
        in: query
        name: query
        required: false
        type: string
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved a list of catalogs
          schema:
            $ref: '#/definitions/VersionsResponse'
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get all catalogs
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - catalogsRead
      x-view: catalogs.2.0.json
    x-swagger-router-controller: catalogs
  /catalogs/{identifier}:
    get:
      description: Get a catalog based on its catalog identifier.
      operationId: catalogsIdGet
      parameters:
      - description: The catalog identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the catalog
          schema:
            $ref: '#/definitions/VersionsResponse'
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get a catalog
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - catalogsRead
      x-view: catalogs.2.0.json
    x-swagger-router-controller: catalogs
  /catalogs/{identifier}/firmware:
    get:
      description: Get a catalog based on its node identifier.
      operationId: firmwareCatalogsIdGet
      parameters:
      - description: node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the catalog
          schema:
            type: object
                       
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get a firmware catalog
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - catalogsRead
    x-swagger-router-controller: catalogs
  /config:
    get:
      description: Get the RackHD server configuration properties.
      operationId: configGet
      responses:
        200:
          description: Successfully retrieved the configuration
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get server configuration
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - configRead
    patch:
      consumes:
      - application/json
      description: Modify the RackHD server configuration.
      operationId: configPatch
      parameters:
      - description: The configuration properties to be modified
        in: body
        name: config
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        200:
          description: Successfully modified the configuration
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch server configuration
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - configModify
    put:
      consumes:
      - application/json
      description: Modify the RackHD server configuration.
      operationId: configPut
      parameters:
      - description: The configuration properties to be modified
        in: body
        name: config
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        200:
          description: Successfully modified the configuration
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch server configuration
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - configModify
    x-swagger-router-controller: config
  /files:
    get:
      description: Get a list of all files currently stored.
      operationId: filesGetAll
      responses:
        200:
          description: Successfully retrieved the files
          schema:
            type: object
        500:
          description: Failed to serve file request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all files
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - filesRead
    x-swagger-router-controller: files
  /files/{fileidentifier}:
    delete:
      description: Delete a file based on uuid.
      operationId: filesDelete
      parameters:
      - description: UUID of the file you wish to delete
        in: path
        name: fileidentifier
        required: true
        type: string
      responses:
        204:
          description: File successfully deleted
        404:
          description: File not found.
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Error deleting file from the database
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a file
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - FilesRemove
    get:
      description: Get file based on uuid or file name.
      operationId: filesGet
      parameters:
      - description: The uuid or file name of a file as provided when you originally stored it
        in: path
        name: fileidentifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved specified file
          schema:
            type: file
        404:
          description: File not found
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Failed to serve file request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a file
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - filesRead
    put:
      consumes:
      - application/octet-stream
      - application/x-www-form-urlencoded
      description: Put file based on its filename. Returns the uuid of the stored file.
      operationId: filesPut
      parameters:
      - description: The filename of the file you want to store
        in: path
        name: fileidentifier
        required: true
        type: string
      responses:
        201:
          description: Successfully stored file
          schema:
            type: string
        500:
          description: Failure serving file request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put a file
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - filesWrite
      x-view: file.2.0.json
    x-swagger-router-controller: files
  /files/{filename}/md5:
    get:
      description: Get md5sum based on file name.
      operationId: filesMd5Get
      parameters:
      - description: File name of a file as provided when you originally stored it
        in: path
        name: filename
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the md5sum of the specified file
          schema:
            type: object
        404:
          description: File not found
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Failed to serve file request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get md5sum of file
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - filesRead
      x-view: files.md5.2.0.json
    x-swagger-router-controller: files
  /files/{filename}/metadata:
    get:
      description: Get file metadata by file name.
      operationId: filesMetadataGet
      parameters:
      - description: The name of a file as provided when you originally stored it
        in: path
        name: filename
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved metadata of the specified file
          schema:
            type: object
        404:
          description: File not found
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Failed to serve file metadata request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get file metadata
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - filesRead
      x-view: file.2.0.json
    x-swagger-router-controller: files
  /files/static/list:
    x-swagger-router-controller: files
    get:
      operationId: filesGetAllStatic
      x-privileges: [ 'Read' ]
      x-authentication-type: [ 'jwt' ]
      summary: |
        List all static files
      description: |
        List all static files
      tags: [ "/api/2.0" ]
      responses:
        200:
          description: array of all
          schema:
            type: array
            items:
              type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'

  /ibms:
    get:
      description: Get a list of all In Band Management settings that have been associated
        with nodes.
      operationId: ibmsGet
      responses:
        200:
          description: Successfully retrieved the list of IBMS service instances
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of all IBM service instances
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - ibmsRead
      x-view: ibms.2.0.json
    put:
      description: Create or update a single IBM service, and
        associate it with a node.
      operationId: ibmsPut
      parameters:
      - description: The IBM settings information to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ssh-ibm-service_Ibm'
      responses:
        201:
          description: Successfully put the IBM service
          schema:
            type: object
        500:
          description: IBM service creation failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put an IBM service
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - ibmsWrite
      x-swagger-schema: ibm
      x-view: ibms.2.0.json
    x-swagger-router-controller: ibms
  /ibms/definitions:
    get:
      description:
        Get a list of IBMS schemas, which define the properties
        required to create IBMS settings.
      operationId: ibmsDefinitionsGetAll
      responses:
        200:
          description: Successfully retrieved a list of IBMS schemas
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of IBMS services
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - ibmsRead
    x-swagger-router-controller: ibms
  /ibms/definitions/{name}:
    get:
      description: Get the contents of the specified IBMS service schema.
      operationId: ibmsDefinitionsGetByName
      parameters:
      - description: The IBMS service name
        in: path
        name: name
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified IBMS shcema
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get an IBMS service definition
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - ibmsRead
    x-swagger-router-controller: ibms
  /ibms/{identifier}:
    delete:
      description: Delete the IBMS settings with the specified identifier.
      operationId: ibmsDeleteById
      parameters:
      - description: The IBMS service identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified IBMS settings
          schema:
            type: object
        404:
          description: The IBMS service with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete IBMS settings
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - ibmsRemove
    get:
      description: Get the IBMS settings associated with the specified identifier
      operationId: ibmsGetById
      parameters:
      - description: The IBMS service identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified IBMS service
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get an IBMS service
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - ibmsRead
      x-view: ibms.2.0.json
    patch:
      description: Update the properties of the IBMS settings with the specified identifier.
      operationId: ibmsPatchById
      parameters:
      - description: The IBMS service identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The IBMS properties to patch
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ssh-ibm-service_Ibm'
      responses:
        200:
          description: Successfully patched the specified IBMS settings
          schema:
            type: object
        500:
          description: IBMS patch failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch IBMS settings
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - ibmsModify
      x-swagger-schema: ibm
    x-swagger-router-controller: ibms
  /hooks:
    get:
      description: Get all hooks
      operationId: hooksGetAll
      responses:
        200:
          description: Successfully retrieved the hook configuration
          schema:
            type: array
            items:
              $ref: "#/definitions/hooks.2.0_HookBase"
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all hooks
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - hooksRead
      x-view: hook.2.0.json
    post:
      consumes:
      - application/json
      description: Create a new hook.
      operationId: hooksPost
      parameters:
      - description: configuration hook to be created
        in: body
        name: body
        required: true
        schema:
            $ref: '#/definitions/hooks.2.0_HookPost'
      responses:
        201:
          description: Successfully created new hook
          schema:
            type: object
        409:
          description: Duplicated hook.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a hook
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - hooksWrite
      x-swagger-schema: hooks.2.0.json#/definitions/HookPost
      x-view: hook.2.0.json
    x-swagger-router-controller: hooks
  /hooks/{identifier}:
    get:
      description: Get hook by id
      operationId: hooksGetById
      parameters:
      - description: id of the hook you wish to delete
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified hook
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a hook
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - hooksRead
      x-view: hook.2.0.json
    delete:
      description: Delete a hook based on hook id.
      operationId: hooksDelById
      parameters:
      - description: id of the hook you wish to delete
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Hook successfully deleted
        404:
          description: Hook not found.
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Error deleting hook from the database
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a hook
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Remove
      - hooksRemove
    patch:
      description: Modify the properties of a hook.
      operationId: hooksPatchById
      parameters:
      - description: The id of the hook to patch
        in: path
        name: identifier
        required: true
        type: string
      - description: The hook properties to be modified
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/hooks.2.0_HookBase'
      responses:
        200:
          description: Successfully modified the hook
          schema:
            type: object
        404:
          description: The specified hook was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a hook
      tags:
        - /api/2.0
      x-authentication-type:
        - jwt
      x-privileges:
        - Write
        - hooksModify
      x-swagger-schema: hooks.2.0.json#/definitions/HookBase
      x-view: hook.2.0.json
    x-swagger-router-controller: hooks
  /lookups:
    get:
      description:
        Get a list of all lookups currently stored. Lookups relate mac addresses to ip addresses.
      operationId: lookupsGet
      parameters:
      - description: Query string specifying properties to search for
        in: query
        name: q
        required: false
        type: string
      responses:
        200:
          description: Successfully retrieved the list of lookups
          schema:
            items:
              $ref: '#/definitions/Lookups.2.0_LookupBase'
            type: array
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of lookups
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - lookupsRead
    post:
      description: Create and store a new lookup.
      operationId: lookupsPost
      parameters:
      - description: The properties of the lookup
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Lookups.2.0_LookupBase'
      responses:
        201:
          description: Successfully created new lookup
          schema:
            $ref: '#/definitions/Lookups.2.0_LookupBase'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a lookup
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - lookupsWrite
      x-swagger-schema: lookups.2.0.json#/definitions/LookupPost
    x-swagger-router-controller: lookups
  /lookups/{id}:
    delete:
      description: Delete the specified lookup.
      operationId: lookupsDelById
      parameters:
      - description: The identifier of the lookup to delete
        in: path
        name: id
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted lookup
        404:
          description: The specified lookup was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a lookup
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - lookupsRemove
    get:
      description: Get a lookup by specifying its identifier.
      operationId: lookupsGetById
      parameters:
      - description: The lookup identifier
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the lookup
          schema:
            items:
              $ref: '#/definitions/Lookups.2.0_LookupBase'
            type: array
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a lookup
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - lookupsRead
    patch:
      description: Modify the properties of a lookup.
      operationId: lookupsPatchById
      parameters:
      - description: The id of the lookup to patch
        in: path
        name: id
        required: true
        type: string
      - description: The lookup properties to be modified
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Lookups.2.0_LookupBase'
      responses:
        200:
          description: Successfully modified the lookup
          schema:
            $ref: '#/definitions/Lookups.2.0_LookupBase'
        404:
          description: The specified lookup was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a lookup
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - lookupsModify
      x-swagger-schema: lookups.2.0.json#/definitions/LookupBase
    x-swagger-router-controller: lookups
  /nodes:
    get:
      description: Get a list of all currently stored nodes.
      operationId: nodesGetAll
      parameters:
      - description: Query string specifying properties to search for
        in: query
        name: $skip
        required: false
        type: integer
      - description: Query string specifying properties to search for
        in: query
        name: $top
        required: false
        type: integer
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved the list of nodes
          schema:
            items:
              $ref: '#/definitions/node.2.0_GetNode'
            type: array
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of nodes
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - nodesRead
      x-view: node.2.0.json
    post:
      description: Create and store a new node manually.
      operationId: nodesPost
      parameters:
      - description: The properties of the new node
        in: body
        name: identifiers
        required: true
        schema:
          $ref: '#/definitions/node.2.0_PartialNode'
      responses:
        201:
          description: Successfully created node
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesWrite
      x-swagger-schema: node.2.0.json#/definitions/Node
    x-swagger-router-controller: nodes
  /nodes/tags/{tagName}:
    delete:
      description: Delete specified tag from all nodes.
      operationId: nodesMasterDelTagById
      parameters:
      - description: The tag identifier
        in: path
        name: tagName
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted tags
        404:
          description: The tag name identifier was not found
      summary: Delete nodes tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesRemove
    x-swagger-router-controller: nodes
  /nodes/{identifier}:
    delete:
      description: Delete the specified node.
      operationId: nodesDelById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the node
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesRemove
    get:
      description: Get all information on the specified node.
      operationId: nodesGetById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified node
          schema:
            items:
              $ref: '#/definitions/node.2.0_GetNode'
            type: array
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - nodesRead
      x-view: node.2.0.json
    patch:
      description: Modify the properties of the specified node.
      operationId: nodesPatchById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The node properties to modify
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/node.2.0_PartialNode'
      responses:
        200:
          description: Successfully modified the specified node
          schema:
            $ref: '#/definitions/node.2.0_PartialNode'
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesModify
    x-swagger-router-controller: nodes
  /nodes/{identifier}/catalogs:
    get:
      description: Get a list of all of the catalogs for the specified node.
      operationId: nodesGetCatalogById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved catalogs of specified node
          schema:
            type: object
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the catalogs for a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - catalogsRead
      x-view: catalogs.2.0.json
    x-swagger-router-controller: nodes
  /nodes/{identifier}/catalogs/{source}:
    get:
      description:
        Get a list of all of the catalogs for the specified node, containing the specified value of the source catalog property.
      operationId: nodesGetCatalogSourceById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The source catalog name to fetch
        in: path
        name: source
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved specific source catalog of specified node
          schema:
            type: object
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the catalogs for a node by source
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - catalogsRead
    x-swagger-router-controller: nodes
  /nodes/{identifier}/obm:
    get:
      description: Get all the OBM settings for the specified node.
      operationId: nodesGetObmsByNodeId
      parameters:
      - description: The Node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified OBM service
          schema:
            type: array
            items:
              $ref: '#/definitions/obm'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all OBM services
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - obmsRead
      x-view: obm.2.0.json
    put:
      description: Create or update the specified OBM service with the associated Node ID
      operationId: nodesPutObmsByNodeId
      parameters:
      - description: The Node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The OBM settings information to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/nodes_post_obm_by_id'
      responses:
        201:
          description: Successfully put the OBM service
          schema:
            type: object
        500:
          description: OBM service creation failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put an OBM service
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - obmsWrite
      x-swagger-schema: obm
      x-view: obm.2.0.json
    x-swagger-router-controller: nodes
  /nodes/{identifier}/pollers:
    get:
      description: Get a list of all of the pollers for the specified node.
      operationId: nodesGetPollersById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the pollers of specified node
          schema:
            type: array
            items:
              type: object
        404:
          description: The specified node was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the pollers for a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
    x-swagger-router-controller: nodes
  /nodes/{identifier}/relations:
    delete:
      description: Edit the relations fields of nodes to remove specific relationships
      operationId: nodesDelRelations
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: >
          A json object with relation types as keys and arrays of node ids as values.
          The nodes given relation types will be updated to remove the nodes given by id
        in: body
        name: content
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        204:
          description: Successfully removed the relations
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Remove relations from a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesRemove
      x-swagger-schema: relations.2.0.json#/definitions/Relation
    get:
      description: Get the relations field of the specified node
      operationId: nodesGetRelations
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the nodes relations
          schema:
            items:
              $ref: '#/definitions/relations_obj'
            type: array
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a nodes relations
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - nodesRead
    put:
      description: Edit the relations fields of a specifc node to add
        one more relationships.
      operationId: nodesAddRelations
      parameters:
      - description: The identifier for the node
        in: path
        name: identifier
        required: true
        type: string
      - description: >
          A json object with relation types as keys and arrays of node
          ids as values. The nodes given relation types will be updated with
          the nodes given by id
        in: body
        name: content
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        200:
          description: Node relations update succeeded.
          schema:
            type: object
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Add relationships between nodes
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesModify
      x-swagger-schema: relations.2.0.json#/definitions/Relation
    x-swagger-router-controller: nodes
  /nodes/{identifier}/ssh:
    get:
      description: Get all of the ssh settings associated with the specified node.
      operationId: nodesGetSshById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the ssh settings
          schema:
            type: object
        404:
          description: The node with the identifier was not found or has no ssh settings.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the ssh settings for a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - nodesRead
    post:
      description: Create the ssh settings associated with the specified node.
      operationId: nodesPostSshById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The ssh properties to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ssh-ibm-service_Ibm'
      responses:
        201:
          description: Successfull created ssh settings
        404:
          description: The specified node was not found or has no ssh settings.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post ssh settings
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesWrite
      x-swagger-schema: ibm
    x-swagger-router-controller: nodes
  /nodes/{identifier}/tags:
    get:
      description: Get a list of all tags associated with the specified node.
      operationId: nodesGetTagsById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved node tags
          schema:
            items:
              type: object
            type: array
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get node tags
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - nodesRead
    patch:
      description: Modify the tag(s) associated with the specified node.
      operationId: nodesPatchTagById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The tag properties to patch
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/post_tags'
      responses:
        200:
          description: Successfully modified node tag(s).
          schema:
            type: object
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch node tags
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesModify
      x-swagger-schema: node.2.0.json#/definitions/PartialNode
    x-swagger-router-controller: nodes
  /nodes/{identifier}/tags/{tagName}:
    delete:
      description: Delete the specified tag from the specified node.
      operationId: nodesDelTagById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The name of the tag
        in: path
        name: tagName
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted a specified tag from a node.
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a tag from a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - nodesRemove
    x-swagger-router-controller: nodes
  /nodes/{identifier}/workflows:
    get:
      description: >
        Get a list of all workflows that have run against the specified node, or
        are currently running against the node.
      operationId: nodesGetWorkflowById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: A query string to specify workflow properties to search for
        in: query
        name: active
        required: false
        type: boolean
      responses:
        200:
          description: Successfully retrieved the workflows for specified node
          schema:
            type: object
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all workflows for a node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
    post:
      description: Run a workflow against for the specified node.
      operationId: nodesPostWorkflowById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: 
          The name property set to the injectableName property of the workflow graph
        in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/post_node_workflow'
      - description: The optional name of the workflow graph to run
        in: query
        name: name
        required: false
        type: string
      responses:
        201:
          description: Successfully started the specified workflow.
          schema:
            type: object
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post workflow for the node
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsWrite
    x-swagger-router-controller: nodes
  /nodes/{identifier}/workflows/action:
    put:
      description: >
        Perform an action on a workflow associated with a node. Currently,
        the cancel action is supported.
      operationId: nodesWorkflowActionById
      parameters:
      - description: The node identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The action property set to the command to execute
        in: body
        name: action
        required: true
        schema:
          $ref: '#/definitions/action'
      responses:
        202:
          description: Successfully performed the action on the specified workflow
          schema:
            type: object
        404:
          description: The specified node was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Perform an action on a workflow
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsModify
    x-swagger-router-controller: nodes
  /obms:
    get:
      description: >
        Get a list of all OBM settings that have been associated
        with nodes. OBM settings allow RackHD to communicate with
        the BMC of a node.
      operationId: obmsGet
      responses:
        200:
          description: Successfully retrieved the list of OBM service instances
          schema:
            type: array
            items:
              $ref: '#/definitions/obm'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of all OBM service instances
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - obmsRead
      x-view: obm.2.0.json
    put:
      description:
        Create or update the specified OBM service, and associate it with a node.
      operationId: obmsPut
      parameters:
      - description: The OBM settings information to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ipmi-obm-service_Obm'
      responses:
        201:
          description: Successfully put the OBM service
          schema:
            type: object
        500:
          description: OBM service creation failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put an OBM service
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - obmsWrite
      x-swagger-schema: obm
      x-view: obm.2.0.json
    x-swagger-router-controller: obms
  /obms/definitions:
    get:
      description:
        Get a list of OBM schemas, which define the properties required to create OBM settings.
      operationId: obmsDefinitionsGetAll
      responses:
        200:
          description: Successfully retrieved a list of OBM schemas
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of OBM services
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - obmsRead
    x-swagger-router-controller: obms
  /obms/definitions/{name}:
    get:
      description: Get the contents of the specified OBM service schema.
      operationId: obmsDefinitionsGetByName
      parameters:
      - description: The OBM service name
        in: path
        name: name
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified OBM schema
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get an OBM service definition
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - obmsRead
    x-swagger-router-controller: obms
  /obms/led:
    post:
      description: Enable or disable identify LED on node through OBM, if supported.
      operationId: obmsPostLed
      parameters:
      - description: >
          If the body contains the property value: true, the LED will be lit.
          If the value property does not exist, the LED will be turned off.
          The body must contain the property nodeId set to the correct node
          identifier.
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/obm_led'
      responses:
        201:
          description: OBM settings accepted
        404:
          description: The node with the identifier was not found or has no obm settings
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Set identify light status
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - obmsRead
    x-swagger-router-controller: obms
  /obms/{identifier}:
    delete:
      description: Delete the OBM settings with the specified identifier.
      operationId: obmsDeleteById
      parameters:
      - description: The OBM service identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified OBM settings
          schema:
            type: object
        404:
          description: The OBM service with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete OBM settings
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - obmsRemove
    get:
      description: Get the OBM settings associated with the specified identifier
      operationId: obmsGetById
      parameters:
      - description: The OBM service identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified OBM service
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get an OBM service
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - obmsRead
      x-view: obm.2.0.json
    patch:
      description: Update the properties of the OBM settings with the specified identifier.
      operationId: obmsPatchById
      parameters:
      - description: The OBM service identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The OBM properties to patch
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        200:
          description: Successfully patched the specified OBM settings
          schema:
            type: object
        500:
          description: OBM patch failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch OBM settings
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - obmsModify
      x-swagger-schema: obm
    x-swagger-router-controller: obms
  /pollers:
    get:
      description: Get list of all pollers that are currently running.
      operationId: pollersGet
      parameters:
      - description: Query string specifying properties to search for
        in: query
        name: $skip
        required: false
        type: integer
      - description: Query string specifying properties to search for
        in: query
        name: $top
        required: false
        type: integer
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(id)'
      responses:
        200:
          description: Successful retrieval of the list of pollers
          schema:
            type: array
            items:
              type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of all active pollers
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
      x-view: poller.2.0.json
    post:
      description: Create and start a new poller, which will run at the specified time interval.
      operationId: pollersPost
      parameters:
      - description: >
          The request body must contain the necessary information
          to create the poller, including type, pollInterval, and command. The
          node identifier must also be included if the poller is to be associated
          with a node.
        in: body
        name: content
        required: true
        schema:
          $ref: '#/definitions/poller.2.0_PartialPoller'
      responses:
        201:
          description: Poller created successfully
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - pollersWrite
      x-swagger-schema: poller.2.0.json#/definitions/Poller
      x-view: poller.2.0.json
    x-swagger-router-controller: pollers
  /pollers/library:
    get:
      description: Get a list of all available poller definitions in the poller library.
      operationId: pollersLibGet
      responses:
        200:
          description: Successful retrieval of the list of all pollers in the library
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of possible pollers
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
    x-swagger-router-controller: pollers
  /pollers/library/{identifier}:
    get:
      description: >
        Get the poller definition with the specified identifier from the
        poller library
      operationId: pollersLibByIdGet
      parameters:
      - description: The poller identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successful retrieval of the specified poller
          schema:
            type: object
        404:
          description: The poller with specified identifier not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
    x-swagger-router-controller: pollers
  /pollers/{identifier}:
    delete:
      description: Delete the poller with the specified identifier.
      operationId: pollersDelete
      parameters:
      - description: The poller identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Poller was deleted successfully
        404:
          description: Poller with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - pollersRemove
    get:
      description: >
        Get information associated with the specified poller, including
        type, run interval, command, and whether the poller is paused.
      operationId: pollersIdGet
      parameters:
      - description: The poller identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Poller information retrieved successfully
          schema:
            type: object
        404:
          description: Poller with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
      x-view: poller.2.0.json
    patch:
      description: Modify one or more properties of the poller with the specified identifier.
      operationId: pollersPatch
      parameters:
      - description: The poller identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The body must contain the specific properties of the poller that will be modified.
        in: body
        name: content
        required: true
        schema:
          $ref: '#/definitions/poller.2.0_PartialPoller'
      responses:
        200:
          description: Poller was successfully modified
          schema:
            type: object
        404:
          description: Poller with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - pollersModify
      x-swagger-schema: poller.2.0.json#/definitions/PartialPoller
      x-view: poller.2.0.json
    x-swagger-router-controller: pollers
  /pollers/{identifier}/data:
    get:
      description: >
        Get the complete history of output data generated by the poller
        with the specified identifier.
      operationId: pollersDataGet
      parameters:
      - description: The identifier of the poller
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved poller data
          schema:
            type: object
        204:
          description: Successfully processed the request and did not return any data
          schema:
            type: object
        404:
          description: Poller with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get output data for a poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
    x-swagger-router-controller: pollers
  /pollers/{identifier}/data/current:
    get:
      description:
        Get latest output data generated by the poller poller with the specified identifier.
      operationId: pollersCurrentDataGet
      parameters:
      - description: The identifier of the poller
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the latest poller data
          schema:
            type: object
        204:
          description: Successfully processed the request and did not return any data
          schema:
            type: object
        404:
          description: Poller with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get latest data for a poller
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - pollersRead
    x-swagger-router-controller: pollers
  /profiles/library/{name}:
    get:
      description: Get the contents of a profile specified by its name.
      operationId: profilesGetLibByName
      parameters:
      - description: The profile name
        in: path
        name: name
        required: true
        type: string
      - description: The profile scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        200:
          description: Successfully returned profile
          schema:
            type: object
        404:
          description: The profile with the specified name was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get contents of a profile
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - profilesRead
    put:
      consumes:
      - application/octet-stream
      - application/x-www-form-urlencoded
      description: Create or modify the specified profile metadata and contents.
      operationId: profilesPutLibByName
      parameters:
      - description: The profile name
        in: path
        name: name
        required: true
        type: string
      - description: The profile scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        201:
          description: Successfully created or modified the specified profile
          schema:
            type: object
        500:
          description: Profile creation failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put a profile
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - profilesWrite
    x-swagger-router-controller: profiles
  /profiles/metadata:
    get:
      description: Get the list of metadata associated with all known profiles.
      operationId: profilesGetMetadata
      responses:
        200:
          description: Successfully retrieved the list of profile metadata
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of profile metadata
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - profilesRead
      x-view: renderable.2.0.json
    x-swagger-router-controller: profiles
  /profiles/metadata/{name}:
    get:
      description: Get the metadata associated with the specified profile.
      operationId: profilesGetMetadataByName
      parameters:
      - description: The profile name
        in: path
        name: name
        required: true
        type: string
      - description: The profile scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        200:
          description: Successfully returned the profile
          schema:
            type: object
        404:
          description: The profile with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified profiles metadata from database
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - profilesRead
      x-view: renderable.2.0.json
    x-swagger-router-controller: profiles
  /profiles/switch/error:
    post:
      description:
        Manually send a switch error to the log, since most switches do not generate errors.
      operationId: profilesPostSwitchError
      parameters:
      - description: The switch error to send
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/generic_obj'
      responses:
        201:
          description: Successfully posted the switch error
          schema:
            type: object
        500:
          description: Upload failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a switch error
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - profilesWrite
    x-swagger-router-controller: profiles
  /roles:
    get:
      description: Get the list of roles currently stored in the system.
      operationId: listRoles
      responses:
        200:
          description: Successfully retrieved the list of roles
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the list of roles
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - rolesRead
    post:
      description: Create a new role and store it.
      operationId: addRole
      parameters:
      - description: The role information
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/role_obj'
      responses:
        201:
          description: Successfully created a new role
          schema:
            type: object
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a new role
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      - anonymous
      x-privileges:
      - Write
    x-swagger-router-controller: roles2.0
  /roles/{name}:
    delete:
      description: Delete the specified Role.
      operationId: removeRole
      parameters:
      - description: role name
        in: path
        name: name
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified role
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a role
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - rolesRemove
    get:
      description: Get information about the specified role.
      operationId: getRole
      parameters:
      - description: The role name
        in: path
        name: name
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified role
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a role
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - rolesRead
    patch:
      description: Modify the properties of a role.
      operationId: modifyRole
      parameters:
      - description: The role name
        in: path
        name: name
        required: true
        type: string
      - description: The role information
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/role_obj'
      responses:
        200:
          description: Successfully modified the role
          schema:
            type: object
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a role
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - rolesModify
    x-swagger-router-controller: roles2.0
  /schemas:
    get:
      description: Get a list of all schemas currently stored in the system.
      operationId: schemasGet
      responses:
        200:
          description: Successfully retrieved the list of schemas
          schema:
            type: object
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get all schemas
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - schemasRead
    x-swagger-router-controller: schemas2
  /schemas/tasks:
    get:
      description: Get a list of all task schema names currently stored in the system.
      operationId: taskSchemasGet
      responses:
        200:
          description: Successfully retrieved the list of task schema names
          schema:
            type: object
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get all task schemas names
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - schemasRead
    x-swagger-router-controller: schemas2
  /schemas/tasks/{identifier}:
    get:
      description: Get the specified task schema.
      operationId: taskSchemasIdGet
      parameters:
      - description: The name of task schema
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the task schema
          schema:
            type: object
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get a task schema
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - schemasRead
    x-swagger-router-controller: schemas2
  /schemas/{identifier}:
    get:
      description: Get the specified schema.
      operationId: schemasIdGet
      parameters:
      - description: The identifier of the schema
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the schema
          schema:
            type: object
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get a schema
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - schemasRead
    x-swagger-router-controller: schemas2
  /skus:
    get:
      description: >
        Get list of currently defined SKUs, which are used to
        group nodes based on matching a set of rules with information
        present in a nodes catalog.
      operationId: skusGet
      parameters:
      - description: SKU properties to search
        in: query
        name: query
        required: false
        type: string
      responses:
        200:
          description: Successfully retrieved the list of SKUs
          schema:
            type: array
            items:
              $ref: '#/definitions/skus.2.0_SkusUpsert'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of SKUs
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - skusRead
      x-view: sku-2.0.json
    post:
      description: Create a new SKU.
      operationId: skusPost
      parameters:
      - description: The properties used to define the new SKU
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/skus.2.0_SkusUpsert'
      responses:
        201:
          description: Successfully created the SKU
          schema:
            type: object
        500:
          description: Upload failed.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - skusWrite
      x-swagger-schema: skus.2.0.json#/definitions/SkusUpsert
    put:
      description: Create or modify a SKU.
      operationId: skusPut
      parameters:
      - description: The properties used to define the SKU
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/skus.2.0_SkusUpsert'
      responses:
        201:
          description: Successfully created or updated SKU definition
          schema:
            type: object
        500:
          description: Update failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put a SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - skusWrite
      x-swagger-schema: skus.2.0.json#/definitions/SkusUpsert
    x-swagger-router-controller: skus
  /skus/pack:
    post:
      consumes:
      - multipart/form-data
      - application/x-www-form-urlencoded
      description: >
        Create a new SKU Pack, which is used to serve the specified
        set of files to a node during provisioning.
      operationId: skuPackPost
      responses:
        201:
          description: Successfully created the SKU Pack
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a SKU Pack
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - skusWrite
    x-swagger-router-controller: skus
  /skus/{identifier}:
    delete:
      description: Delete the SKU with the specified identifier.
      operationId: skusIdDelete
      parameters:
      - description: The SKU identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified SKU
          schema:
            type: object
        404:
          description: The SKU with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - skusRemove
    get:
      description: Get the SKU with the specified identifier.
      operationId: skusIdGet
      parameters:
      - description: The SKU identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfull retrieved the specified SKU
          schema:
            type: object
        404:
          description: The SKU with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - skusRead
      x-view: sku-2.0.json
    patch:
      description: Modify the SKU with the specified identifier.
      operationId: skusPatch
      parameters:
      - description: The sku identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The SKU properties to be modified
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/skus.2.0_SkusUpsert'
      responses:
        200:
          description: Successfully modified the specified SKU
          schema:
            type: object
        404:
          description: The SKU with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        500:
          description: SKU patch failed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch a SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - skusModify
    x-swagger-router-controller: skus
  /skus/{identifier}/nodes:
    get:
      description: Get the nodes associated with the specified SKU definition.
      operationId: skusIdGetNodes
      parameters:
      - description: The SKU identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the nodes associated with the specified SKU
          schema:
            type: array
            items:
              $ref: '#/definitions/node.2.0_GetNode'
        404:
          description: The SKU with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get nodes for specific SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - skusRead
      x-view: node.2.0.json
    x-swagger-router-controller: skus
  /skus/{identifier}/pack:
    delete:
      consumes:
      - application/x-www-form-urlencoded
      description: Delete a SKU Pack associated with the specified SKU.
      operationId: skusIdDeletePack
      parameters:
      - description: The SKU identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified SKU Pack
          schema:
            type: object
        404:
          description: The SKU Pack with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete a SKU Pack
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - write
      - skusRemove
    put:
      consumes:
      - application/x-www-form-urlencoded
      description: Create or modify a SKU Pack, and associate the SKU Pack with the specified SKU.
      operationId: skusIdPutPack
      parameters:
      - description: The identifier of the SKU Pack
        in: path
        name: identifier
        required: true
        type: string
      responses:
        201:
          description: Successfully created the SKU Pack
          schema:
            type: object
        404:
          description: The SKU with the specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Put a SKU Pack to the specified SKU
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - write
      - skusWrite
    x-swagger-router-controller: skus
  /swagger:
    x-swagger-pipe: swagger_raw
  /tags:
    get:
      description: Get a list of all tags currently stored.
      operationId: getAllTags
      parameters:
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved all tags.
          schema:
            items:
              type: object
            type: array
        404:
          description: No tags found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all tags
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - tagsRead
      x-view: tags.2.0.json
    post:
      description: Create a new tag.
      operationId: createTag
      parameters:
      - description: The tag properties
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/post_tags'
      responses:
        201:
          description: Successfully created the tag
          schema:
            type: object
        500:
          description: The tag could not be created
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - tagsWrite
      x-swagger-schema: tags.2.0.json
    x-swagger-router-controller: tags
  /tags/{tagName}:
    delete:
      description: Delete the specified tag.
      operationId: deleteTag
      parameters:
      - description: The tag identifier
        in: path
        name: tagName
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified tag.
          schema:
            type: object
        404:
          description: The tag with the specified name was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - tagsRemove
    get:
      description: Get the data associated with the specified tag.
      operationId: getTag
      parameters:
      - description: The tag identifier
        in: path
        name: tagName
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved information about the specified tag
          schema:
            type: object
        404:
          description: The tag name identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - tagsRead
      x-view: tags.2.0.json
    x-swagger-router-controller: tags
  /tags/{tagName}/nodes:
    get:
      description: Get a list of nodes with the specified tag.
      operationId: getNodesByTag
      parameters:
      - description: The tag identifier
        in: path
        name: tagName
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the list of nodes with the specified tag
          schema:
            items:
              type: object
            type: array
        404:
          description: The specified tag was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get nodes with the specified tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - tagsRead
    x-swagger-router-controller: tags
  /tags/{tagName}/nodes/workflows:
    post:
      description: Start a workflow against all nodes with the specified tag.
      operationId: postWorkflowById
      parameters:
      - description: The tag identifier
        in: path
        name: tagName
        required: true
        type: string
      - description: The workflow options to post
        in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/post_node_workflow'
      - description: Query string specifying the optional workflow injectable name
        in: query
        name: name
        required: false
        type: string
      responses:
        202:
          description: Successfully posted workflow to all nodes with specified tag
          schema:
            type: object
        404:
          description: The specified tag was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post workflow to node by tag
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsWrite
    x-swagger-router-controller: tags
  /tasks/bootstrap.js:
    get:
      description: Used internally by the system - get tasks bootstrap.js
      operationId: getBootstrap
      parameters:
      - description: Query string containing the mac address
        in: query
        name: macAddress
        required: false
        type: string
      responses:
        200:

          description: Successfully retrieved bootstrap.js
          schema:
            $ref: '#/definitions/VersionsResponse'
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
      summary: Get tasks bootstrap.js
      tags:
      - /api/2.0
    x-swagger-router-controller: tasks
  /tasks/{identifier}:
    get:
      description: Get the specified task.
      operationId: getTasksById
      parameters:
      - description: The task identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified task
          schema:
            type: object
        404:
          description: The specified task was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified task
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      x-view: tasks.2.0.json
    post:
      description: Start the specified task
      operationId: postTaskById
      parameters:
      - description: The task identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The obm settings to apply
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/post_tasks'
      responses:
        201:
          description: Successfully posted the specified task
          schema:
            type: object
        404:
          description: The specified task was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a task
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      x-view: tasks.2.0.json
    x-swagger-router-controller: tasks
  /templates/library/{name}:
    delete:
      description: Delete the template with the specified name.
      operationId: templatesLibDelete
      parameters:
      - description: The name of the template
        in: path
        name: name
        required: true
        type: string
      - default: global
        description: The template scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        204:
          description: Successfully deleted the specified template
        404:
          description: The template with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified template
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - templatesRemove
    get:
      description: Get the contents of the specified template file.
      operationId: templatesLibGet
      parameters:
      - description: The file name of the template
        in: path
        name: name
        required: true
        type: string
      - default: global
        description: The template scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        200:
          description: Successfully retrieved the contents of the specified template
          schema:
            type: object
        404:
          description: The template with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified template
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - templatesRead
    put:
      consumes:
      - text/plain
      - application/x-www-form-urlencoded
      description: Create or update the metadata and the content of the specified template.
      operationId: templatesLibPut
      parameters:
      - description: The name of the template
        in: path
        name: name
        required: true
        type: string
      - default: global
        description: The template scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        201:
          description: Successfully created or updated the specified template.
          schema:
            type: object
        404:
          description: The specified template was not found.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Create or update the specified template
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - templatesWrite
    x-swagger-router-controller: templates
  /templates/metadata:
    get:
      description: >
        Retrieves metadata for each defined template. The metadata
        includes the template name, and scope, not the actual
        contents of the template.
      operationId: templatesMetaGet
      parameters:
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved all template metadata
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of metadata for all templates
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - templatesRead
      x-view: renderable.2.0.json
    x-swagger-router-controller: templates
  /templates/metadata/{name}:
    get:
      description: Get metadata for the template with the specified name.
      operationId: templatesMetaGetByName
      parameters:
      - description: The file name of the template
        in: path
        name: name
        required: true
        type: string
      - description: The template scope
        in: query
        name: scope
        required: false
        type: string
      responses:
        200:
          description:
            Successfully retrieved the metadata of the specified template.
          schema:
            type: object
        404:
          description: Template with specified identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the metadata for the specified template
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - templatesRead
      x-view: renderable.2.0.json
    x-swagger-router-controller: templates
  /users:
    get:
      description: Get the list of users currently stored in the system.
      operationId: listUsers
      parameters:
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved the list of users
          schema:
            items:
              $ref: '#/definitions/get_user_obj'
            type: array
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the list of users
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - usersRead
      x-view: users.2.0.json
    post:
      description: Create a new user and store it.
      operationId: addUser
      parameters:
      - description: The user information
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/user_obj'
      responses:
        201:
          description: Successfully created the user
          schema:
            type: object
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        409:
          description: Conflict
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Post a new user
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      - anonymous
      x-privileges:
      - Write
      - usersWrite
      x-swagger-schema: user.2.0.json#/definitions/User
      x-view: users.2.0.json
    x-swagger-router-controller: users
  /users/{name}:
    delete:
      description: Delete the specified user.
      operationId: removeUser
      parameters:
      - description: The username
        in: path
        name: name
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified user
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified user
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - usersRemove
    get:
      description: Get information about the specified user.
      operationId: getUser
      parameters:
      - description: The username
        in: path
        name: name
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified user
          schema:
            $ref: '#/definitions/user_obj'
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified user
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - usersRead
      x-view: users.2.0.json
    patch:
      description: Modify the properties of a user.
      operationId: modifyUser
      parameters:
      - description: The username
        in: path
        name: name
        required: true
        type: string
      - description: The user information
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/patch_user_obj'
      responses:
        200:
          description: Successfully modified the specified user.
          schema:
            type: object
        401:
          description: Unauthorized
          schema:
            type: object
        403:
          description: Forbidden
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Patch the specified user
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - ConfigureUsers
      - ConfigureSelf
      - usersModify
      x-swagger-schema: user.2.0.json#/definitions/PartialUser
      x-view: users.2.0.json
    x-swagger-router-controller: users
  /views:
    get:
      description: >
        Retrieve a list of all views. Views are used to render
        the output of various system resources, such as nodes,
        pollers, and OBM settings.
      operationId: viewsGet
      responses:
        200:
          description: Successfully retrieved views
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get all views
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - viewsRead
      x-view: renderable.2.0.json
    x-swagger-router-controller: views
  /views/{identifier}:
    delete:
      description: Delete a view with the specified name.
      operationId: viewsDelete
      parameters:
      - description: The name of view to delete
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified view
          schema:
            type: object
        404:
          description: The view with specified name was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified view
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - viewsRemove
    get:
      description: Get the view with the specified file name.
      operationId: viewsGetById
      parameters:
      - description: The view name
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified view
          schema:
            type: object
        404:
          description: The view with specified name was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified view
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - viewsRead
      x-view: renderable.2.0.json
    put:
      consumes:
      - text/plain
      - application/octet-stream
      description: Create or update a view with the specified name.
      operationId: viewsPut
      parameters:
      - description: The name of view to create or update
        in: path
        name: identifier
        required: true
        type: string
      responses:
        201:
          description: Successfully created or modified the specified view.
          schema:
            type: object
      summary: Put the specified view
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - viewsWrite
    x-swagger-router-controller: views
  /workflows:
    get:
      description: Get list workflow that have been run or are currently running.
      operationId: workflowsGet
      parameters:
      - description: Query string to search for specific workflow properties
        in: query
        name: active
        required: false
        type: boolean
      - description: Query string specifying properties to search for
        in: query
        name: $skip
        required: false
        type: integer
      - description: Query string specifying properties to search for
        in: query
        name: $top
        required: false
        type: integer
      - name: sort
        in: query
        description: Query string specifying properties to sort with
        required: false
        type: string
        pattern: '[- +]{0,1}(name|id)'
      responses:
        200:
          description: Successfully retrieved workflows
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get a list of workflow instances
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflows.2.0.json
    post:
      description: >
        Run a workflow by specifying a workflow graph injectable name.
        The workflow is not associated with a node.
      operationId: workflowsPost
      parameters:
      - description: >
          The body must contain the name property with the
          value set to the injectable name of the workflow
          graph to run
        in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/post_workflow'
      - description:
          Optionally specify the injectable name of the workflow graph to run
        in: query
        name: name
        required: false
        type: string
      responses:
        201:
          description: Successfully started the specified workflow
          schema:
            type: object
        500:
          description: Workflow was not run
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Upload failed
          schema:
            $ref: '#/definitions/Error'
      summary: Run a workflow
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsWrite
    x-swagger-router-controller: workflows
  /workflows/graphs:
    get:
      description: Get a list of all workflow graphs available to run.
      operationId: workflowsGetGraphs
      responses:
        200:
          description: Successfully retrieved all workflow graphs
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of workflow graphs
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflowGraphs.2.0.json
    put:
      description: Create or modify a workflow graph in the graph library.
      operationId: workflowsPutGraphs
      parameters:
      - description: The workflow graph properties
        in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/workflow_graph'
      responses:
        201:
          description: Successfully created or modified a workflow graph.
          schema:
            type: object
        500:
          description: Workflow graph was not created or modified.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Upload failed
          schema:
            $ref: '#/definitions/Error'
      summary: Put a graph
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsWrite
      x-swagger-schema: workflowGraphs.2.0.json#/definitions/workflowGraphsPut
    x-swagger-router-controller: workflowGraphs
  /workflows/graphs/{injectableName}:
    delete:
      description:
        Delete the workflow graph with the specified value of the injectableName property.
      operationId: workflowsDeleteGraphsByName
      parameters:
      - description: The workflow graph injectable name
        in: path
        name: injectableName
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified workflow graph
          schema:
            type: object
        404:
          description: The graph with the specified injectable name was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified workflow graph
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsRemove
    get:
      description:
        Get the workflow graph with the specified value of the injectableName property.
      operationId: workflowsGetGraphsByName
      parameters:
      - description: The workflow graph injectable name
        in: path
        name: injectableName
        required: true
        type: string
      responses:
        200:
          description:
            Successfully retrieved the workflow graph with the specified injectable name
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified workflow graph
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflowGraphs.2.0.json
    x-swagger-router-controller: workflowGraphs
  /workflows/tasks:
    get:
      description: Get a list of all workflow tasks that can be added to a workflow.
      operationId: workflowsGetAllTasks
      responses:
        200:
          description: Successfully retrieved workflow tasks
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get list of workflow tasks
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflowTasks.2.0.json
    put:
      description: Create or update a workflow task in the library of tasks.
      operationId: workflowsPutTask
      parameters:
      - description: The workflow task properties
        in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/workflow_task'
      responses:
        201:
          description: Successfully created or modified workflow task
          schema:
            type: object
        500:
          description: Failed to create or modify workflow task.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Upload failed
          schema:
            $ref: '#/definitions/Error'
      summary: Put a workflow task
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsWrite
    x-swagger-router-controller: workflowTasks
  /workflows/tasks/{injectableName}:
    delete:
      description:
        Delete the workflow task with the specified value of the injectableName property.
      operationId: workflowsDeleteTasksByName
      parameters:
      - description: The task injectable name
        in: path
        name: injectableName
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified workflow task
          schema:
            type: object
        404:
          description: The workflow task with the specified injectable name was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified workflow task
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsRemove
    get:
      description: Get the task with the specified value of the injectableName property.
      operationId: workflowsGetTasksByName
      parameters:
      - description: The task injectable name
        in: path
        name: injectableName
        required: true
        type: string
      responses:
        200:
          description:
            Successfully retrieved the workflow task with the specified injectable name
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified workflow task
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflowTasks.2.0.json
    x-swagger-router-controller: workflowTasks
  /workflows/{identifier}:
    delete:
      description: Delete the workflow with the specified instance identifier.
      operationId: workflowsDeleteByInstanceId
      parameters:
      - description: The workflow instance identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        204:
          description: Successfully deleted the specified workflow
          schema:
            type: object
        404:
          description: The specified workflow was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Delete the specified workflow
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsRemove
    get:
      description: Get the workflow with the specified instance identifier.
      operationId: workflowsGetByInstanceId
      parameters:
      - description: The workflow instance identifier
        in: path
        name: identifier
        required: true
        type: string
      responses:
        200:
          description: Successfully retrieved the specified workflow
          schema:
            type: object
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Get the specified workflow
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Read
      - workflowsRead
      x-view: workflows.2.0.json
    x-swagger-router-controller: workflows
  /workflows/{identifier}/action:
    put:
      description: >
        Perform the specified action on the workflow with the specified
        instance identifier. Currently, the cancel action is supported.
      operationId: workflowsAction
      parameters:
      - description: The workflow instance identifier
        in: path
        name: identifier
        required: true
        type: string
      - description: The action property with the value of the desired action
        in: body
        name: action
        required: true
        schema:
          $ref: '#/definitions/action'
      responses:
        202:
          description: Successfully performed the action on the specified workflow
          schema:
            type: object
        404:
          description: The workflow with the identifier was not found
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
      summary: Perform an action on the specified workflow
      tags:
      - /api/2.0
      x-authentication-type:
      - jwt
      x-privileges:
      - Write
      - workflowsModify
    x-swagger-router-controller: workflows
  /notification/alerts:
      post:
        operationId: notificationAlertsPost
        consumes:
          - application/x-www-form-urlencoded
          - application/json
        summary: |
          Publishes alerts(redfish) received to rackHD
        description: |
          Publishes alerts(redfish) received to rackHD
        responses:
          201:
            description: |
              Specifics of the alert
            schema:
              type: object
          400:
            description: |
              bad request parameter passed
            schema:
              $ref: '#/definitions/Error'
          default:
            description: Unexpected error
            schema:
              $ref: '#/definitions/Error'
        tags:
        - /api/2.0
      x-swagger-router-controller: notification
  /ucsCallback:
    x-swagger-router-controller: callback
    post:
      operationId: ucsCallbackPost
      summary: |
        Callback for UCS nodes
      description: |
        Callback for UCS nodes
      parameters:
        - name: callbackId
          in: query
          description: |
            callback id to identify data belongings
          required: true
          type: string
      tags: [ "/api/2.0" ]
      responses:
        200:
          description: Data is accepted and sent
          schema:
            type: object
        400:
          description: |
            bad request parameter passed
          schema:
            $ref: '#/definitions/Error'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
produces:
- application/json
schemes:
- http
- https
swagger: '2.0'
tags:
- description: RackHD 2.0 API
  name: /api/2.0