This is an automated email from the ASF dual-hosted git repository.
pdesai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdeploy.git
The following commit(s) were added to refs/heads/master by this push:
new af80c22 Documentation cleanup, post-gogradle build changes (#1120)
af80c22 is described below
commit af80c22f0fb3158f43c9f08a2423d135579dc07b
Author: Matt Rutkowski <[email protected]>
AuthorDate: Tue Feb 23 17:26:41 2021 -0600
Documentation cleanup, post-gogradle build changes (#1120)
* Documentation cleanup, post-gogradle build changes
* Documentation cleanup, post-gogradle build changes
* Documentation cleanup, post-gogradle build changes
* Documentation cleanup, post-gogradle build changes
* Update cross compile instructions for gradfle tasks
---
README.md | 50 +++++++++++----
build.gradle | 2 +-
parsers/manifest_parser_test.go | 4 +-
specification/html/spec_actions.md | 5 +-
specification/html/spec_apis.md | 1 +
.../html/spec_entity_naming_and_namespacing.md | 18 +++---
specification/html/spec_intro.md | 10 +--
specification/html/spec_maps.md | 1 +
specification/html/spec_normative_refs.md | 49 ++++++---------
specification/html/spec_package_processing.md | 7 +--
specification/html/spec_parameter_types.md | 6 +-
specification/html/spec_parameters.md | 73 +++++++++++++++++++---
specification/html/spec_rule.md | 2 +
specification/html/spec_schema.md | 2 +-
specification/html/spec_sequences.md | 2 +
specification/html/spec_shared_entity_schema.md | 5 +-
specification/html/spec_trigger.md | 4 ++
.../dat/deployment_validate_package_inputs_1.yaml | 2 -
tests/dat/manifest_validate_params.yaml | 4 +-
19 files changed, 168 insertions(+), 79 deletions(-)
diff --git a/README.md b/README.md
index 9c4e8b9..392a737 100644
--- a/README.md
+++ b/README.md
@@ -154,29 +154,57 @@ After compiling, a suitable wskdeploy binary that works
for your OS platform wil
1. Verify your installed Gradle version is `5.5.1` (or higher)
- - If you use Windows OS, type ```gradlew.bat -version ```.
- - For Unix/Linux/Mac, please type ```./gradlew -version```.
+ - On Windows OS, type ```gradlew.bat -version ```.
+ - On Unix/Linux/Mac, please type ```./gradlew -version```.
> **Note** Gradle v6 is not yet supported.
-1. For Windows type ```gradlew.bat distDocker```. For Linux/Unix/Mac, please
type ```./gradlew distDocker```. These
-commands will start the wskdeploy cross compile for your specific OS platform
inside a Docker container.
+1. Cross-compile binaries for all supported Operating Systems and
Architectures:
-1. After build success, you should find a correct binary under current /bin
dir of you openwhisk-deploy clone dir.
+ - On Windows, type ```gradlew.bat goBuild```
+ - On Linux/Unix/Mac, please type ```./gradlew goBuild```.
-If you would like to build the binaries available for all the operating
systems and architectures, run the following command:
+1. Upon a successful build, all binaries can be found within the `./build`
directory of your project:
-```sh
-$ ./gradlew distDocker -PcrossCompileWSKDEPLOY=true
-```
+ ```sh
+ $ ls build
+ darwin-amd64 linux-amd64 linux-arm64 linux-s390x windows-amd64
+ linux-386 linux-arm linux-ppc64le windows-386
+ ```
-Then, you will find the binaries and their compressed packages generated under
the folder ```bin/<os>/<arch>/``` for each supported Operating System and CPU
Architecture pair.
+#### Compiling for a single OS/ARCH
+
+1. View gradle build tasks for supported Operating Systems and Architectures:
+
+ ```sh
+ ./gradlew tasks
+ ```
-### Building for Internationalization
+ you will see build tasks for supported OS/ARCH combinations:
+
+ ```sh
+ Gogradle tasks
+ --------------
+ buildDarwinAmd64 - Custom go task.
+ buildLinux386 - Custom go task.
+ buildLinuxAmd64 - Custom go task.
+ buildLinuxArm - Custom go task.
+ buildLinuxArm64 - Custom go task.
+ buildLinuxPpc64le - Custom go task.
+ buildLinuxS390x - Custom go task.
+ buildWindows386 - Custom go task.
+ buildWindowsAmd64 - Custom go task.
+ ```
+
+ > Note: The `buildWindows386` option is only supported on Golang versions
less than 1.15.
+
+#### Building for Internationalization
Please follow this process for building any changes to translatable strings:
- [How to generate the file i18n_resources.go for
internationalization](https://github.com/apache/openwhisk-wskdeploy/blob/master/wski18n/README.md)
+---
+
### Running as a Go program
Since ```wskdeploy``` is a GoLang program, you may choose to run it using the
Go utility. After building the wskdeploy binary, you can run it as follows:
diff --git a/build.gradle b/build.gradle
index 49d68d6..af63a7c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -38,7 +38,7 @@ golang {
}
// The `gogradle` plugin was designed to work with `govendor` and `godeps`
tools
-// We must disable its tasks that attempt to "fetch" dpendendencies
+// We must disable its tasks that attempt to "fetch" dependencies
// into a "/vendor" directory and use them to build the project (which will
fail)
installDependencies.enabled = false
resolveBuildDependencies.enabled = false
diff --git a/parsers/manifest_parser_test.go b/parsers/manifest_parser_test.go
index c09f0db..18db3bd 100644
--- a/parsers/manifest_parser_test.go
+++ b/parsers/manifest_parser_test.go
@@ -1924,9 +1924,9 @@ func TestParseYAML_param(t *testing.T) {
assert.Equal(t, false, param.Value,
"Get param value failed.")
case "inline0":
assert.Equal(t, 456.423, param.Value,
"Get param value failed.")
- case "inlin10":
+ case "inline10":
assert.Equal(t, nil, param.Value, "Get
param value failed.")
- case "inlin11":
+ case "inline11":
assert.Equal(t, true, param.Value, "Get
param value failed.")
case "expand1":
assert.Equal(t, nil, param.Value, "Get
param value failed.")
diff --git a/specification/html/spec_actions.md
b/specification/html/spec_actions.md
index 6995348..14b7f72 100644
--- a/specification/html/spec_actions.md
+++ b/specification/html/spec_actions.md
@@ -20,6 +20,7 @@
## Actions
#### Subsections
+
- [Fields](#fields)
- [Requirements](#requirements)
- [Notes](#notes)
@@ -32,6 +33,7 @@
The Action entity schema contains the necessary information to deploy an
OpenWhisk function and define its deployment configurations, inputs and outputs.
### Fields
+
| Key Name | Required | Value Type | Default | Description |
|:---|:---|:---|:---|:---|
| version | no | [version](spec_parameter_types.md#openwhisk-types) | N/A |
The optional user-controlled version for the Action. |
@@ -78,6 +80,7 @@ The following annotations have special meanings for Actions:
- When the `code` key-value is specified, the `runtime` **SHALL** be a
required field.
#### Annotation requirements
+
- The annotation `require-whisk-auth` **SHALL** only be valid for web actions
(i.e., if the `web` key or `web-export` annotation is set to `true`).
- If the value of the `require-whisk-auth` annotation is an `integer` its
value **MUST** be a positive integer less than or equal to the `MAX_INT` value
of `9007199254740991`.
- When the `web` or `web-export` key is present and set to `true` the web
action's **MUST** also be marked `final`. This happens automatically when the
`web` or `web-export` keys are present and set to `true`.
@@ -175,12 +178,12 @@ See the file
[runtimes.json](https://github.com/apache/openwhisk/blob/master/ans
the main [apache/openwhisk](https://github.com/apache/openwhisk) repository
for the latest supported runtimes nad versions.
#### Notes
+
- **WARNING**: _For OpenWhisk project builds, the Docker image used is tagged
`nightly` in Docker Hub (e.g, for GitHub pull
requests). Production uses of OpenWhisk code may use different images and
tagged (released) image versions._
- If no value for `runtime` is supplied, the value `language:default` will be
assumed.
- OpenWhisk runtimes may also include additional built-in packages (or
libraries) that have been determined be useful for Actions surveyed and tested
by the OpenWhisk platform.
-
### Recognized File extensions
Although it is best practice to provide a runtime value when declaring an
Action, it is not required. In those cases, that a runtime is not provided, the
package tooling will attempt to derive the correct runtime based upon the the
file extension for the Action's function (source code file). The
diff --git a/specification/html/spec_apis.md b/specification/html/spec_apis.md
index df59fa7..7802a09 100644
--- a/specification/html/spec_apis.md
+++ b/specification/html/spec_apis.md
@@ -22,6 +22,7 @@
The API entity schema is used to define an OpenWhisk API within a manifest.
### Fields
+
<html>
<table width="100%">
<tr>
diff --git a/specification/html/spec_entity_naming_and_namespacing.md
b/specification/html/spec_entity_naming_and_namespacing.md
index 1e37fc7..809e370 100644
--- a/specification/html/spec_entity_naming_and_namespacing.md
+++ b/specification/html/spec_entity_naming_and_namespacing.md
@@ -26,7 +26,7 @@ packages, belongs in a *namespace.*
The fully qualified name of any entity has the format:
-```
+```sh
/<namespaceName>[/<packageName>]/<entityName>
```
@@ -34,7 +34,7 @@ The namespace is typically provided at bind-time by the user
deploying the packa
#### Requirements
-- The “/whisk.system“ namespace is reserved for entities that are
distributed with the OpenWhisk system.
+- The “/whisk.system“ namespace is reserved for entities that are distributed
with the OpenWhisk system.
### Entity Names
@@ -42,17 +42,19 @@ The names of all entities, including actions, triggers,
rules, packages,
and namespaces, are a sequence of characters that follow the following
format:
-- The first character SHALL be an alphanumeric character, a digit, or an
underscore.
-- The subsequent characters MAY be alphanumeric, digits, spaces, or any of
the following:
-```
-_, @, ., -
-```
+- The first character SHALL be an alphanumeric character, a digit, or an
underscore.
+- The subsequent characters MAY be alphanumeric, digits, spaces, or any of the
following:
+
+ ```sh
+ _, @, ., -
+ ```
+
- The last character SHALL NOT be a space.
- The maximum name length of any entity name is 256 characters (i.e.,
ENTITY_NAME_MAX_LENGTH = 256).
Valid entity names are described with the following regular expression (Java
metacharacter syntax):
-```
+```sh
"\A([\w]|[\w][\w@ .-]{0,${ENTITY_NAME_MAX_LENGTH - 2}}[\[email protected]])\z"
```
diff --git a/specification/html/spec_intro.md b/specification/html/spec_intro.md
index ac6b8e5..984352b 100644
--- a/specification/html/spec_intro.md
+++ b/specification/html/spec_intro.md
@@ -31,15 +31,15 @@ Development Kits (SDKs).
The code for the Actions, along with any support services implementing
*Feeds*, are packaged according to this specification to be compatible with the
OpenWhisk catalog and its tooling. It also serves as a means for architects and
developers to model OpenWhisk package Actions as part
of full, event-driven services and applications providing the necessary
information for artifact and data type validation along with package management
operations.
-### Compatibility
+## Compatibility
This specification is intended to be compatible with the following
specifications:
-- *OpenWhisk API which is defined as an OpenAPI document: *
- -
<https://github.com/apache/openwhisk/blob/master/core/controller/src/main/resources/apiv1swagger.json>
+- *OpenWhisk API which is defined as an OpenAPI document:*
+ -
<https://github.com/apache/openwhisk/blob/master/core/controller/src/main/resources/apiv1swagger.json>
-- *OpenAPI Specification when defining REST APIs and parameters:*
- -
<https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md>
+- *OpenAPI Specification when defining REST APIs and parameters:*
+ -
<https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md>
<!--
Bottom Navigation
diff --git a/specification/html/spec_maps.md b/specification/html/spec_maps.md
index 438e457..76d8112 100644
--- a/specification/html/spec_maps.md
+++ b/specification/html/spec_maps.md
@@ -29,6 +29,7 @@ entities.
```
##### Multi-line grammar
+
```yaml
# Where ‘key_n’ is a type <string> and ‘value_n’ is type <any>.
<key_1>: <value_1>
diff --git a/specification/html/spec_normative_refs.md
b/specification/html/spec_normative_refs.md
index f9f5587..08985c2 100644
--- a/specification/html/spec_normative_refs.md
+++ b/specification/html/spec_normative_refs.md
@@ -17,26 +17,21 @@
#
-->
-
<!--
********************************
Normative Reference
********************************
-->
<h2>Normative References</h2>
-<p> </p>
+
<table width="100%">
<tr>
- <th>
- <p>Tag</p>
- </th>
- <th>
- <p>Description</p>
- </th>
+ <th>Tag</th>
+ <th>Description</th>
</tr>
<tr>
<td>
- <p><a>RFC2119</a></p>
+ <p>RFC2119</p>
</td>
<td>
<p>S. Bradner, <i>Key words for use in RFCs to Indicate Requirement
Levels</i>, <a
href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>,
IETF RFC 2119, March 1997.</p>
@@ -44,7 +39,7 @@
</tr>
<tr>
<td>
- <p><a>YAML-1.2</a></p>
+ <p>YAML-1.2</p>
</td>
<td>
<p>YAML, Version 1.2, 3rd Edition, Patched at 2009-10-01, Oren Ben-Kiki,
Clark Evans, Ingy dšt Net <a
href="http://www.yaml.org/spec/1.2/spec.html">http://www.yaml.org/spec/1.2/spec.html</a></p>
@@ -52,7 +47,7 @@
</tr>
<tr>
<td>
- <p><a>YAML-TS-1.1</a></p>
+ <p>YAML-TS-1.1</p>
</td>
<td>
<p>Timestamp Language-Independent Type for YAML Version 1.1, Working Draft
2005-01-18, <a
href="http://yaml.org/type/timestamp.html">http://yaml.org/type/timestamp.html</a></p>
@@ -60,7 +55,7 @@
</tr>
<tr>
<td>
- <p><a>Maven-Version</a></p>
+ <p>Maven-Version</p>
</td>
<td>
<p>The version type is defined with the <a
href="https://maven.apache.org/index.html">Apache Maven project's</a> policy
draft:</p>
@@ -69,7 +64,7 @@
</tr>
<tr>
<td>
- <p><a>OpenAPI-2.0</a></p>
+ <p>OpenAPI-2.0</p>
</td>
<td>
<p>The OpenAPI (f.k.a. 'Swagger') specification for defining REST APIs as
JSON.</p>
@@ -78,7 +73,7 @@
</tr>
<tr>
<td>
- <p><a>Linux-SPDX</a></p>
+ <p>Linux-SPDX</p>
</td>
<td>
<p>Linux Foundation, SPDX License list</p>
@@ -87,7 +82,7 @@
</tr>
<tr>
<td>
- <p><a>NPM-SPDX-Syntax</a></p>
+ <p>NPM-SPDX-Syntax</p>
</td>
<td>
<p>Node Package Manager (NPM) SPDX License Expression Syntax</p>
@@ -103,19 +98,15 @@
-->
<h2>Non-normative References</h2>
-<p> </p>
+
<table width="100%">
<tr>
- <th>
- <p>Tag</p>
- </th>
- <th>
- <p>Description</p>
- </th>
+ <th>Tag</th>
+ <th>Description</th>
</tr>
<tr>
<td>
- <p><a>OpenWhisk-API</a></p>
+ <p>OpenWhisk-API</p>
</td>
<td>
<p>OpenWhisk REST API which is defined as an OpenAPI document.</p>
@@ -124,7 +115,7 @@
</tr>
<tr>
<td>
- <p><a>GNU-units</a></p>
+ <p>GNU-units</p>
</td>
<td>
<p>Size-type units are based upon a subset of those defined by GNU at <a
href="http://www.gnu.org/software/parted/manual/html_node/unit.html">http://www.gnu.org/software/parted/manual/html_node/unit.html</a></p>
@@ -132,7 +123,7 @@
</tr>
<tr>
<td>
- <p><a>RFC 6838</a></p>
+ <p>RFC 6838</p>
</td>
<td>
<p>Mime Type definitions in compliance with <a
href="http://tools.ietf.org/html/rfc6838">RFC 6838</a>.</p>
@@ -140,7 +131,7 @@
</tr>
<tr>
<td>
- <p><a>RFC 7231</a></p>
+ <p>RFC 7231</p>
</td>
<td>
<p>HTTP 1.1. status codes are described in compliance with <a
href="http://tools.ietf.org/html/rfc7231#section-6">RFC 7231</a>.</p>
@@ -148,7 +139,7 @@
</tr>
<tr>
<td>
- <p><a>IANA-Status-Codes</a></p>
+ <p>IANA-Status-Codes</p>
</td>
<td>
<p>HTTP Status codes as defined in the <a
href="http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml">IANA
Status Code Registry</a>.</p>
@@ -159,8 +150,8 @@
<p>JSON Schema Specification</p>
</td>
<td>
- <p>The built-in parameter type 'json' references this specification.</p>
- <p>http://json-schema.org/</p>
+ <p>The built-in parameter type 'json' references this specification:
+ <a href="http://json-schema.org/">http://json-schema.org/</a></p>
</td>
</tr>
</table>
diff --git a/specification/html/spec_package_processing.md
b/specification/html/spec_package_processing.md
index 29a501f..5234c56 100644
--- a/specification/html/spec_package_processing.md
+++ b/specification/html/spec_package_processing.md
@@ -22,12 +22,12 @@
This document defines two file artifacts that are used to deploy
Packages to a target OpenWhisk platform; these include:
-- ***Package Manifest file***: Contains the Package definition along
+- ***Package Manifest file***: Contains the Package definition along
with any included Action, Trigger or Rule definitions that comprise
the package. This file includes the schema of input and output data
to each entity for validation purposes.
-- ***Deployment file*** (optional): Contains the values and bindings used
+- ***Deployment file*** (optional): Contains the values and bindings used
configure a Package to a target OpenWhisk platform provider’s
environment and supply input parameter values for Packages, Actions
and Triggers. This can include Namespace bindings, security and
@@ -35,10 +35,9 @@ Packages to a target OpenWhisk platform; these include:
#### Notes
-- _Deployment files are optional_. Deployment can be fully accomplished
+- _Deployment files are optional_. Deployment can be fully accomplished
with simply a Manifest File.
-
### Conceptual Package creation and publishing
The following diagram illustrates how a developer would create OpenWhisk
diff --git a/specification/html/spec_parameter_types.md
b/specification/html/spec_parameter_types.md
index ff725de..25b3d02 100644
--- a/specification/html/spec_parameter_types.md
+++ b/specification/html/spec_parameter_types.md
@@ -17,7 +17,7 @@
#
-->
-# Parameter Types
+## Parameter Types
- [YAML Types](#yaml-types)
- [OpenWhisk Types](#openwhisk-types)
@@ -25,7 +25,7 @@
---
-#### YAML Types
+### YAML Types
Many of the types we use in this profile are *built-in* types from the [YAML
1.2 specification](http://www.yaml.org/spec/1.2/spec.html) (i.e., those
identified by the “tag:yaml.org,2002” version tag).
@@ -40,7 +40,7 @@ The following table declares the valid YAML type URIs and
aliases that SHALL be
| timestamp | tag:yaml.org,2002:timestamp | ISO 8601 compatible timestamp. See
[YAML-TS-1.1](spec_normative_refs.md) |
| null | tag:yaml.org,2002:null | Different meaning than an empty string,
map, list, etc. |
-#### Requirements
+### Requirements
- The ‘string’ type SHALL be the default type when not specified on a
parameter or property declaration.
- All ‘boolean’ values SHALL be lowercased (i.e., ‘true’ or ‘false’).
diff --git a/specification/html/spec_parameters.md
b/specification/html/spec_parameters.md
index fc94369..0efffca 100644
--- a/specification/html/spec_parameters.md
+++ b/specification/html/spec_parameters.md
@@ -23,12 +23,14 @@
- [Dollar Notation ($)](#dollar-notation--schema-for-values)
## Parameter schema
+
The Parameter schema is used to define input and/or output data to be used by
OpenWhisk entities for the purposes of validation.
### Fields
+
| 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. |
+| [type](./spec_parameter_types.md) | no | _<any>_ | string | Optional
valid type name or the parameter’s value for validation 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.</br> 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). |
@@ -39,26 +41,72 @@ The Parameter schema is used to define input and/or output
data to be used by Op
### Requirements
-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 `schema` key's value MUST be compatible with the value provided on both
the 'type' and 'value' keys; otherwise, it is considered an error.
### Notes
-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.
+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.
-### Grammar
+### Examples
+
+#### Single-line declaration *(type inferred)*
-#### Single-line
```yaml
+...
+ inputs:
+ inline1: '{ "key": true }'
+ inline2: Just a string
+ inline3: null
+ inline4: true
+ inline5: 42
+ inline6: -531
+ inline7: 432.432E-43
+ inline8: '[ true, null, "boo", { "key": 0 }]'
+ inline9: !!bool false
+ inline0: !!float 456.423
+ inline10: # JSON null
+ inline11: True # JSON true
+ inline12: ["v1", "v2"] # Array
+ inline13: # Array
+ - "value1"
+ - "value2"
```
-Where <YAML type> is inferred to be a YAML type as shown in the YAML Types
section above (e.g., string, integer, float, boolean, etc.).
+Where `<YAML type>` 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.
-#### Multi-line
+#### Multi-line declaration *(explicitly typed)*
+
```yaml
+...
+ inputs:
+ multiline1:
+ value: "hello"
+ type: string
+ description: "greeting"
+ multiline2:
+ value: '{ "key": true }'
+ type: string
+ description: "map as string"
+ multiline3:
+ value: null
+ type: string
+ description: "null string"
+ multiline4:
+ value: 42
+ type: integer
+ multiline:
+ value: 456.423
+ type: float
```
+More examples of multiline, including advanced types like JSON, can be found
here:
+
+-
[docs/examples/manifest_hello_world_advanced_parms.yaml](docs/examples/manifest_hello_world_advanced_parms.yaml)
+-
[tests/dat/manifest_validate_multiline_params.yaml](tests/dat/manifest_validate_multiline_params.yaml)
+-
[tests/dat/manifest_validate_json_params.yaml](tests/dat/manifest_validate_json_params.yaml)
+
### Status values
| Status Value | Description |
@@ -101,23 +149,31 @@ annotations: <map of <string>>
- Several, non-normative "annotations" keynames and allowed values
(principally for User Interface (UI) design and tooling information) may be
defined in this specification or optional usage.
+---
## Dollar Notation ($) schema for values
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.
### Syntax
+
```yaml
<parameter>: $<local environment variable name>
```
-### Example
+### Examples
+
```yaml
...
inputs:
userName: $DEFAULT_USERNAME
```
+More examples of dollar notation, including use within JSON data, can be found
here:
+
+-
[docs/examples/manifest_hello_world_env_var_parms.yaml](docs/examples/manifest_hello_world_env_var_parms.yaml)
+-
[tests/dat/manifest_validate_json_params.yaml](tests/dat/manifest_validate_json_params.yaml)
+
### Requirements
- Processors or tooling that encounter ($) Dollar notation and are unable to
locate the value in the execution environment SHOULD resolve the value to be
the default value for the type (e.g., an empty string ("") for type 'string').
@@ -127,7 +183,6 @@ In a Manifest or Deployment file, a parameter value may be
set from the local ex
- Processors or tooling that encounter ($) Dollar notation for values should
attempt to locate the corresponding named variables set into the local
execution environment (e.g., where the tool was invoked) and assign its value
to the named input parameter for the OpenWhisk entity.
- This specification does not currently consider using this notation for other
than simple data types (i.e., we support this mechanism for values such as
`strings`, `integers`, `floats`, etc.) at this time.
-
<!--
Bottom Navigation
-->
diff --git a/specification/html/spec_rule.md b/specification/html/spec_rule.md
index 0b6b80d..1fa2137 100644
--- a/specification/html/spec_rule.md
+++ b/specification/html/spec_rule.md
@@ -22,6 +22,7 @@
The Rule entity schema contains the information necessary to associates one
trigger with one action, with every firing of the trigger causing the
corresponding action to be invoked with the trigger event as input. For more
information, see the document "[Creating Triggers and
Rules](https://github.com/apache/openwhisk/blob/master/docs/triggers_rules.md)".
#### Subsections
+
- [Fields](#fields)
- [Requirements](#requirements)
- [Notes](#notes)
@@ -29,6 +30,7 @@ The Rule entity schema contains the information necessary to
associates one trig
- [Example](#example)
### Fields
+
<html>
<table>
<tr>
diff --git a/specification/html/spec_schema.md
b/specification/html/spec_schema.md
index d7eb418..e8c3110 100644
--- a/specification/html/spec_schema.md
+++ b/specification/html/spec_schema.md
@@ -17,7 +17,7 @@
#
-->
-# Schema
+## Schema
This section defines all the essential schema used to describe OpenWhisk
packages and programming model entities within a manifest.
diff --git a/specification/html/spec_sequences.md
b/specification/html/spec_sequences.md
index 0529d89..6fe9a06 100644
--- a/specification/html/spec_sequences.md
+++ b/specification/html/spec_sequences.md
@@ -22,6 +22,7 @@
Actions can be composed into sequences to, in effect, form a new Action. The
Sequence entity allows for a simple, convenient way to describe them in the
Package Manifest.
### Fields
+
<html>
<table>
<tr>
@@ -77,6 +78,7 @@ sequences:
```
### Example
+
```yaml
sequences:
newbot:
diff --git a/specification/html/spec_shared_entity_schema.md
b/specification/html/spec_shared_entity_schema.md
index 34798a8..ff413e5 100644
--- a/specification/html/spec_shared_entity_schema.md
+++ b/specification/html/spec_shared_entity_schema.md
@@ -90,6 +90,7 @@ The Entity Schema contains fields that are common (shared) to
all OpenWhisk enti
</html>
### Grammar
+
```yaml
description: <string256>
displayName: <string16>
@@ -97,7 +98,8 @@ annotations: <map of <string>>
```
### Requirements
-- Non-required fields MAY be stored as ÒannotationsÓ within the OpenWhisk
framework after they have been used for processing.
+
+- Non-required fields MAY be stored as `annotations` within the OpenWhisk
framework after they have been used for processing.
- Description string values SHALL be limited to 256 characters.
- DisplayName string values SHALL be limited to 16 characters.
- Annotations MAY be ignored by target consumers of the Manifest file as they
are considered data non-essential to the deployment of management of OpenWhisk
entities themselves.
@@ -105,6 +107,7 @@ annotations: <map of <string>>
- For any OpenWhisk Entity, the maximum size of all Annotations SHALL be 256
characters.
### Notes
+
- Several, non-normative Annotation keynames and allowed values for
(principally for User Interface (UI) design) may be defined below for optional
usage.
<!--
diff --git a/specification/html/spec_trigger.md
b/specification/html/spec_trigger.md
index 7ac51a8..3b51992 100644
--- a/specification/html/spec_trigger.md
+++ b/specification/html/spec_trigger.md
@@ -22,6 +22,7 @@
The Trigger entity schema contains the necessary information to describe the
stream of events that it represents. For more information, see the document
"[Creating Triggers and
Rules](https://github.com/apache/openwhisk/blob/master/docs/triggers_rules.md)".
#### Subsections
+
- [Fields](#fields)
- [Requirements](#requirements)
- [Notes](#notes)
@@ -29,6 +30,7 @@ The Trigger entity schema contains the necessary information
to describe the str
- [Example](#example)
### Fields
+
<html>
<table>
<tr>
@@ -128,6 +130,7 @@ declared above.
- ```$ wsk trigger list -v
### Grammar
+
```yaml
<triggerName>:
<Entity schema>
@@ -138,6 +141,7 @@ declared above.
```
### Example
+
```yaml
triggers:
everyhour:
diff --git a/tests/dat/deployment_validate_package_inputs_1.yaml
b/tests/dat/deployment_validate_package_inputs_1.yaml
index de2f4a1..3c8dcf9 100644
--- a/tests/dat/deployment_validate_package_inputs_1.yaml
+++ b/tests/dat/deployment_validate_package_inputs_1.yaml
@@ -22,5 +22,3 @@ packages:
inputs:
name: Alice
place: Wonderland
-
-
diff --git a/tests/dat/manifest_validate_params.yaml
b/tests/dat/manifest_validate_params.yaml
index 069245a..6d1c8f0 100644
--- a/tests/dat/manifest_validate_params.yaml
+++ b/tests/dat/manifest_validate_params.yaml
@@ -30,8 +30,8 @@ packages:
inline8: '[ true, null, "boo", { "key": 0 }]'
inline9: !!bool false
inline0: !!float 456.423
- inlin10: # JSON null
- inlin11: True # JSON true
+ inline10: # JSON null
+ inline11: True # JSON true
expand1:
value: null