arazzo: 1.0.1 info: title: Cisco Expressway Rotate Admin Password summary: Identify the node, then change an administrator account password. description: >- Rotates an administrator password by first reading system information to record exactly which Expressway node the credential change will land on, then changing the administrator password using the current and new passwords. 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: rotate-admin-password summary: Read system info for node identity, then change the admin password. description: >- Reads system information to capture the target node, then changes the administrator account password using the supplied current and new passwords. inputs: type: object required: - host - username - password - adminUsername - currentPassword - newPassword properties: host: type: string description: FQDN or IP address of the Expressway node (server variable host). username: type: string description: Administrator username for HTTP Basic auth on the API. password: type: string description: Administrator password for HTTP Basic auth on the API. adminUsername: type: string description: Administrator account whose password is being changed. currentPassword: type: string description: Current password for the administrator account. newPassword: type: string description: New password to set for the administrator account. steps: - stepId: readSystemInfo description: >- Read basic system information to record which Expressway node the password change will be applied to. operationId: getSystemInfo parameters: - name: Authorization in: header value: Basic $inputs.username:$inputs.password successCriteria: - condition: $statusCode == 200 outputs: systemName: $response.body#/SystemName serialNumber: $response.body#/SerialNumber - stepId: changePassword description: >- Change the administrator account password using the supplied current and new passwords. operationId: changeAdminPassword parameters: - name: Authorization in: header value: Basic $inputs.username:$inputs.password requestBody: contentType: application/json payload: Username: $inputs.adminUsername CurrentPassword: $inputs.currentPassword NewPassword: $inputs.newPassword successCriteria: - condition: $statusCode == 200 outputs: changeStatusCode: $statusCode outputs: systemName: $steps.readSystemInfo.outputs.systemName serialNumber: $steps.readSystemInfo.outputs.serialNumber changeStatusCode: $steps.changePassword.outputs.changeStatusCode