arazzo: 1.0.1 info: title: AWS FIS Discover Action Detail summary: List the available FIS actions and fetch the full detail of the first action returned. description: >- A catalog discovery flow for AWS Fault Injection Simulator. Before authoring an experiment template you need to know which fault injection actions are available and what target slots each action exposes. The workflow lists the FIS actions, captures the id of the first action in the page, and reads back its full definition including its parameters and the named target slots it binds 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: fisApi url: ../openapi/amazon-fis-openapi.yml type: openapi workflows: - workflowId: discover-action-detail summary: List FIS actions and fetch the first action's full definition. description: >- Lists the available FIS actions, takes the first action id from the page, and retrieves its full definition via getAction. inputs: type: object properties: maxResults: type: integer description: Maximum number of actions to return in the listing page. nextToken: type: string description: Pagination token for fetching a later page of actions. steps: - stepId: listActions description: List the available FIS fault injection actions. operationId: listActions parameters: - name: maxResults in: query value: $inputs.maxResults - name: nextToken in: query value: $inputs.nextToken successCriteria: - condition: $statusCode == 200 outputs: firstActionId: $response.body#/actions/0/id nextToken: $response.body#/nextToken - stepId: getAction description: >- Retrieve the full definition of the first action returned by the listing, including the target slots it binds to. operationId: getAction parameters: - name: id in: path value: $steps.listActions.outputs.firstActionId successCriteria: - condition: $statusCode == 200 outputs: actionId: $response.body#/action/id description: $response.body#/action/description targets: $response.body#/action/targets outputs: actionId: $steps.getAction.outputs.actionId description: $steps.getAction.outputs.description targets: $steps.getAction.outputs.targets nextToken: $steps.listActions.outputs.nextToken