From fcb25f103f357fcdbd29aa1eb8e77ee79ed8882f Mon Sep 17 00:00:00 2001 From: Francis Charette Migneault Date: Mon, 20 Jul 2026 10:57:51 -0400 Subject: [PATCH] unify openapi indents + add editorconfig with indents + gitattributes to detect 'data/prose' languages in repository --- .editorconfig | 17 ++ .gitattributes | 11 + .../operations/oJobResults.yaml | 6 +- .../operations/oProcessList.yaml | 4 +- .../processes-core/rExecuteSync.yaml | 8 +- .../additionalDimensionExtent.yaml | 16 +- openapi/schemas/common-geodata/dataType.yaml | 12 +- .../schemas/common-geodata/extent-UAD.yaml | 24 +-- openapi/schemas/common-geodata/extent.yaml | 30 +-- openapi/schemas/cql2/cql2-definitions.yaml | 8 +- openapi/schemas/crs/crs.yaml | 4 +- openapi/schemas/crs/projJSON.yaml | 12 +- openapi/schemas/cwl/cwl-json-schema.yaml | 200 +++++++++--------- .../processes-core/additionalParameter.yaml | 16 +- .../processes-core/collectionValue.yaml | 40 ++-- .../schemas/processes-dru/outputBinding.yaml | 8 +- .../processes-job-management/statusInfo.yaml | 6 +- .../execute-workflows.yaml | 54 ++--- .../inputParameterized.yaml | 14 +- 19 files changed, 259 insertions(+), 231 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..a8aea82d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +# data files +[*.{yml,yaml,json,xml}] +charset = utf-8 +indent_size = 2 +indent_style = space + +# code files +[*.{sh}] +charset = utf-8 +indent_size = 2 +indent_style = space diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..eea2dec0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +# Ensures that GitHub detects non-programming files as content of the repository since code is not the main content +# https://github.com/github-linguist/linguist/blob/main/docs/overrides.md#detectable +*.adoc linguist-detectable +openapi/**/*.json linguist-detectable +openapi/**/*.yaml linguist-detectable +openapi/**/*.yml linguist-detectable +**/examples/*.json linguist-detectable +**/examples/*.yaml linguist-detectable +**/examples/*.yml linguist-detectable diff --git a/openapi/paths/processes-core/operations/oJobResults.yaml b/openapi/paths/processes-core/operations/oJobResults.yaml index 4cc552f9..7f6176fb 100644 --- a/openapi/paths/processes-core/operations/oJobResults.yaml +++ b/openapi/paths/processes-core/operations/oJobResults.yaml @@ -5,10 +5,10 @@ description: | For more information, see [Section 7.11](https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_retrieve_job_results). operationId: getResult tags: - - Jobs + - Jobs parameters: - - $ref: "../../../parameters/processes-core/jobID.yaml" - - $ref: "../../../parameters/processes-core/prefer-header-return.yaml" + - $ref: "../../../parameters/processes-core/jobID.yaml" + - $ref: "../../../parameters/processes-core/prefer-header-return.yaml" responses: 200: $ref: "../../../responses/processes-core/rResults.yaml" diff --git a/openapi/paths/processes-core/operations/oProcessList.yaml b/openapi/paths/processes-core/operations/oProcessList.yaml index 5b2c0a32..c4f33b1c 100644 --- a/openapi/paths/processes-core/operations/oProcessList.yaml +++ b/openapi/paths/processes-core/operations/oProcessList.yaml @@ -5,8 +5,8 @@ description: | For more information, see [Section 7.7]https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_process_list). operationId: getProcesses tags: - - Processes - - Core + - Processes + - Core responses: 200: $ref: "../../../responses/processes-core/rProcessList.yaml" diff --git a/openapi/responses/processes-core/rExecuteSync.yaml b/openapi/responses/processes-core/rExecuteSync.yaml index c2df51aa..062e6829 100644 --- a/openapi/responses/processes-core/rExecuteSync.yaml +++ b/openapi/responses/processes-core/rExecuteSync.yaml @@ -30,7 +30,7 @@ content: application/geo+json: schema: allOf: - - format: geojson-feature-collection - # JSON Schema not supported in OpenAPI 3.0 - # - $ref: https://geojson.org/schema/FeatureCollection.json - - $ref: '../../schemas/geojson/FeatureCollection.yaml' + - format: geojson-feature-collection + # JSON Schema not supported in OpenAPI 3.0 + # - $ref: https://geojson.org/schema/FeatureCollection.json + - $ref: '../../schemas/geojson/FeatureCollection.yaml' diff --git a/openapi/schemas/common-geodata/additionalDimensionExtent.yaml b/openapi/schemas/common-geodata/additionalDimensionExtent.yaml index 5e825715..8a373ad8 100644 --- a/openapi/schemas/common-geodata/additionalDimensionExtent.yaml +++ b/openapi/schemas/common-geodata/additionalDimensionExtent.yaml @@ -2,9 +2,9 @@ title: Extent of any additional dimensions description: The domain intervals for any additional dimensions of the extent (envelope) beyond those described in temporal and spatial. type: object oneOf: - - required: [ interval, definition ] - - required: [ interval, trs ] - - required: [ interval, vrs ] + - required: [ interval, definition ] + - required: [ interval, trs ] + - required: [ interval, vrs ] properties: interval: title: Interval of the extent of this dimension @@ -26,11 +26,11 @@ properties: maxItems: 2 items: oneOf: - - type: string - nullable: true - example: '2011-11-11T12:22:11Z' #, '2011-11-11T08:22:11-04:00', null - - type: number - example: 32.7 + - type: string + nullable: true + example: '2011-11-11T12:22:11Z' #, '2011-11-11T08:22:11-04:00', null + - type: number + example: 32.7 trs: title: Temporal Coordinate Reference System description: Temporal Coordinate Reference System (e.g. as defined by Features for 'temporal'). This should be a URI to a registered TRS if one is available, or a full description of the TRS otherwise using e.g., a WKT2CRS string, or a PROJJSON, or CRS JSON object. diff --git a/openapi/schemas/common-geodata/dataType.yaml b/openapi/schemas/common-geodata/dataType.yaml index dadac26a..d617ba49 100644 --- a/openapi/schemas/common-geodata/dataType.yaml +++ b/openapi/schemas/common-geodata/dataType.yaml @@ -1,8 +1,8 @@ # This list may be extended (e.g. point clouds, meshes) anyOf: - - type: string - - type: string - enum: - - map - - vector - - coverage + - type: string + - type: string + enum: + - map + - vector + - coverage diff --git a/openapi/schemas/common-geodata/extent-UAD.yaml b/openapi/schemas/common-geodata/extent-UAD.yaml index 17df2900..e40921a5 100644 --- a/openapi/schemas/common-geodata/extent-UAD.yaml +++ b/openapi/schemas/common-geodata/extent-UAD.yaml @@ -1,15 +1,15 @@ title: Extent conforming to Uniform Additional Dimensions Schema description: |- - The extent of the data in the collection. - This extent schema requires that if any dimension beyond spatial and temporal are specified, they conform to the Uniform Additional Dimensions schema. - In addition to the spatial and temporal extents defined in the "Collections" requirements class of OGC API - Common - Part 2, - the "Uniform Additional Dimensions" requirements class specifies a generic schema for describing any additional dimension, such as thermal or pressure ranges. + The extent of the data in the collection. + This extent schema requires that if any dimension beyond spatial and temporal are specified, they conform to the Uniform Additional Dimensions schema. + In addition to the spatial and temporal extents defined in the "Collections" requirements class of OGC API - Common - Part 2, + the "Uniform Additional Dimensions" requirements class specifies a generic schema for describing any additional dimension, such as thermal or pressure ranges. allOf: - - type: object - properties: - spatial: - $ref: 'spatialExtent.yaml' - temporal: - $ref: 'temporalExtent.yaml' - additionalProperties: - $ref: 'additionalDimensionExtent.yaml' + - type: object + properties: + spatial: + $ref: 'spatialExtent.yaml' + temporal: + $ref: 'temporalExtent.yaml' + additionalProperties: + $ref: 'additionalDimensionExtent.yaml' diff --git a/openapi/schemas/common-geodata/extent.yaml b/openapi/schemas/common-geodata/extent.yaml index 3bf7077f..f98c527c 100644 --- a/openapi/schemas/common-geodata/extent.yaml +++ b/openapi/schemas/common-geodata/extent.yaml @@ -1,19 +1,19 @@ title: Extent with (optional) Uniform Additional Dimensions Schema description: |- - The extent of the data in the collection. - This extent schema includes optional additional dimensions, but will still validate for objects not conforming to UAD. - OGC API - Common - Part 2 "Collections" requirements class specifies only the definition of the spatial and temporal extents. - The "Uniform Additional Dimensions" requirements class specifies a generic schema for describing any additional dimension, such as thermal or pressure ranges. + The extent of the data in the collection. + This extent schema includes optional additional dimensions, but will still validate for objects not conforming to UAD. + OGC API - Common - Part 2 "Collections" requirements class specifies only the definition of the spatial and temporal extents. + The "Uniform Additional Dimensions" requirements class specifies a generic schema for describing any additional dimension, such as thermal or pressure ranges. allOf: - - type: object - properties: - spatial: - $ref: 'spatialExtent.yaml' - temporal: - $ref: 'temporalExtent.yaml' - - anyOf: - - type: object - description: General object extension point - - type: object - additionalProperties: + - type: object + properties: + spatial: + $ref: 'spatialExtent.yaml' + temporal: + $ref: 'temporalExtent.yaml' + - anyOf: + - type: object + description: General object extension point + - type: object + additionalProperties: $ref: 'additionalDimensionExtent.yaml' diff --git a/openapi/schemas/cql2/cql2-definitions.yaml b/openapi/schemas/cql2/cql2-definitions.yaml index 1bbeff6d..5bfa497b 100644 --- a/openapi/schemas/cql2/cql2-definitions.yaml +++ b/openapi/schemas/cql2/cql2-definitions.yaml @@ -94,10 +94,10 @@ definitions: # - $ref: '#/definitions/patternExpression' items: oneOf: - - $ref: '#/definitions/characterExpression' - - $ref: '#/definitions/propertyRef' - - $ref: '#/definitions/functionRef' - - $ref: '#/definitions/patternExpression' + - $ref: '#/definitions/characterExpression' + - $ref: '#/definitions/propertyRef' + - $ref: '#/definitions/functionRef' + - $ref: '#/definitions/patternExpression' patternExpression: oneOf: - type: object diff --git a/openapi/schemas/crs/crs.yaml b/openapi/schemas/crs/crs.yaml index 491ff05f..f8c47a5a 100644 --- a/openapi/schemas/crs/crs.yaml +++ b/openapi/schemas/crs/crs.yaml @@ -16,8 +16,8 @@ oneOf: properties: wkt: allOf: - - description: An object defining the CRS using the JSON encoding for Well-known text representation of coordinate reference systems 2.0 - - type: object # - $ref: 'projJSON.yaml' + - description: An object defining the CRS using the JSON encoding for Well-known text representation of coordinate reference systems 2.0 + - type: object # - $ref: 'projJSON.yaml' - required: - referenceSystem properties: diff --git a/openapi/schemas/crs/projJSON.yaml b/openapi/schemas/crs/projJSON.yaml index 2a690707..2f7d8436 100644 --- a/openapi/schemas/crs/projJSON.yaml +++ b/openapi/schemas/crs/projJSON.yaml @@ -815,12 +815,12 @@ definitions: - datum - datum_ensemble - oneOf: - - type: object - required: - - datum - - type: object - required: - - datum_ensemble + - type: object + required: + - datum + - type: object + required: + - datum_ensemble object_usage: anyOf: - type: object diff --git a/openapi/schemas/cwl/cwl-json-schema.yaml b/openapi/schemas/cwl/cwl-json-schema.yaml index 502756a2..69efc339 100644 --- a/openapi/schemas/cwl/cwl-json-schema.yaml +++ b/openapi/schemas/cwl/cwl-json-schema.yaml @@ -1424,114 +1424,114 @@ $defs: Nested type and multi-type definitions will validate against 'Any'. oneOf: # 1. Null / Explicitly empty - - type: object - properties: - type: - type : string - enum: ['null'] - default: - #type: string - nullable: true - enum: [null] - required: [type] + - type: object + properties: + type: + type : string + enum: ['null'] + default: + #type: string + nullable: true + enum: [null] + required: [type] - # 2. Strings & Optional Strings - - type: object - properties: - type: - type: string - enum: [string, 'string?'] - default: - type: string - nullable: true - required: [type] + # 2. Strings & Optional Strings + - type: object + properties: + type: + type: string + enum: [string, 'string?'] + default: + type: string + nullable: true + required: [type] - # 3. Booleans - - type: object - properties: - type: - type: string - enum: [boolean, 'boolean?'] - default: - type: boolean - nullable: true - required: [type] + # 3. Booleans + - type: object + properties: + type: + type: string + enum: [boolean, 'boolean?'] + default: + type: boolean + nullable: true + required: [type] - # 4. Numeric Types (Int, Long, Float, Double) - - type: object - properties: - type: - type: string - enum: [int, 'int?', long, 'long?', float, 'float?', double, 'double?', integer, 'integer?'] - default: - type: number - nullable: true - required: [type] + # 4. Numeric Types (Int, Long, Float, Double) + - type: object + properties: + type: + type: string + enum: [int, 'int?', long, 'long?', float, 'float?', double, 'double?', integer, 'integer?'] + default: + type: number + nullable: true + required: [type] - # 5. File & Directory (Special CWL Objects) - - type: object - properties: - type: - type: string - enum: [File, 'File?', Directory, 'Directory?'] - default: - oneOf: - - $ref: '#/$defs/CWLDefaultLocation' - - nullable: true - enum: [null] - #type: string - required: [type] + # 5. File & Directory (Special CWL Objects) + - type: object + properties: + type: + type: string + enum: [File, 'File?', Directory, 'Directory?'] + default: + oneOf: + - $ref: '#/$defs/CWLDefaultLocation' + - nullable: true + enum: [null] + #type: string + required: [type] - # 6. Arrays (Shorthand: string[], int[], etc.) - - type: object - properties: - type: - type: string - pattern: '^[a-zA-Z]+\\[\\]$' # Matches any 'type[]' shorthand - default: - type: array - items: - $ref: '#/$defs/AnyType' - required: [type] + # 6. Arrays (Shorthand: string[], int[], etc.) + - type: object + properties: + type: + type: string + pattern: '^[a-zA-Z]+\\[\\]$' # Matches any 'type[]' shorthand + default: + type: array + items: + $ref: '#/$defs/AnyType' + required: [type] - # 7. Complex Arrays (type: array + items) - - type: object - properties: - type: - type: string - enum: [array] - items: - $ref: '#/$defs/AnyType' - default: - type: array - items: - $ref: '#/$defs/AnyType' - required: [type, items] + # 7. Complex Arrays (type: array + items) + - type: object + properties: + type: + type: string + enum: [array] + items: + $ref: '#/$defs/AnyType' + default: + type: array + items: + $ref: '#/$defs/AnyType' + required: [type, items] - # 8. Enums (type: enum + symbols) - - type: object - properties: - type: - type: string - enum: [enum, 'enum?'] - symbols: - type: array - items: - type: string - default: - type: string - nullable: true - required: [type, symbols] + # 8. Enums (type: enum + symbols) + - type: object + properties: + type: + type: string + enum: [enum, 'enum?'] + symbols: + type: array + items: + type: string + default: + type: string + nullable: true + required: [type, symbols] - # 9. Global Fallback (Any) - - type: object - properties: - type: - type: string - enum: [Any, 'Any?'] - default: - $ref: '#/$defs/AnyType' - required: [type] + # 9. Global Fallback (Any) + - type: object + properties: + type: + type: string + enum: [Any, 'Any?'] + default: + $ref: '#/$defs/AnyType' + required: [type] AnyType: oneOf: diff --git a/openapi/schemas/processes-core/additionalParameter.yaml b/openapi/schemas/processes-core/additionalParameter.yaml index 656b2426..61847a48 100644 --- a/openapi/schemas/processes-core/additionalParameter.yaml +++ b/openapi/schemas/processes-core/additionalParameter.yaml @@ -1,7 +1,7 @@ type: object required: - - name - - value + - name + - value properties: name: type: string @@ -9,9 +9,9 @@ properties: type: array items: oneOf: - - type: string - - type: number - - type: integer - - type: array - items: {} - - type: object + - type: string + - type: number + - type: integer + - type: array + items: {} + - type: object diff --git a/openapi/schemas/processes-core/collectionValue.yaml b/openapi/schemas/processes-core/collectionValue.yaml index b61f3714..a6cb38f8 100644 --- a/openapi/schemas/processes-core/collectionValue.yaml +++ b/openapi/schemas/processes-core/collectionValue.yaml @@ -10,26 +10,26 @@ allOf: input values from the corresponding process input. The server offering this collection is referred to as the "value source server". anyOf: - - type: string - description: |- - Collection identifier for a collection available at `{root}/collections/{collectionID}`, where `{root}` represents the landing page - of the process using the collection as an input (for the top-level process, that is the landing page of the process execution endpoint - to which the execution request is posted), or the landing page of the document being retrieved in the case of an output. - If the `collection` string includes a `/`, it must be interpreted as a URI reference rather than as a collection ID. - - type: string - description: |- - The URI of an OGC API collection. - If a relative URI reference is used, the Base URI is defined as such: - - For a Collection value received as input to a process, the Base URI is defined as the URI of the description - (`{root}/processes/{processId}`) of that process, with the receiving process object understood as the Encapsulating Entity as per - [RFC 3986 Section 5.1.2](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.2). - - For a Collection Output value, the Base URI is defined from the Retrieval URI as as per - [RFC 3986 Section 5.1.3](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.3), - for example, `/jobs/{jobId}/results`, `/jobs/{jobId}/results/{outputID}` or `/jobs/{jobId}/results/{outputID}/{N}` depending on the - resource being retrieved. - If a collection string does not contain any `/`, it must not be interpreted as a URI reference, and must instead be resolved as a - collection identifier. For example, `countries` would resolve to `{root}/collections/countries` rather than `{root}/processes/countries`. - format: uri-reference + - type: string + description: |- + Collection identifier for a collection available at `{root}/collections/{collectionID}`, where `{root}` represents the landing page + of the process using the collection as an input (for the top-level process, that is the landing page of the process execution endpoint + to which the execution request is posted), or the landing page of the document being retrieved in the case of an output. + If the `collection` string includes a `/`, it must be interpreted as a URI reference rather than as a collection ID. + - type: string + description: |- + The URI of an OGC API collection. + If a relative URI reference is used, the Base URI is defined as such: + - For a Collection value received as input to a process, the Base URI is defined as the URI of the description + (`{root}/processes/{processId}`) of that process, with the receiving process object understood as the Encapsulating Entity as per + [RFC 3986 Section 5.1.2](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.2). + - For a Collection Output value, the Base URI is defined from the Retrieval URI as as per + [RFC 3986 Section 5.1.3](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.3), + for example, `/jobs/{jobId}/results`, `/jobs/{jobId}/results/{outputID}` or `/jobs/{jobId}/results/{outputID}/{N}` depending on the + resource being retrieved. + If a collection string does not contain any `/`, it must not be interpreted as a URI reference, and must instead be resolved as a + collection identifier. For example, `countries` would resolve to `{root}/collections/countries` rather than `{root}/processes/countries`. + format: uri-reference bbox: description: |- Only resources that have a geometry that intersects the bounding box diff --git a/openapi/schemas/processes-dru/outputBinding.yaml b/openapi/schemas/processes-dru/outputBinding.yaml index acc1fabf..afb74e8a 100644 --- a/openapi/schemas/processes-dru/outputBinding.yaml +++ b/openapi/schemas/processes-dru/outputBinding.yaml @@ -8,8 +8,8 @@ properties: . See inputBinding.yaml for referencing input values in an output binding "glob" expression. oneOf: - - type: string - - type: array - items: - type: string + - type: string + - type: array + items: + type: string additionalProperties: true diff --git a/openapi/schemas/processes-job-management/statusInfo.yaml b/openapi/schemas/processes-job-management/statusInfo.yaml index 28c07c48..25220923 100644 --- a/openapi/schemas/processes-job-management/statusInfo.yaml +++ b/openapi/schemas/processes-job-management/statusInfo.yaml @@ -1,8 +1,8 @@ type: object required: - - id - - status - - processingEntityType + - id + - status + - processingEntityType properties: id: type: string diff --git a/openapi/schemas/processes-workflows/execute-workflows.yaml b/openapi/schemas/processes-workflows/execute-workflows.yaml index 3f768e03..cce1a474 100644 --- a/openapi/schemas/processes-workflows/execute-workflows.yaml +++ b/openapi/schemas/processes-workflows/execute-workflows.yaml @@ -1,31 +1,31 @@ allOf: - - type: object - properties: - process: - type: string - format: uri-reference - description: |- - The URI to the description of the process that should be executed. - For the top-level process, when the execution request is POSTed to `{root}/processes/{processId}/execution`, this should be an absolute URI, - and the server should ignore this `process` key since the URI of the request already identifies the process to execute, and a client - is not required to resolve and replace the URI if passing a nested process block as part of a larger workflow executing a nested process. - If a relative URI reference is used, the Base URI is defined as the URI of the description - (`{root}/processes/{processId}`) of the receiving process, with this receiving process object understood as the - Encapsulating Entity as per [RFC 3986 Section 5.1.2](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.2). - In the case of a nested process on the same OGC API root as the receiving process, using a simple process ID as the relative URI reference - would resolve to a process available at `{root}/processes/{processID}`, where `{root}` represents the landing page of the receiving process. - For example, if a top-level process at https://example.com/processes/buffer receives a nested processs `{ "process": "clip" }`, - that clip process is resolved as https://example.com/processes/clip. - inputs: - additionalProperties: - $ref: "values-workflows.yaml" - outputs: - additionalProperties: - $ref: "outputSelection-workflows.yaml" - subscriber: - $ref: "../processes-core/subscriber.yaml" - - $ref: "../processes-core/fieldsModifiers.yaml" - - example: + - type: object + properties: + process: + type: string + format: uri-reference + description: |- + The URI to the description of the process that should be executed. + For the top-level process, when the execution request is POSTed to `{root}/processes/{processId}/execution`, this should be an absolute URI, + and the server should ignore this `process` key since the URI of the request already identifies the process to execute, and a client + is not required to resolve and replace the URI if passing a nested process block as part of a larger workflow executing a nested process. + If a relative URI reference is used, the Base URI is defined as the URI of the description + (`{root}/processes/{processId}`) of the receiving process, with this receiving process object understood as the + Encapsulating Entity as per [RFC 3986 Section 5.1.2](https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.2). + In the case of a nested process on the same OGC API root as the receiving process, using a simple process ID as the relative URI reference + would resolve to a process available at `{root}/processes/{processID}`, where `{root}` represents the landing page of the receiving process. + For example, if a top-level process at https://example.com/processes/buffer receives a nested processs `{ "process": "clip" }`, + that clip process is resolved as https://example.com/processes/clip. + inputs: + additionalProperties: + $ref: "values-workflows.yaml" + outputs: + additionalProperties: + $ref: "outputSelection-workflows.yaml" + subscriber: + $ref: "../processes-core/subscriber.yaml" + - $ref: "../processes-core/fieldsModifiers.yaml" + - example: inputs: data: - collection: 'https://example.com/collections/sentinel2-l2a' diff --git a/openapi/schemas/processes-workflows/inputParameterized.yaml b/openapi/schemas/processes-workflows/inputParameterized.yaml index 91dd914c..3457c342 100644 --- a/openapi/schemas/processes-workflows/inputParameterized.yaml +++ b/openapi/schemas/processes-workflows/inputParameterized.yaml @@ -1,8 +1,8 @@ allOf: - - type: object - required: - - $input - properties: - $input: - type: string - - $ref: ../processes-core/fieldsModifiers.yaml + - type: object + required: + - $input + properties: + $input: + type: string + - $ref: ../processes-core/fieldsModifiers.yaml