statelint 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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