arazzo: 1.0.1 info: title: AWS FIS List Then Get Experiment Template summary: List experiment templates and fetch the full definition of the first one returned. description: >- A discovery flow for AWS Fault Injection Simulator. The workflow lists the experiment templates in the account, captures the id of the first template in the page, and then reads back the full template definition including its targets, actions, and stop conditions. This is the common pattern for drilling from a template summary into the complete template before starting an experiment from it. 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: list-then-get-template summary: List experiment templates and fetch the first template's full definition. description: >- Lists experiment templates, takes the first template id from the page, and retrieves the full template via getExperimentTemplate. inputs: type: object properties: maxResults: type: integer description: Maximum number of templates to return in the listing page. nextToken: type: string description: Pagination token for fetching a later page of templates. steps: - stepId: listTemplates description: List the experiment templates in the account. operationId: listExperimentTemplates parameters: - name: maxResults in: query value: $inputs.maxResults - name: nextToken in: query value: $inputs.nextToken successCriteria: - condition: $statusCode == 200 outputs: firstTemplateId: $response.body#/experimentTemplates/0/id nextToken: $response.body#/nextToken - stepId: getTemplate description: >- Retrieve the full definition of the first experiment template returned by the listing. operationId: getExperimentTemplate parameters: - name: id in: path value: $steps.listTemplates.outputs.firstTemplateId successCriteria: - condition: $statusCode == 200 outputs: templateId: $response.body#/experimentTemplate/id description: $response.body#/experimentTemplate/description outputs: templateId: $steps.getTemplate.outputs.templateId description: $steps.getTemplate.outputs.description nextToken: $steps.listTemplates.outputs.nextToken