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