statelint 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87f407ed15e1226b68291ca69d41d95d5d479fb82ec3be722ee941423530e3be
4
- data.tar.gz: '097793ff06c444f8970ef00d586b762237c666e8c8c13344dce7fa1dd75c49e3'
3
+ metadata.gz: a85ee10472e6a79a7ea4481063128240c5d0a8e259b92120d2cbbcffc968f8a9
4
+ data.tar.gz: 7920a9883809a0d48f368eb361459b861f12cb296269e5af7b1416c1eaec7d44
5
5
  SHA512:
6
- metadata.gz: f13ca171adf72965cd6c5e626867b8cbf4e89c7cf7b3603133df625c36f6a012d42c35aefac658f42d2f821a29ff98baf456caa72c7890eed3d382556b8a3189
7
- data.tar.gz: 0071fe7f0d212a0b8b8bd27f67c71670455daf0f5d679ce1f0efcffe354b3b9def71ec994b80801a9d96f4e6257088203eb457ddd02f99ce74b00db7334bc73d
6
+ metadata.gz: 34d37d0dd1f7fa13c07d7d09903cb2eb8c99a0d9c57b56161d2619b6415ddec65503ec6ca6ef138a54f23e82b48f0602574cb11adbaa3aa19db494bdc1556a46
7
+ data.tar.gz: b4082a0ba043b06cd25904587327b099f4017981a0ebe23e8a4d34c7d8f513ecce659fa0e79fb40bc78f0bc1d7af7c84705c1c4c3e222a8657b3313ac1e7779b
@@ -4,7 +4,7 @@ A State Machine MUST have a string field named "StartAt".
4
4
  A State Machine MAY have a string field named "Comment".
5
5
  A State Machine MAY have a string field named "Version".
6
6
  A State Machine MAY have a positive-integer field named "TimeoutSeconds" whose value MUST be less than 99999999.
7
- A State MUST have a string field named "Type" whose value MUST be one of "Pass", "Succeed", "Fail", "Task", "Choice", "Wait", or "Parallel".
7
+ A State MUST have a string field named "Type" whose value MUST be one of "Pass", "Succeed", "Fail", "Task", "Choice", "Wait", "Parallel", or "Map".
8
8
  A State whose "Type" field's value is "Pass" is a "Pass State".
9
9
  A State whose "Type" field's value is "Succeed" is a "Succeed State".
10
10
  A State whose "Type" field's value is "Fail" is a "Fail State".
@@ -12,22 +12,23 @@ A State whose "Type" field's value is "Task" is a "Task State".
12
12
  A State whose "Type" field's value is "Choice" is a "Choice State".
13
13
  A State whose "Type" field's value is "Wait" is a "Wait State".
14
14
  A State whose "Type" field's value is "Parallel" is a "Parallel State".
15
+ A State whose "Type" field's value is "Map" is a "Map State".
15
16
  A State MAY have a string field named "Comment".
16
- Each of a Pass State, a Task State, a Wait State, and a Parallel State MAY have a boolean field named "End".
17
- Each of a Pass State, a Task State, and a Parallel State MAY have a field named "Parameters".
17
+ Each of a Pass State, a Task State, a Wait State, a Parallel State, and a Map State MAY have a boolean field named "End".
18
+ Each of a Pass State, a Task State, a Parallel State, and a Map State MAY have a field named "Parameters".
18
19
  A State whose "End" field's value is true is a "Terminal State".
19
20
  Each of a Succeed State and a Fail State is a "Terminal State".
20
21
  A State which is not a Terminal State or a Choice State MUST have a string field named "Next".
21
22
  A Terminal State MUST NOT have a field named "Next".
22
23
  A State MAY have a nullable-JSONPath field named "InputPath".
23
- Each of a Pass State, a Task State, and a Parallel State MAY have a nullable-referencePath field named "ResultPath".
24
+ Each of a Pass State, a Task State, a Parallel State, and a Map State MAY have a nullable-referencePath field named "ResultPath".
24
25
  A State MAY have a nullable-JSONPath field named "OutputPath".
25
26
  A Pass State MAY have a field named "Result".
26
27
  A Fail State MUST NOT have a field named "InputPath".
27
28
  A Fail State MUST NOT have a field named "OutputPath".
28
29
  A Fail State MAY have a string field named "Cause".
29
30
  A Fail State MAY have a string field named "Error".
30
- Each of a Task State and a Parallel State MAY have an object-array field named "Retry"; each element is a "Retrier".
31
+ Each of a Task State, a Parallel State, and a Map State MAY have an object-array field named "Retry"; each element is a "Retrier".
31
32
  A Task State MUST have a URI field named "Resource".
32
33
  A Task State MAY have a positive-integer field named "TimeoutSeconds" whose value MUST be less than 99999999.
33
34
  A Task State MAY have a positive-integer field named "HeartbeatSeconds" whose value MUST be less than 99999999.
@@ -35,7 +36,7 @@ A Retrier MUST have a nonempty-string-array field named "ErrorEquals".
35
36
  A Retrier MAY have an positive-integer field named "IntervalSeconds".
36
37
  A Retrier MAY have a nonnegative-integer field named "MaxAttempts" whose value MUST be less than 99999999.
37
38
  A Retrier MAY have a float field named "BackoffRate" whose value MUST be greater than or equal to 1.0.
38
- Each of a Task State and a Parallel State MAY have an object-array field named "Catch"; each element is a "Catcher".
39
+ Each of a Task State, a Parallel State, and a Map State MAY have an object-array field named "Catch"; each element is a "Catcher".
39
40
  A Catcher MUST have an nonempty-string-array field named "ErrorEquals".
40
41
  A Catcher MUST have a string field named "Next".
41
42
  A Catcher MAY have a nullable-referencePath field named "ResultPath".
@@ -107,6 +108,7 @@ A Wait State MAY have a referencePath field named "TimestampPath".
107
108
  A Wait State MUST have only one of "Seconds", "SecondsPath", "Timestamp", and "TimestampPath".
108
109
  A Wait State MUST have a field named one of "Seconds", "SecondsPath", "Timestamp", or "TimestampPath".
109
110
  A Parallel State MUST have an object-array field named "Branches"; each element is a "Branch".
110
- A Branch MUST have an object field named "States"; each element is a "State".
111
+ A Map State MUST have an object field named "Iterator"; its value is a "Branch".
112
+ A Branch MUST have an object field named "States"; each field is a "State".
111
113
  A Branch MUST have a string field named "StartAt".
112
114
  A Branch MAY have a string field named "Comment".
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'statelint'
3
- s.version = '0.3.0'
3
+ s.version = '0.4.0'
4
4
  s.summary = "State Machine JSON validator"
5
5
  s.description = "Validates a JSON object representing a State Machine"
6
6
  s.authors = ["Tim Bray"]
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
 
16
16
  s.required_ruby_version = '>= 1.9.2'
17
17
 
18
- s.add_runtime_dependency 'j2119', '>= 0.3.0'
18
+ s.add_runtime_dependency 'j2119', '>= 0.4.0'
19
19
 
20
20
  s.metadata = {
21
21
  'source_code_uri' => 'https://github.com/awslabs/statelint',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statelint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Bray
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-23 00:00:00.000000000 Z
11
+ date: 2019-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: j2119
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.0
19
+ version: 0.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.0
26
+ version: 0.4.0
27
27
  description: Validates a JSON object representing a State Machine
28
28
  email: timbray@amazon.com
29
29
  executables:
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: '0'
65
65
  requirements: []
66
- rubygems_version: 3.0.3
66
+ rubygems_version: 3.0.2
67
67
  signing_key:
68
68
  specification_version: 4
69
69
  summary: State Machine JSON validator