arazzo-input-schema
arazzo-input-schema checks that a workflow’s inputs is a JSON Schema that can actually be compiled.
Why did this violation appear?
The input schema contains a reference that can’t be resolved, or it is not a valid schema.
Bad example
arazzo: 1.0.1
info:
title: Read a pet
version: '1.0'
description: Retrieve a pet from the API.
summary: Read a pet.
sourceDescriptions:
- name: api
url: api.yaml
type: openapi
workflows:
- workflowId: readPet
description: Retrieve a pet.
summary: Read a pet.
inputs:
type: object
properties:
petId:
$ref: '#/components/inputs/petId'
steps:
- stepId: read
description: Call the read operation.
operationId: $sourceDescriptions.api.read
There is no components.inputs.petId in this document.
Good example
arazzo: 1.0.1
info:
title: Read a pet
version: '1.0'
description: Retrieve a pet from the API.
summary: Read a pet.
sourceDescriptions:
- name: api
url: api.yaml
type: openapi
workflows:
- workflowId: readPet
description: Retrieve a pet.
summary: Read a pet.
inputs:
type: object
properties:
petId:
type: string
steps:
- stepId: read
description: Call the read operation.
operationId: $sourceDescriptions.api.read
How do I fix this violation?
Define the missing schema, or correct the $ref.
References to external schemas that vacuum was not given are reported as arazzo-validation-incomplete warnings instead.
This rule reports findings from vacuum’s shared Arazzo validation pass, using the arazzoDocument function.
