Cisco Expressway · Arazzo Workflow

Cisco Expressway Provision NTP Server

Version 1.0.0

Add an NTP time source to an Expressway node and confirm it was applied.

1 workflow 1 source API 1 provider
View Spec View on GitHub CollaborationFirewall TraversalH.323Session Border ControllerSIPUnified CommunicationsVideo ConferencingArazzoWorkflows

Provider

cisco-expressway

Workflows

provision-ntp-server
Add an NTP server entry and verify it appears in the configured list.
Creates an NTP server entry, lists all configured NTP servers to confirm the address is now present, and reads system information for the node.
3 steps inputs: address, authenticationMode, host, index, password, username outputs: createdAddress, ntpServers, systemName
1
addNtpServer
createNtpServer
Add a new NTP server entry to the Expressway common configuration for time synchronization. Up to five NTP servers can be configured.
2
confirmNtpServers
listNtpServers
List all configured NTP servers and confirm the just-added address is present in the returned array.
3
readSystemInfo
getSystemInfo
Read basic system information so the caller can record which Expressway node the NTP change was applied to.

Source API Descriptions

Arazzo Workflow Specification

cisco-expressway-provision-ntp-server-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Expressway Provision NTP Server
  summary: Add an NTP time source to an Expressway node and confirm it was applied.
  description: >-
    Adds a new NTP server to the Cisco Expressway common configuration for time
    synchronization, then re-reads the configured NTP server list to confirm the
    new entry is present, and reads system information to capture the node the
    change targeted. 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: configurationApi
  url: ../openapi/cisco-expressway-configuration-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-ntp-server
  summary: Add an NTP server entry and verify it appears in the configured list.
  description: >-
    Creates an NTP server entry, lists all configured NTP servers to confirm the
    address is now present, and reads system information for the node.
  inputs:
    type: object
    required:
    - host
    - username
    - password
    - address
    properties:
      host:
        type: string
        description: FQDN or IP address of the Expressway node (server variable host).
      username:
        type: string
        description: Expressway administrator username for HTTP Basic auth.
      password:
        type: string
        description: Expressway administrator password for HTTP Basic auth.
      index:
        type: integer
        description: Index position (1-5) to assign the NTP server.
      address:
        type: string
        description: Hostname or IP address of the NTP server (e.g. pool.ntp.org).
      authenticationMode:
        type: string
        description: Authentication mode for the NTP connection (Off or Symmetric key).
  steps:
  - stepId: addNtpServer
    description: >-
      Add a new NTP server entry to the Expressway common configuration for time
      synchronization. Up to five NTP servers can be configured.
    operationId: createNtpServer
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Index: $inputs.index
        Address: $inputs.address
        AuthenticationMode: $inputs.authenticationMode
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      createdAddress: $response.body#/Address
  - stepId: confirmNtpServers
    description: >-
      List all configured NTP servers and confirm the just-added address is
      present in the returned array.
    operationId: listNtpServers
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $[?(@.Address == '$inputs.address')]
      type: jsonpath
    outputs:
      ntpServers: $response.body
  - stepId: readSystemInfo
    description: >-
      Read basic system information so the caller can record which Expressway
      node the NTP change was applied to.
    operationId: getSystemInfo
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      systemName: $response.body#/SystemName
      uptime: $response.body#/Uptime
  outputs:
    createdAddress: $steps.addNtpServer.outputs.createdAddress
    ntpServers: $steps.confirmNtpServers.outputs.ntpServers
    systemName: $steps.readSystemInfo.outputs.systemName