AWS FIS List Then Get Experiment Template

Version 1.0.0

List experiment templates and fetch the full definition of the first one returned.

1 workflow 1 source API 1 provider
View Spec View on GitHub Chaos EngineeringDevOpsFault InjectionResilience TestingArazzoWorkflows

Provider

amazon-fault-injection-simulator

Workflows

list-then-get-template
List experiment templates and fetch the first template's full definition.
Lists experiment templates, takes the first template id from the page, and retrieves the full template via getExperimentTemplate.
2 steps inputs: maxResults, nextToken outputs: description, nextToken, templateId
1
listTemplates
listExperimentTemplates
List the experiment templates in the account.
2
getTemplate
getExperimentTemplate
Retrieve the full definition of the first experiment template returned by the listing.

Source API Descriptions

Arazzo Workflow Specification

amazon-fault-injection-simulator-list-then-get-template-workflow.yml Raw ↑
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