Dell Servers · Arazzo Workflow

Dell Servers OpenManage Session and Device Listing

Version 1.0.0

Authenticate to OpenManage Enterprise and list managed server devices.

1 workflow 1 source API 1 provider
View Spec View on GitHub HardwareInfrastructureManagementMonitoringServersArazzoWorkflows

Provider

dell-servers

Workflows

ome-session-list-devices
Create an OME session, list server devices, then read one device.
Opens an OME API session, lists devices filtered to servers, and reads the first returned device in detail.
3 steps inputs: deviceFilter, password, userName outputs: authToken, deviceCount, serviceTag
1
createSession
{$sourceDescriptions.openManageEnterprise.url}#/paths/~1SessionService~1Sessions/post
Authenticate to the OME console and capture the X-Auth-Token returned for subsequent requests.
2
listDevices
listDevices
List managed devices filtered to the server device type.
3
getDevice
getDevice
Read the first returned device in detail.

Source API Descriptions

Arazzo Workflow Specification

dell-servers-ome-session-list-devices-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dell Servers OpenManage Session and Device Listing
  summary: Authenticate to OpenManage Enterprise and list managed server devices.
  description: >-
    Establishes an authenticated session with an OpenManage Enterprise console
    and enumerates the managed server devices. The workflow creates an API
    session to obtain an X-Auth-Token, then lists devices filtered to the
    server device type and reads one device in detail. Because createSession is
    declared in more than one Dell source description, the session step
    references it through the source-qualified operationPath form to remove
    ambiguity. Every step spells out its request inline so the flow can be read
    and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: openManageEnterprise
  url: ../openapi/dell-servers-openmanage-enterprise-openapi.yml
  type: openapi
workflows:
- workflowId: ome-session-list-devices
  summary: Create an OME session, list server devices, then read one device.
  description: >-
    Opens an OME API session, lists devices filtered to servers, and reads the
    first returned device in detail.
  inputs:
    type: object
    required:
    - userName
    - password
    properties:
      userName:
        type: string
        description: OpenManage Enterprise console username.
      password:
        type: string
        description: OpenManage Enterprise console password.
      deviceFilter:
        type: string
        description: >-
          OData filter expression for the device listing, for example
          Type eq 1000 for servers.
  steps:
  - stepId: createSession
    description: >-
      Authenticate to the OME console and capture the X-Auth-Token returned for
      subsequent requests.
    operationPath: '{$sourceDescriptions.openManageEnterprise.url}#/paths/~1SessionService~1Sessions/post'
    requestBody:
      contentType: application/json
      payload:
        UserName: $inputs.userName
        Password: $inputs.password
        SessionType: API
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      authToken: $response.header.X-Auth-Token
  - stepId: listDevices
    description: List managed devices filtered to the server device type.
    operationId: listDevices
    parameters:
    - name: X-Auth-Token
      in: header
      value: $steps.createSession.outputs.authToken
    - name: $filter
      in: query
      value: $inputs.deviceFilter
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deviceCount: $response.body#/@odata.count
      firstDeviceId: $response.body#/value/0/Id
  - stepId: getDevice
    description: Read the first returned device in detail.
    operationId: getDevice
    parameters:
    - name: X-Auth-Token
      in: header
      value: $steps.createSession.outputs.authToken
    - name: DeviceId
      in: path
      value: $steps.listDevices.outputs.firstDeviceId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      serviceTag: $response.body#/DeviceServiceTag
      model: $response.body#/Model
      deviceHealth: $response.body#/Status
  outputs:
    authToken: $steps.createSession.outputs.authToken
    deviceCount: $steps.listDevices.outputs.deviceCount
    serviceTag: $steps.getDevice.outputs.serviceTag