Dell Servers · Arazzo Workflow

Dell Servers Telemetry Subscription Setup

Version 1.0.0

Discover metric reports and subscribe to telemetry events.

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

Provider

dell-servers

Workflows

telemetry-subscription
Read telemetry service, list reports, then subscribe to metric events.
Reads the telemetry service and its metric reports, then creates an event subscription that delivers MetricReport events to a destination URL.
3 steps inputs: context, destination outputs: metricReports, subscriptionStatus
1
getTelemetryService
getTelemetryService
Read the telemetry service resource and its links.
2
listMetricReports
listMetricReports
List the metric reports available from the telemetry service.
3
createSubscription
createEventSubscription
Create an event subscription that pushes MetricReport events to the supplied destination URL over the Redfish protocol.

Source API Descriptions

Arazzo Workflow Specification

dell-servers-telemetry-subscription-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dell Servers Telemetry Subscription Setup
  summary: Discover metric reports and subscribe to telemetry events.
  description: >-
    Sets up streaming telemetry for a Dell PowerEdge server through the iDRAC
    Redfish API. The workflow reads the telemetry service, lists the available
    metric reports such as power, thermal, and CPU statistics, and then creates
    an event subscription that pushes MetricReport events to a caller-supplied
    destination URL. The result is a live telemetry feed without polling each
    metric report by hand. 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: idracRedfish
  url: ../openapi/dell-servers-idrac-redfish-openapi.yml
  type: openapi
workflows:
- workflowId: telemetry-subscription
  summary: Read telemetry service, list reports, then subscribe to metric events.
  description: >-
    Reads the telemetry service and its metric reports, then creates an event
    subscription that delivers MetricReport events to a destination URL.
  inputs:
    type: object
    required:
    - destination
    properties:
      destination:
        type: string
        description: URL to which Redfish events will be posted.
      context:
        type: string
        description: Client-supplied context string returned with each event.
  steps:
  - stepId: getTelemetryService
    description: Read the telemetry service resource and its links.
    operationId: getTelemetryService
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      telemetryService: $response.body
  - stepId: listMetricReports
    description: List the metric reports available from the telemetry service.
    operationId: listMetricReports
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reportCount: $response.body#/[email protected]
      metricReports: $response.body#/Members
  - stepId: createSubscription
    description: >-
      Create an event subscription that pushes MetricReport events to the
      supplied destination URL over the Redfish protocol.
    operationId: createEventSubscription
    requestBody:
      contentType: application/json
      payload:
        Destination: $inputs.destination
        EventTypes:
        - MetricReport
        Protocol: Redfish
        Context: $inputs.context
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      subscriptionStatus: $statusCode
  outputs:
    metricReports: $steps.listMetricReports.outputs.metricReports
    subscriptionStatus: $steps.createSubscription.outputs.subscriptionStatus