Cisco Expressway · Arazzo Workflow

Cisco Expressway Create Dial Plan Transform

Version 1.0.0

Add a pre-search transform, confirm it, then add a search rule that uses the normalized alias.

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

Provider

cisco-expressway

Workflows

create-dial-plan-transform
Create a pre-search transform and a downstream search rule.
Creates a pre-search transform that rewrites the destination alias, lists transforms to confirm it, and creates a search rule that routes the post-transform alias to a target zone.
3 steps inputs: host, password, patternString, patternType, replaceString, ruleName, targetZone, transformName, username outputs: ruleName, transformName, transforms
1
createTransform
createTransform
Create a pre-search transform that rewrites the destination alias before any zone searches are performed.
2
confirmTransform
listTransforms
List all pre-search transforms and confirm the new transform is present in the returned array.
3
createRoutingRule
createSearchRule
Create a search rule that routes the now-normalized destination alias to the target zone.

Source API Descriptions

Arazzo Workflow Specification

cisco-expressway-create-dial-plan-transform-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Expressway Create Dial Plan Transform
  summary: Add a pre-search transform, confirm it, then add a search rule that uses the normalized alias.
  description: >-
    Builds the front half of a dial plan by creating a pre-search transform that
    normalizes incoming destination aliases, confirming the transform appears in
    the configured list, and then creating a search rule that routes the
    normalized aliases. 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: create-dial-plan-transform
  summary: Create a pre-search transform and a downstream search rule.
  description: >-
    Creates a pre-search transform that rewrites the destination alias, lists
    transforms to confirm it, and creates a search rule that routes the
    post-transform alias to a target zone.
  inputs:
    type: object
    required:
    - host
    - username
    - password
    - transformName
    - patternType
    - patternString
    - ruleName
    - targetZone
    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.
      transformName:
        type: string
        description: Name for the pre-search transform.
      patternType:
        type: string
        description: Pattern match type (Prefix, Suffix, Regex, or Exact).
      patternString:
        type: string
        description: Pattern matched against the destination alias.
      replaceString:
        type: string
        description: Replacement string applied when the transform pattern matches.
      ruleName:
        type: string
        description: Name for the downstream search rule.
      targetZone:
        type: string
        description: Name of the zone the search rule forwards matching aliases to.
  steps:
  - stepId: createTransform
    description: >-
      Create a pre-search transform that rewrites the destination alias before
      any zone searches are performed.
    operationId: createTransform
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.transformName
        Priority: 1
        PatternType: $inputs.patternType
        PatternString: $inputs.patternString
        PatternBehavior: Replace
        ReplaceString: $inputs.replaceString
        State: Enabled
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transformName: $response.body#/Name
  - stepId: confirmTransform
    description: >-
      List all pre-search transforms and confirm the new transform is present in
      the returned array.
    operationId: listTransforms
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $[?(@.Name == '$inputs.transformName')]
      type: jsonpath
    outputs:
      transforms: $response.body
  - stepId: createRoutingRule
    description: >-
      Create a search rule that routes the now-normalized destination alias to
      the target zone.
    operationId: createSearchRule
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.ruleName
        Priority: 100
        AliasPatternType: $inputs.patternType
        AliasPatternString: $inputs.patternString
        TargetZone: $inputs.targetZone
        Protocol: Any
        Mode: 'On'
        State: Enabled
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ruleName: $response.body#/Name
  outputs:
    transformName: $steps.createTransform.outputs.transformName
    transforms: $steps.confirmTransform.outputs.transforms
    ruleName: $steps.createRoutingRule.outputs.ruleName