arazzo: 1.0.1
info:
title: AWS SAR Browse And Inspect Applications
summary: List owned applications, inspect the first one in detail, and enumerate its published versions.
description: >-
A discovery flow for the AWS Serverless Application Repository. The workflow
lists the applications owned by the requester, branches on whether any
applications were returned, and for the first application reads its full
details and then enumerates its published versions. 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: applicationsApi
url: ../openapi/amazon-serverless-application-repository-applications-api-openapi.yml
type: openapi
- name: versionsApi
url: ../openapi/amazon-serverless-application-repository-versions-api-openapi.yml
type: openapi
workflows:
- workflowId: browse-applications
summary: List applications, then inspect the first one and its versions.
description: >-
Lists owned applications and, when at least one exists, reads the first
application's details and lists its versions.
inputs:
type: object
properties:
maxItems:
type: integer
description: The total number of applications to return.
nextToken:
type: string
description: A token to specify where to start paginating.
steps:
- stepId: listApplications
description: >-
List the applications owned by the requester, paginated by the supplied
maxItems and nextToken.
operationId: ListApplications
parameters:
- name: maxItems
in: query
value: $inputs.maxItems
- name: nextToken
in: query
value: $inputs.nextToken
successCriteria:
- condition: $statusCode == 200
outputs:
applications: $response.body#/applications
firstApplicationId: $response.body#/applications/0/applicationId
nextToken: $response.body#/nextToken
onSuccess:
- name: hasApplications
type: goto
stepId: getApplication
criteria:
- context: $response.body
condition: $.applications.length > 0
type: jsonpath
- name: noApplications
type: end
criteria:
- context: $response.body
condition: $.applications.length == 0
type: jsonpath
- stepId: getApplication
description: >-
Read the full details of the first application returned by the list.
operationId: GetApplication
parameters:
- name: applicationId
in: path
value: $steps.listApplications.outputs.firstApplicationId
successCriteria:
- condition: $statusCode == 200
outputs:
applicationId: $response.body#/applicationId
name: $response.body#/name
author: $response.body#/author
- stepId: listVersions
description: >-
Enumerate the published versions of the inspected application.
operationId: ListApplicationVersions
parameters:
- name: applicationId
in: path
value: $steps.getApplication.outputs.applicationId
successCriteria:
- condition: $statusCode == 200
outputs:
versions: $response.body#/versions
outputs:
applications: $steps.listApplications.outputs.applications
inspectedApplicationId: $steps.getApplication.outputs.applicationId
versions: $steps.listVersions.outputs.versions
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.