The Parameter schema is used to define input and/or output data to be used by OpenWhisk entities for the purposes of validation.
Key Name | Required | Value Type | Default | Description |
---|---|---|---|---|
type | no | <any> | string | Optional valid type name or the parameter’s value for alidation purposes. By default, the type is string. |
description | no | string256 | N/A | Optional description of the Parameter. |
value | no | <any> | N/A | The optional user supplied value for the parameter. Note: this is not the default value, but an explicit declaration which allows simple usage of the Manifest file without a Deployment file. |
required | no | boolean | true | Optional indicator to declare the parameter as required (i.e., true) or optional (i.e., false). |
default | no | <any> | N/A | Optional default value for the optional parameters. This value MUST be type compatible with the value declared on the parameter’s type field. |
status | no | string | supported | Optional status of the parameter (e.g., deprecated, experimental). By default a parameter is without a declared status is considered supported. |
schema | no | <schema> | N/A | The optional schema if the ‘type‘ key has the value ‘schema‘. The value would include a Schema Object (in YAML) as defined by the OpenAPI Specification v2.0. This object is based upon the JSON Schema Specification. |
properties | no | <list of parameter> | N/A | The optional properties if the ‘type‘ key has the value ‘object‘. Its value is a listing of Parameter schema from this specification. |
The ‘schema’ key's value MUST be compatible with the value provided on both the ‘type’ and ‘value’ keys; otherwise, it is considered an error.
The ‘type’ key acknowledges some popular schema (e.g., JSON) to use when validating the value of the parameter. In the future additional (schema) types may be added for convenience.
Where is inferred to be a YAML type as shown in the YAML Types section above (e.g., string, integer, float, boolean, etc.).
If you wish the parser to validate against a different schema, then the multi-line grammar MUST be used where the value would be supplied on the keyname ‘value’ and the type (e.g., ‘json’) and/or schema (e.g., OpenAPI) can be supplied.
Status Value | Description |
---|---|
supported (default) | Indicates the parameter is supported. This is the implied default status value for all parameters. |
experimental | Indicates the parameter MAY be removed or changed in future versions. |
deprecated | Indicates the parameter is no longer supported in the current version and MAY be ignored. |
The Entity Schema contains fields that are common (shared) to all OpenWhisk entities (e.g., Actions, Triggers, Rules, etc.).
Key Name | Required | Value Type | Default | Description |
---|---|---|---|---|
description | no | string256 | N/A | The optional description for the Entity. |
displayName | no | string16 | N/A | This is the optional name that will be displayed on small form-factor devices. |
annotations | no | map of <string>> | N/A | he optional annotations for the Entity. |
description: <string256> displayName: <string16> annotations: <map of <string>>
In a Manifest or Deployment file, a parameter value may be set from the local execution environment by using the dollar ($) notation to denote names of local environment variables which supply the value to be inserted at execution time.
<parameter>: $<local environment variable name>
... inputs: userName: $DEFAULT_USERNAME
strings
, integers
, floats
, etc.) at this time.