Skip to content

Commit a7077d1

Browse files
ericwholtEric HoltJoseph Siriannidjaglowski
authored
Add AWS Cloudwatch Logs operator (#289)
* WIP initial AWS Cloudwatch Logs operator * Remove references to azure in comments * Update operator/builtin/input/aws/cloudwatch/cloudwatch.go combine limit checks into one check. Co-authored-by: Joseph Sirianni <joe.sirianni@bluemedora.com> * Change public functions to private * Fix formatting in limit check * Do not set startTime defaults in CloudwatchInput * Update based on PR feedback and add parameters * go mod tidy * Add constant for event limit with comment * Return result of c.pollEvents instead of nil * Add cloudwatch documentation and remove timestamp from record * Update documentation and error message * Update log_group_name and region documentation * Tidy up go mod * Update handle batched events * Update debug message * Update docs/operators/aws_cloudwatch_input.md Co-authored-by: Joseph Sirianni <joe.sirianni@bluemedora.com> * Update docs/operators/aws_cloudwatch_input.md Co-authored-by: Joseph Sirianni <joe.sirianni@bluemedora.com> * Refactor for test and changes from feedback * Return error on getEvents and Promote log_group_name, region, log_stream_name to resource * Rename resource keys * Update poll_interval to minimum of 1 second instead of 10 * Update based on PR feedback * Update based on PR feedback * Update operator/builtin/input/aws/cloudwatch/cloudwatch.go Co-authored-by: Daniel Jaglowski <dan.jaglowski@bluemedora.com> * Update based on PR feedback * Fix error * Remove build Co-authored-by: Eric Holt <eric.holt@bluemedora.com> Co-authored-by: Joseph Sirianni <joe.sirianni@bluemedora.com> Co-authored-by: Daniel Jaglowski <dan.jaglowski@bluemedora.com>
1 parent 8c25974 commit a7077d1

File tree

18 files changed

+944
-10
lines changed

18 files changed

+944
-10
lines changed

cmd/stanza/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ require (
77
github.com/observiq/stanza v0.14.0
88
github.com/observiq/stanza/operator/builtin/input/k8sevent v0.1.0
99
github.com/observiq/stanza/operator/builtin/input/windows v0.1.1
10-
github.com/observiq/stanza/operator/builtin/output/elastic v0.1.0
10+
github.com/observiq/stanza/operator/builtin/output/elastic v0.1.2
1111
github.com/observiq/stanza/operator/builtin/output/googlecloud v0.1.3
12-
github.com/observiq/stanza/operator/builtin/output/newrelic v0.1.0
13-
github.com/observiq/stanza/operator/builtin/output/otlp v0.0.0
12+
github.com/observiq/stanza/operator/builtin/output/newrelic v0.1.2
13+
github.com/observiq/stanza/operator/builtin/output/otlp v0.1.0
1414
github.com/observiq/stanza/operator/builtin/parser/syslog v0.1.5
15-
github.com/observiq/stanza/operator/builtin/transformer/k8smetadata v0.1.0
15+
github.com/observiq/stanza/operator/builtin/transformer/k8smetadata v0.1.2
1616
github.com/spf13/cobra v1.1.3
1717
github.com/stretchr/testify v1.7.0
1818
go.etcd.io/bbolt v1.3.5

cmd/stanza/go.sum

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:o
159159
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
160160
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
161161
github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
162+
github.com/aws/aws-sdk-go v1.38.31 h1:iGTU2dctGX5SsFverLkQQzqLhcb56NnixoaOOZrXjJQ=
163+
github.com/aws/aws-sdk-go v1.38.31/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
162164
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
163165
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
164166
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
@@ -641,6 +643,10 @@ github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYP
641643
github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0=
642644
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
643645
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
646+
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
647+
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
648+
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
649+
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
644650
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
645651
github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
646652
github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
@@ -1247,8 +1253,9 @@ golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/
12471253
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
12481254
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
12491255
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
1250-
golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA=
12511256
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
1257+
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
1258+
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
12521259
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
12531260
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
12541261
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1336,6 +1343,7 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w
13361343
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13371344
golang.org/x/sys v0.0.0-20200821140526-fda516888d29/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13381345
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1346+
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13391347
golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
13401348
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
13411349
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

cmd/stanza/init_common.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
// Load packages when importing input operators
5+
_ "github.com/observiq/stanza/operator/builtin/input/aws/cloudwatch"
56
_ "github.com/observiq/stanza/operator/builtin/input/azure/eventhub"
67
_ "github.com/observiq/stanza/operator/builtin/input/azure/loganalytics"
78
_ "github.com/observiq/stanza/operator/builtin/input/file"
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
## `aws_cloudwatch_input` operator
2+
3+
The `aws_cloudwatch_input` operator reads logs from AWS Cloudwatch Logs using [AWS's SDK](https://github.com/aws/aws-sdk-go).
4+
5+
Fields `log_group`, `log_stream`,`region`, and `event_id` are promoted to resource field. The `Timestamp` field of the event is parsed as the entry's timestamp.
6+
7+
Credentials are used in the following order.
8+
9+
- Environment Variables (Details [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html))
10+
- Shared Credentials file (Details [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)),
11+
- Shared Configuration file (if SharedConfig is enabled details [here](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)) ,
12+
- EC2 Instance Metadata (credentials only details [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-metadata.html)).
13+
14+
You can provide `profile` to specify which credential set to use from a Shared Credentials file.
15+
16+
### Configuration Fields
17+
18+
| Field | Default | Description |
19+
| --- | --- | --- |
20+
| `id` | `aws_cloudwatch_input` | A unique identifier for the operator. |
21+
| `output` | Next in pipeline | The connected operator(s) that will receive all outbound entries. |
22+
| `log_group_name` | required | The Cloudwatch Logs Log Group Name. |
23+
| `region` | required | The AWS Region to be used. |
24+
| `log_stream_name_prefix` | | The log stream name prefix to use. This will find any log stream name in the group with the starting prefix. Cannot be used with `log_stream_names` |
25+
| `log_stream_names` | | An array of log stream names to get events from. Cannot be used with `log_stream_name_prefix` |
26+
| `profile` | | Profile to use for authentication. Details on named profiles can be found [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) |
27+
| `event_limit` | `10000` | The maximum number of events to return per call. |
28+
| `poll_interval` | `1m` | The duration between event calls. |
29+
| `start_at` | `end` | At startup, where to start reading events. Options are `beginning` or `end` |
30+
31+
### Log Stream Name Prefix
32+
33+
The log_stream_prefix allows the use of "directives" such as `%Y` (4-digit year) and `%d` (2-digit zero-padded day). These directives are based on `strptime` directives. There are a limited set of the `strptime` directives. These directives are listed below. When directive is detected within the prefix it will replace the first occurance of directive with the data indicated in the description.
34+
35+
#### Supported directives
36+
37+
| Directive | Description |
38+
| :---: | :--- |
39+
| %Y | Year, zero-padded |
40+
| %y | Year, last two digits, zero-padded |
41+
| %m | Month, zero-padded |
42+
| %q | Month as a unpadded number |
43+
| %b | Abbreviated month name |
44+
| %h | Abbreviated month name |
45+
| %B | Full month name |
46+
| %d | Day of the month, zero-padded |
47+
| %g | Day of the month, unpadded |
48+
| %a | Abbreviated weekday name |
49+
| %A | Full weekday name |
50+
51+
### Example Configurations
52+
53+
#### Simple AWS Cloudwatch Logs Example Input
54+
55+
Configuration:
56+
57+
```yaml
58+
pipeline:
59+
- type: aws_cloudwatch_input
60+
LogGroupName: "/aws/lambda/service"
61+
Region: us-east-2
62+
```
63+
64+
### Simple AWS Cloudwatch Logs Example Output
65+
66+
```json
67+
{
68+
"timestamp": "2021-05-10T13:00:55.023-04:00",
69+
"severity": 0,
70+
"record": {
71+
"event_id": "36142060744975733945009868546041203920891749688822923267",
72+
"ingestion_time": 1620666055330,
73+
"log_stream_name": "2021/05/10/[$LATEST]ff09d08f2836494690a1bd6b77365502",
74+
"message": "REPORT RequestId: 291fe36c-116a-42fd-a563-a8615671bab9\tDuration: 4577.28 ms\tBilled Duration: 4578 ms\tMemory Size: 128 MB\tMax Memory Used: 68 MB\tInit Duration: 401.54 ms\t\n"
75+
}
76+
}
77+
```
78+
79+
#### Log Stream Prefix Directives Example Input
80+
81+
Configuration:
82+
83+
```yaml
84+
pipeline:
85+
- type: aws_cloudwatch_input
86+
log_group_name: "/aws/lambda/service"
87+
region: us-east-2
88+
log_stream_name_prefix: "%Y/%m/%d"
89+
```
90+
91+
### Log Stream Prefix Directives Example Output
92+
93+
```json
94+
{
95+
"timestamp": "2021-05-12T13:03:47.941-04:00",
96+
"severity": 0,
97+
"resource": {
98+
"event_id": "36145918169946098276207227425947415203911741965970309123",
99+
"log_group": "/aws/lambda/service",
100+
"log_stream": "2021/05/12/[$LATEST]0f36de8f623a491c9305990130201669",
101+
"region": "us-east-2"
102+
},
103+
"record": {
104+
"ingestion_time": 1620839035104,
105+
"message": "REPORT RequestId: d64685ba-913b-456f-acd7-d00021416e68\tDuration: 1852.30 ms\tBilled Duration: 1853 ms\tMemory Size: 128 MB\tMax Memory Used: 68 MB\t\n"
106+
}
107+
}
108+
```
109+
110+
#### Log Stream Names Example Input
111+
112+
Configuration:
113+
114+
```yaml
115+
pipeline:
116+
- type: aws_cloudwatch_input
117+
log_group_name: "/aws/lambda/service"
118+
region: us-east-2
119+
log_stream_names:
120+
- "2021/05/09/[$LATEST]62e990bb0e72460c95b1dcfc5d96adc5"
121+
- "2021/05/08/[$LATEST]84d663604b6845e987d278272455ed95"
122+
```
123+
124+
### Log Stream Names Example Output
125+
126+
```json
127+
{
128+
"timestamp": "2021-05-09T13:04:02.686-04:00",
129+
"severity": 0,
130+
"resource": {
131+
"event_id": "36140138145615327091042663253954182481286730645124743171",
132+
"log_group": "/aws/lambda/service",
133+
"log_stream": "2021/05/09/[$LATEST]62e990bb0e72460c95b1dcfc5d96adc5",
134+
"region": "us-east-2"
135+
},
136+
"record": {
137+
"ingestion_time": 1620579849837,
138+
"message": "REPORT RequestId: 346b9fa2-9117-4d41-89f8-071f0100213b\tDuration: 1865.27 ms\tBilled Duration: 1866 ms\tMemory Size: 128 MB\tMax Memory Used: 68 MB\t\n"
139+
}
140+
}
141+
```

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ go 1.14
55
require (
66
github.com/Azure/azure-event-hubs-go/v3 v3.3.7
77
github.com/antonmedv/expr v1.8.2
8+
github.com/aws/aws-sdk-go v1.38.31
89
github.com/bmatcuk/doublestar/v2 v2.0.4
910
github.com/cenkalti/backoff/v4 v4.0.2
1011
github.com/jpillora/backoff v1.0.0

go.sum

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ github.com/Mottl/ctimefmt v0.0.0-20190803144728-fd2ac23a585a/go.mod h1:eyj2WSIdo
5353
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
5454
github.com/antonmedv/expr v1.8.2 h1:BfkVHGudYqq7jp3Ji33kTn+qZ9D19t/Mndg0ag/Ycq4=
5555
github.com/antonmedv/expr v1.8.2/go.mod h1:5qsM3oLGDND7sDmQGDXHkYfkjYMUX14qsgqmHhwGEk8=
56+
github.com/aws/aws-sdk-go v1.38.31 h1:iGTU2dctGX5SsFverLkQQzqLhcb56NnixoaOOZrXjJQ=
57+
github.com/aws/aws-sdk-go v1.38.31/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
5658
github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI=
5759
github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw=
5860
github.com/cenkalti/backoff/v4 v4.0.2 h1:JIufpQLbh4DkbQoii76ItQIUFzevQSqOLZca4eamEDs=
@@ -79,6 +81,10 @@ github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
7981
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
8082
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
8183
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
84+
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
85+
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
86+
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
87+
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
8288
github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
8389
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
8490
github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0=
@@ -178,8 +184,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
178184
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
179185
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
180186
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
181-
golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA=
182187
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
188+
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
189+
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
183190
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
184191
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 h1:qwRHBd0NqMbJxfbotnDhm2ByMI1Shq4Y6oRJo21SGJA=
185192
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -192,6 +199,7 @@ golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7w
192199
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
193200
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
194201
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
202+
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
195203
golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211 h1:9UQO31fZ+0aKQOFldThf7BKPMJTiBfWycGh/u3UoO88=
196204
golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
197205
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -229,6 +237,7 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8X
229237
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
230238
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
231239
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
240+
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
232241
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
233242
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
234243
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=

0 commit comments

Comments
 (0)