Opctl
Opctl describing an op
**/.opspec/*/*.yml**/.opspec/*/*.yaml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
**/.opspec/*/*.yml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
namerequired | string | Name of the op |
description | any | Description of the op |
inputs | object | Parameter of an op |
outputs | object | Parameter of an op |
run | oneOf | A single node of the [call graph](https://en.wikipedia.org/wiki/Call_graph) |
run.container | object | — |
run.container.cmd | array | Command run by a container; overrides any set at the image level |
run.container.dirs | object | Directories in the container |
run.container.envVars | oneOf | Environment variables in the container |
run.container.files | object | Files in the container |
run.container.imagerequired | object | — |
run.container.name | array | boolean | number | object | string | Name the container can be referenced by from other containers |
run.container.ports | object | Ports bound from the container to the host |
run.container.sockets | object | — |
run.container.workDir | string | Working directory path (overrides any defined by image) |
run.if | array<object> | If any predicate evaluates to false, the call will be skipped. |
run.op | object | — |
run.op.inputs | object | Initializes INPUT_NAME from VALUE in format 'INPUT_NAME: VALUE'. If VALUE is null, it MUST be assumed VALUE == $(INPUT_NAME) |
run.op.outputs | object | Initializes NAME from OUTPUT_NAME in format 'NAME: OUTPUT_NAME'. If OUTPUT_NAME is null, it MUST be assumed NAME == OUTPUT_NAME |
run.op.pullCreds | object | Credentials used during authentication with the source of an image or op |
run.op.refrequired | string | Reference to an op |
run.parallel | array | — |
run.parallelLoop | object | Loop in which all iterations are called simultaneously. |
run.parallelLoop.rangerequired | array | object | string | Range of the loop, i.e. the value to loop over |
run.parallelLoop.runrequired | oneOf | A single node of the [call graph](https://en.wikipedia.org/wiki/Call_graph) |
run.parallelLoop.vars | object | Variables added to scope on each iteration |
run.serial | array | — |
run.serialLoop | object | Loop in which each iteration gets called sequentially. |
run.serialLoop.range | array | object | string | Range of the loop, i.e. the value to loop over |
run.serialLoop.run | oneOf | A single node of the [call graph](https://en.wikipedia.org/wiki/Call_graph) |
run.serialLoop.until | array | Exit condition of the loop; evaluated before each iteration. |
run.serialLoop.vars | object | Variables added to scope on each iteration |
version | string | Version of [opspec](https://opspec.io) used by the op |
opspec | string | Version of [opspec](https://opspec.io) used by the op |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- 121 properties, 77% carrying a description, max nesting depth 17.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
allOf | JSON Schema Core, draft 2020-12 | §10.2.1.1 — "allOf" |
anyOf | JSON Schema Core, draft 2020-12 | §10.2.1.2 — "anyOf" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
format | JSON Schema Validation, draft 2020-12 | §7 — Vocabularies for Semantic Content With "format" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
minimum | JSON Schema Validation, draft 2020-12 | §6.2.4 — "minimum" |
not | JSON Schema Core, draft 2020-12 | §10.2.1.4 — "not" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
pattern | JSON Schema Validation, draft 2020-12 | §6.3.3 — "pattern" |
patternProperties | JSON Schema Core, draft 2020-12 | §10.3.2.2 — "patternProperties" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
format: "uri-reference" | RFC 3986 (STD 66) | §4.1 — URI Reference |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.