Cisco Expressway · Arazzo Workflow

Cisco Expressway Provision DNS Server

Version 1.0.0

Add a DNS server 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-dns-server
Add a DNS server entry and verify it appears in the configured list.
Creates a DNS server entry at a chosen index, lists all configured DNS servers to confirm the address is now present, and reads system information for the node the change targeted.
3 steps inputs: address, host, index, password, username outputs: createdAddress, dnsServers, systemName
1
addDnsServer
createDnsServer
Add a new DNS server entry to the Expressway common configuration. Up to five DNS server addresses are supported.
2
confirmDnsServers
listDnsServers
List all configured DNS servers and confirm the just-added address is present in the returned array.
3
readSystemInfo
getSystemInfo
Read basic system information for the node so the caller can record which Expressway the DNS change was applied to.

Source API Descriptions

Arazzo Workflow Specification

cisco-expressway-provision-dns-server-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Expressway Provision DNS Server
  summary: Add a DNS server to an Expressway node and confirm it was applied.
  description: >-
    Adds a new DNS server address to the Cisco Expressway common configuration,
    then re-reads the full DNS server list to confirm the new entry is present,
    and finally reads system information to capture the node identity the change
    was applied to. 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-dns-server
  summary: Add a DNS server entry and verify it appears in the configured list.
  description: >-
    Creates a DNS server entry at a chosen index, lists all configured DNS
    servers to confirm the address is now present, and reads system information
    for the node the change targeted.
  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 DNS server.
      address:
        type: string
        description: IP address of the DNS server to add (e.g. 8.8.8.8).
  steps:
  - stepId: addDnsServer
    description: >-
      Add a new DNS server entry to the Expressway common configuration. Up to
      five DNS server addresses are supported.
    operationId: createDnsServer
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Index: $inputs.index
        Address: $inputs.address
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      createdAddress: $response.body#/Address
      createdIndex: $response.body#/Index
  - stepId: confirmDnsServers
    description: >-
      List all configured DNS servers and confirm the just-added address is
      present in the returned array.
    operationId: listDnsServers
    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:
      dnsServers: $response.body
  - stepId: readSystemInfo
    description: >-
      Read basic system information for the node so the caller can record which
      Expressway the DNS 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
      softwareVersion: $response.body#/SoftwareVersion
  outputs:
    createdAddress: $steps.addDnsServer.outputs.createdAddress
    dnsServers: $steps.confirmDnsServers.outputs.dnsServers
    systemName: $steps.readSystemInfo.outputs.systemName