diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e156010..c5a1c1a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v6 with: - go-version: '1.24.4' + go-version: '1.25.0' - name: Run golangci-lint uses: golangci/golangci-lint-action@v8 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7fb8faf..9d577e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v6 with: - go-version: '1.24.10' + go-version: '1.25.0' - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f8397b8..783d5f1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v6 with: - go-version: '1.24.4' + go-version: '1.25.0' - name: Cache Go modules uses: actions/cache@v3 diff --git a/Makefile b/Makefile index bab3564..efe7cf2 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ # - rm *.tfstate* # - rm *.tfstate.backup +# To display sensitive fields in the generated terraform files, run the following command before executing 'make run' +# export FASTLY_TF_DISPLAY_SENSITIVE_FIELDS="true" + clean: - rm generated.tf - rm import.tf @@ -10,15 +13,19 @@ build: - terraform init run: - go run . + go build -o fastly-terraformer + ./fastly-terraformer - terraform plan -generate-config-out=generated.tf -rengwaf: - make clean +ngwaf: go build -o fastly-terraformer ./fastly-terraformer -import ngwaf - terraform plan -generate-config-out=generated.tf +rengwaf: + make clean + make ngwaf + rerun: make clean make run diff --git a/go.mod b/go.mod index 419fc5b..72d2b36 100644 --- a/go.mod +++ b/go.mod @@ -1,31 +1,32 @@ module example.com/mod -go 1.24.4 +go 1.25.0 require ( - github.com/fastly/go-fastly/v12 v12.1.0 + github.com/fastly/go-fastly/v17 v17.2.0 github.com/hashicorp/hcl/v2 v2.24.0 - github.com/zclconf/go-cty v1.17.0 + github.com/zclconf/go-cty v1.19.0 ) require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect + github.com/apparentlymart/go-textseg/v17 v17.0.1 // indirect github.com/dnaeon/go-vcr v1.2.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/go-querystring v1.1.0 // indirect + github.com/google/go-querystring v1.2.0 // indirect github.com/google/jsonapi v1.0.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/peterhellberg/link v1.2.0 // indirect - golang.org/x/crypto v0.43.0 // indirect - golang.org/x/mod v0.28.0 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/sys v0.37.0 // indirect - golang.org/x/text v0.30.0 // indirect - golang.org/x/tools v0.37.0 // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/mod v0.38.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.40.0 // indirect + golang.org/x/tools v0.48.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 3e2d778..c67a536 100644 --- a/go.sum +++ b/go.sum @@ -2,20 +2,22 @@ github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7l github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= +github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G5eoIbWo9f3gXkAs= +github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/fastly/go-fastly/v12 v12.1.0 h1:AONgwSHg/XEjSaMePpXV9RsHVojgG6kIp2rpOZ0uN38= -github.com/fastly/go-fastly/v12 v12.1.0/go.mod h1:9An7aQ1PaZcMb4jnot+lWEBNnHBMl9t4U0OUV8XVoMA= +github.com/fastly/go-fastly/v17 v17.2.0 h1:CqnIkx45bj64zu5Pat3fHrwwj6gZVmF2jzNjlx4SLp0= +github.com/fastly/go-fastly/v17 v17.2.0/go.mod h1:nzyLE+Eurnw5nlaaB6QJiDQaNR10tA8YOYuph/zfovw= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= -github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0= +github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU= github.com/google/jsonapi v1.0.0 h1:qIGgO5Smu3yJmSs+QlvhQnrscdZfFhiV6S8ryJAglqU= github.com/google/jsonapi v1.0.0/go.mod h1:YYHiRPJT8ARXGER8In9VuLv4qvLfDmA9ULQqptbLE4s= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= @@ -43,23 +45,22 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0= -github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= +github.com/zclconf/go-cty v1.19.0 h1:IV8WdqYZc2c5rLX9bEoLNXKojBAp0MZPBHMIrCoa/s4= +github.com/zclconf/go-cty v1.19.0/go.mod h1:12W89jGn3JCOIQi7infWr9m80rOkb5RNYJqXMZcN4c8= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= -golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= -golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= -golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= -golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= -golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= -golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= -golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= +golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= +golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/main.go b/main.go index 8ed228c..f339f72 100644 --- a/main.go +++ b/main.go @@ -9,28 +9,28 @@ import ( "regexp" "strings" - // IMPORTANT: Ensure your go.mod file correctly references github.com/fastly/go-fastly/v12 + // IMPORTANT: Ensure your go.mod file correctly references github.com/fastly/go-fastly/v17 // If errors persist, try running: // go clean -modcache - // go get -u github.com/fastly/go-fastly/v12/fastly + // go get -u github.com/fastly/go-fastly/v17/fastly // go mod tidy - "github.com/fastly/go-fastly/v12/fastly" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/lists" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/rules" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/scope" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/signals" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/datadog" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/jira" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/mailinglist" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/microsoftteams" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/opsgenie" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/pagerduty" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/slack" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/alerts/webhook" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/redactions" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/thresholds" - "github.com/fastly/go-fastly/v12/fastly/ngwaf/v1/workspaces/virtualpatches" + "github.com/fastly/go-fastly/v17/fastly" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/lists" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/rules" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/scope" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/signals" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/datadog" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/jira" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/mailinglist" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/microsoftteams" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/opsgenie" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/pagerduty" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/slack" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/alerts/webhook" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/redactions" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/thresholds" + "github.com/fastly/go-fastly/v17/fastly/ngwaf/v1/workspaces/virtualpatches" hcl "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/hclwrite" diff --git a/main_test.go b/main_test.go index 1b2019a..e62bfbf 100644 --- a/main_test.go +++ b/main_test.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" "testing" - - "github.com/fastly/go-fastly/v12/fastly" + + "github.com/fastly/go-fastly/v17/fastly" ) func TestSanitizeForTerraformResourceName(t *testing.T) { diff --git a/providers.tf b/providers.tf index 7d67b21..6674d15 100644 --- a/providers.tf +++ b/providers.tf @@ -4,7 +4,7 @@ terraform { required_providers { fastly = { source = "fastly/fastly" - version = ">= 8.3.2" + version = ">= 9.5.1" } } }