1{
2  "version": 2,
3  "waiters": {
4    "LoadBalancerExists": {
5      "delay": 15,
6      "operation": "DescribeLoadBalancers",
7      "maxAttempts": 40,
8      "acceptors": [
9        {
10          "matcher": "status",
11          "expected": 200,
12          "state": "success"
13        },
14        {
15          "matcher": "error",
16          "expected": "LoadBalancerNotFound",
17          "state": "retry"
18        }
19      ]
20    },
21    "LoadBalancerAvailable": {
22      "delay": 15,
23      "operation": "DescribeLoadBalancers",
24      "maxAttempts": 40,
25      "acceptors": [
26        {
27          "state": "success",
28          "matcher": "pathAll",
29          "argument": "LoadBalancers[].State.Code",
30          "expected": "active"
31        },
32        {
33          "state": "retry",
34          "matcher": "pathAny",
35          "argument": "LoadBalancers[].State.Code",
36          "expected": "provisioning"
37        },
38        {
39          "state": "retry",
40          "matcher": "error",
41          "expected": "LoadBalancerNotFound"
42        }
43      ]
44    },
45    "LoadBalancersDeleted": {
46      "delay": 15,
47      "operation": "DescribeLoadBalancers",
48      "maxAttempts": 40,
49      "acceptors": [
50        {
51          "state": "retry",
52          "matcher": "pathAll",
53          "argument": "LoadBalancers[].State.Code",
54          "expected": "active"
55        },
56        {
57          "matcher": "error",
58          "expected": "LoadBalancerNotFound",
59          "state": "success"
60        }
61      ]
62    },
63    "TargetInService":{
64      "delay":15,
65      "maxAttempts":40,
66      "operation":"DescribeTargetHealth",
67      "acceptors":[
68        {
69          "argument":"TargetHealthDescriptions[].TargetHealth.State",
70          "expected":"healthy",
71          "matcher":"pathAll",
72          "state":"success"
73        },
74        {
75          "matcher": "error",
76          "expected": "InvalidInstance",
77          "state": "retry"
78        }
79      ]
80    },
81    "TargetDeregistered": {
82      "delay": 15,
83      "maxAttempts": 40,
84      "operation": "DescribeTargetHealth",
85      "acceptors": [
86        {
87          "matcher": "error",
88          "expected": "InvalidTarget",
89          "state": "success"
90        },
91        {
92          "argument":"TargetHealthDescriptions[].TargetHealth.State",
93          "expected":"unused",
94          "matcher":"pathAll",
95          "state":"success"
96        }
97      ]
98    }
99  }
100}
101