File: comments_as_per_docs.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (75 lines) | stat: -rw-r--r-- 2,836 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
templ = {
    "Comment": "A state machine that initially fails a condition and then succeeds upon retry.",
    "StartAt": "SetupInitialCondition",
    "States": {
        "SetupInitialCondition": {
            "Type": "Pass",
            "Comment": "Setup an initial failing condition for the HelloWorld task.",
            "Result": {"status": "incomplete"},
            "ResultPath": "$",
            "Next": "TaskStateCatchRetry",
        },
        "TaskStateCatchRetry": {
            "Type": "Task",
            "Resource": "arn:aws:lambda:your-region:your-account-id:function:yourHelloWorldFunction",
            "Comment": "Invoke a Lambda function that returns its input. Initially set to fail.",
            "Next": "IsComplete",
            "Catch": [
                {
                    "ErrorEquals": ["States.TaskFailed"],
                    "Next": "FailState",
                    "Comment": "Catch task failures and move to the FailState.",
                }
            ],
            "Retry": [
                {
                    "ErrorEquals": ["States.ALL"],
                    "IntervalSeconds": 3,
                    "MaxAttempts": 1,
                    "BackoffRate": 1.0,
                    "Comment": "Retry policy for any error. Adjusted for demonstration.",
                }
            ],
        },
        "IsComplete": {
            "Type": "Choice",
            "Comment": "Decide the next state based on the Lambda function's output.",
            "Choices": [
                {
                    "And": [
                        {
                            "Variable": "$.status",
                            "StringEquals": "complete",
                            "Comment": "If task is complete, move to the SuccessState.",
                        }
                    ],
                    "Next": "SuccessState",
                }
            ],
            "Default": "WaitState",
        },
        "WaitState": {
            "Type": "Wait",
            "Seconds": 5,
            "Comment": "Wait for a few seconds before correcting the condition and retrying.",
            "Next": "CorrectCondition",
        },
        "CorrectCondition": {
            "Type": "Pass",
            "Comment": "Correct the condition to ensure success in the next HelloWorld task attempt.",
            "Result": {"status": "complete"},
            "ResultPath": "$",
            "Next": "TaskStateCatchRetry",
        },
        "SuccessState": {
            "Type": "Succeed",
            "Comment": "The state machine completes successfully.",
        },
        "FailState": {
            "Type": "Fail",
            "Error": "TaskFailed",
            "Cause": "The Lambda function task failed.",
            "Comment": "The state machine fails due to a task failure.",
        },
    },
}