Skip to content

Commit 6cef3f5

Browse files
committed
log drains resource
1 parent e425dc1 commit 6cef3f5

File tree

16 files changed

+2232
-95
lines changed

16 files changed

+2232
-95
lines changed

.github/workflows/test.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ on:
77
pull_request:
88
paths-ignore:
99
- 'README.md'
10-
push:
11-
paths-ignore:
12-
- 'README.md'
1310

1411
# Testing only needs permissions to read the repository contents.
1512
permissions:

UPDATING_OPENAPI_JSON.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,9 @@ This project uses a modified `openapi.json`. Please maintain these instructions
1313
1. Add a request body schema to the `updateEnvVar` operation, by copying it from an earlier version of the `openapi.json`.
1414
1. Add a `package_path` property of type string to the `Repo` object.
1515
1. Duplicate the `Site` object into `PartialSite` and remove the `required` properties.
16-
1. Change `updateSite` operation to use the `PartialSite` object as the request body schema (NOTE: not the response body schema).
16+
1. Change `updateSite` operation to use the `PartialSite` object as the request body schema (NOTE: not the response body schema).
17+
1. Change the type of `LogDrain.id` to `string`.
18+
1. Add the various `log_drains` paths from `bitballoon-openapi`'s `openapi.json` file.
19+
1. Remove the required properties from the `LogDrainServiceConfig` object.
20+
1. Add properties to the `LogDrainServiceConfig` object, by copying it from an earlier version of the `openapi.json`.
21+
1. Change the request body of the `Log Drains-update` operation to use the `LogDrain` object (copy from `Log Drains-create`).

docs/resources/log_drain.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "netlify_log_drain Resource - netlify"
4+
subcategory: ""
5+
description: |-
6+
7+
---
8+
9+
# netlify_log_drain (Resource)
10+
11+
12+
13+
14+
15+
<!-- schema generated by tfplugindocs -->
16+
## Schema
17+
18+
### Required
19+
20+
- `destination` (String)
21+
- `exclude_pii` (Boolean)
22+
- `log_types` (Set of String)
23+
- `site_id` (String)
24+
25+
### Optional
26+
27+
- `format` (String)
28+
- `service_config` (Block, Optional) (see [below for nested schema](#nestedblock--service_config))
29+
30+
### Read-Only
31+
32+
- `id` (String) The ID of this resource.
33+
- `last_updated` (String)
34+
35+
<a id="nestedblock--service_config"></a>
36+
### Nested Schema for `service_config`
37+
38+
Optional:
39+
40+
- `authorization_header` (String, Sensitive)
41+
- `bucket_name` (String)
42+
- `bucket_region` (String)
43+
- `integration_name` (String)
44+
- `path` (String)
45+
- `tags` (Map of String)
46+
- `url` (String, Sensitive)
47+
- `verification_filename` (String)

examples/log_drains/main.tf

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
terraform {
2+
required_providers {
3+
netlify = {
4+
source = "registry.terraform.io/netlify/netlify"
5+
}
6+
}
7+
required_version = ">= 1.6.0"
8+
}
9+
10+
# `token` comes from NETLIFY_API_TOKEN, but can be specified with a Terraform variable
11+
provider "netlify" {}
12+
13+
data "netlify_site" "test4" {
14+
account_slug = "netlify-testing"
15+
name = "ramontest4"
16+
}
17+
18+
resource "netlify_log_drain" "ramontest4" {
19+
site_id = data.netlify_site.test4.id
20+
destination = "http"
21+
log_types = ["user_traffic", "deploys", "edge_functions", "functions"]
22+
format = "ndjson"
23+
exclude_pii = true
24+
service_config {
25+
# https://webhook.site/#!/view/524008a8-bbdd-418e-8238-dd988b8d7d54
26+
url = "https://webhook.site/524008a8-bbdd-418e-8238-dd988b8d7d54"
27+
}
28+
}

go.mod

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ module github.com/netlify/terraform-provider-netlify
33
go 1.21
44

55
require (
6-
github.com/go-openapi/errors v0.22.0
7-
github.com/go-openapi/runtime v0.28.0
8-
github.com/go-openapi/strfmt v0.23.0
9-
github.com/go-openapi/swag v0.23.0
10-
github.com/go-openapi/validate v0.24.0
116
github.com/go-swagger/go-swagger v0.30.5
127
github.com/hashicorp/terraform-plugin-docs v0.19.2
138
github.com/hashicorp/terraform-plugin-framework v1.8.0
149
golang.org/x/oauth2 v0.20.0
1510
)
1611

17-
require google.golang.org/appengine v1.6.8 // indirect
12+
require (
13+
github.com/go-openapi/errors v0.22.0 // indirect
14+
github.com/go-openapi/runtime v0.28.0 // indirect
15+
github.com/go-openapi/strfmt v0.23.0 // indirect
16+
github.com/go-openapi/swag v0.23.0 // indirect
17+
github.com/go-openapi/validate v0.24.0 // indirect
18+
)
1819

1920
require (
2021
github.com/BurntSushi/toml v1.3.2 // indirect
@@ -32,8 +33,6 @@ require (
3233
github.com/fatih/color v1.16.0 // indirect
3334
github.com/felixge/httpsnoop v1.0.4 // indirect
3435
github.com/fsnotify/fsnotify v1.7.0 // indirect
35-
github.com/go-logr/logr v1.4.1 // indirect
36-
github.com/go-logr/stdr v1.2.2 // indirect
3736
github.com/go-openapi/analysis v0.23.0 // indirect
3837
github.com/go-openapi/inflect v0.21.0 // indirect
3938
github.com/go-openapi/jsonpointer v0.21.0 // indirect
@@ -79,7 +78,6 @@ require (
7978
github.com/mitchellh/reflectwalk v1.0.2 // indirect
8079
github.com/oklog/run v1.1.0 // indirect
8180
github.com/oklog/ulid v1.3.1 // indirect
82-
github.com/opentracing/opentracing-go v1.2.0 // indirect
8381
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
8482
github.com/pkg/errors v0.9.1 // indirect
8583
github.com/posener/complete v1.2.3 // indirect
@@ -102,9 +100,6 @@ require (
102100
github.com/zclconf/go-cty v1.14.4 // indirect
103101
go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect
104102
go.mongodb.org/mongo-driver v1.15.0 // indirect
105-
go.opentelemetry.io/otel v1.24.0 // indirect
106-
go.opentelemetry.io/otel/metric v1.24.0 // indirect
107-
go.opentelemetry.io/otel/trace v1.24.0 // indirect
108103
go.uber.org/multierr v1.11.0 // indirect
109104
golang.org/x/crypto v0.23.0 // indirect
110105
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect

go.sum

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+
5353
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
5454
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
5555
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
56-
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
57-
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
58-
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
59-
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
60-
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
6156
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
6257
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
6358
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
@@ -86,11 +81,8 @@ github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l
8681
github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0=
8782
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
8883
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
89-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
90-
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
9184
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
9285
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
93-
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
9486
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
9587
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
9688
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -193,8 +185,6 @@ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
193185
github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
194186
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
195187
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
196-
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
197-
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
198188
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
199189
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
200190
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
@@ -240,7 +230,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS
240230
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
241231
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
242232
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
243-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
244233
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
245234
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
246235
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
@@ -270,14 +259,6 @@ go.abhg.dev/goldmark/frontmatter v0.2.0 h1:P8kPG0YkL12+aYk2yU3xHv4tcXzeVnN+gU0tJ
270259
go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU=
271260
go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUSLc=
272261
go.mongodb.org/mongo-driver v1.15.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
273-
go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo=
274-
go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo=
275-
go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI=
276-
go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco=
277-
go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw=
278-
go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg=
279-
go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI=
280-
go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
281262
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
282263
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
283264
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -296,8 +277,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
296277
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
297278
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
298279
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
299-
golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
300-
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
301280
golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo=
302281
golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
303282
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -326,7 +305,6 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
326305
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
327306
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
328307
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
329-
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
330308
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
331309
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
332310
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
@@ -336,15 +314,10 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
336314
golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
337315
golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
338316
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
339-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
340-
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
341-
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
342317
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE=
343318
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
344319
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
345320
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
346-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
347-
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
348321
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
349322
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
350323
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

internal/netlifyapi/.openapi-generator/FILES

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ api_form_submissions.go
1515
api_forms.go
1616
api_functions.go
1717
api_hooks.go
18+
api_log_drains.go
1819
api_members.go
1920
api_metadata.go
2021
api_o_auth_tickets.go
@@ -154,6 +155,7 @@ model_ip_target_config.go
154155
model_key_value_target_config.go
155156
model_log_drain.go
156157
model_log_drain_service_config.go
158+
model_log_drains_verify_request.go
157159
model_member.go
158160
model_member_committer_match_method.go
159161
model_mfa_confirmation.go

0 commit comments

Comments
 (0)