diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 305c9cd..3651259 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,5 +16,5 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: - version: v1.57 + version: v1.61 ... diff --git a/docs/resources/addon.md b/docs/resources/addon.md index 6cbfea4..72b346b 100644 --- a/docs/resources/addon.md +++ b/docs/resources/addon.md @@ -24,13 +24,13 @@ List of available providers: ### Required -- `name` (String) Name of the addon -- `plan` (String) billing plan +- `name` (String) Name of the service +- `plan` (String) Database size and spec - `third_party_provider` (String) Provider ID ### Optional -- `region` (String) Geographical region where the addon will be deployed (when relevant) +- `region` (String) Geographical region where the data will be stored ### Read-Only diff --git a/docs/resources/java_war.md b/docs/resources/java_war.md index 27f3064..64a9b78 100644 --- a/docs/resources/java_war.md +++ b/docs/resources/java_war.md @@ -3,22 +3,22 @@ page_title: "clevercloud_java_war Resource - terraform-provider-clevercloud" subcategory: "" description: |- - Manage Java https://www.java.com/en/ applications. + Manage Java applications. See Java product https://www.clever-cloud.com/doc/getting-started/by-language/java/ specification. Example usage Basic - terraform + resource "clevercloud_java_war" "myapp" { - name = "tf-myapp" - region = "par" - min_instance_count = 1 - max_instance_count = 2 - smallest_flavor = "XS" - biggest_flavor = "M" + name = "tf-myapp" + region = "par" + min_instance_count = 1 + max_instance_count = 2 + smallest_flavor = "XS" + biggest_flavor = "M" } Advanced - terraform + resource "clevercloud_java_war" "myapp" { name = "tf-myapp" region = "par" diff --git a/docs/resources/nodejs.md b/docs/resources/nodejs.md index 4354313..365a277 100644 --- a/docs/resources/nodejs.md +++ b/docs/resources/nodejs.md @@ -7,18 +7,18 @@ description: |- See NodeJS product https://www.clever-cloud.com/nodejs-hosting/ specification. Example usage Basic - terraform + resource "clevercloud_nodejs" "myapp" { - name = "tf-myapp" - region = "par" - min_instance_count = 1 - max_instance_count = 2 - smallest_flavor = "XS" - biggest_flavor = "M" + name = "tf-myapp" + region = "par" + min_instance_count = 1 + max_instance_count = 2 + smallest_flavor = "XS" + biggest_flavor = "M" } Advanced - terraform + resource "clevercloud_nodejs" "myapp" { name = "tf-myapp" region = "par" diff --git a/docs/resources/python.md b/docs/resources/python.md index 7d5055b..a538b0f 100644 --- a/docs/resources/python.md +++ b/docs/resources/python.md @@ -7,18 +7,18 @@ description: |- See Python product https://www.clever-cloud.com/python-hosting/ specification. Example usage Basic - terraform + resource "clevercloud_python" "myapp" { - name = "tf-myapp" - region = "par" - min_instance_count = 1 - max_instance_count = 2 - smallest_flavor = "XS" - biggest_flavor = "M" + name = "tf-myapp" + region = "par" + min_instance_count = 1 + max_instance_count = 2 + smallest_flavor = "XS" + biggest_flavor = "M" } Advanced - terraform + resource "clevercloud_python" "myapp" { name = "tf-myapp" region = "par" diff --git a/docs/resources/scala.md b/docs/resources/scala.md index 6020896..79843bf 100644 --- a/docs/resources/scala.md +++ b/docs/resources/scala.md @@ -3,22 +3,22 @@ page_title: "clevercloud_scala Resource - terraform-provider-clevercloud" subcategory: "" description: |- - Manage Scala https://www.scala-lang.org/ applications. + Manage Scala applications. See Scala product https://www.clever-cloud.com/scala-hosting/ specification. Example usage Basic - terraform + resource "clevercloud_scala" "myapp" { - name = "tf-myapp" - region = "par" - min_instance_count = 1 - max_instance_count = 2 - smallest_flavor = "XS" - biggest_flavor = "M" + name = "tf-myapp" + region = "par" + min_instance_count = 1 + max_instance_count = 2 + smallest_flavor = "XS" + biggest_flavor = "M" } Advanced - terraform + resource "clevercloud_scala" "myapp" { name = "tf-myapp" region = "par" diff --git a/docs/resources/static.md b/docs/resources/static.md index 3c26190..3b6b7b0 100644 --- a/docs/resources/static.md +++ b/docs/resources/static.md @@ -7,18 +7,18 @@ description: |- See Static product https://www.clever-cloud.com/doc/deploy/application/static/static/ specification. Example usage Basic - terraform + resource "clevercloud_static" "myapp" { - name = "tf-myapp" - region = "par" - min_instance_count = 1 - max_instance_count = 2 - smallest_flavor = "XS" - biggest_flavor = "M" + name = "tf-myapp" + region = "par" + min_instance_count = 1 + max_instance_count = 2 + smallest_flavor = "XS" + biggest_flavor = "M" } Advanced - terraform + resource "clevercloud_static" "myapp" { name = "tf-myapp" region = "par" diff --git a/go.mod b/go.mod index f4b35d2..ec162b9 100644 --- a/go.mod +++ b/go.mod @@ -1,32 +1,36 @@ module go.clever-cloud.com/terraform-provider -go 1.21 +go 1.22.0 + +toolchain go1.23.2 require ( github.com/go-git/go-billy/v5 v5.5.0 github.com/go-git/go-git/v5 v5.12.0 - github.com/hashicorp/terraform-plugin-docs v0.18.0 - github.com/hashicorp/terraform-plugin-framework v1.7.0 - github.com/hashicorp/terraform-plugin-go v0.22.1 + github.com/hashicorp/terraform-plugin-docs v0.19.4 + github.com/hashicorp/terraform-plugin-framework v1.13.0 + github.com/hashicorp/terraform-plugin-go v0.25.0 github.com/hashicorp/terraform-plugin-log v0.9.0 - github.com/hashicorp/terraform-plugin-testing v1.7.0 + github.com/hashicorp/terraform-plugin-testing v1.10.0 github.com/minio/minio-go/v7 v7.0.69 go.clever-cloud.dev/client v0.0.8 ) require ( dario.cat/mergo v1.0.0 // indirect + github.com/BurntSushi/toml v1.2.1 // indirect github.com/Kunde21/markdownfmt/v3 v3.1.0 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver/v3 v3.2.0 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v1.1.0-alpha.0 // indirect + github.com/ProtonMail/go-crypto v1.1.0-alpha.2 // indirect github.com/adrg/xdg v0.4.0 // indirect github.com/agext/levenshtein v1.2.2 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/dustin/go-humanize v1.0.1 // indirect @@ -36,7 +40,7 @@ require ( github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/cli v1.1.6 // indirect @@ -44,17 +48,18 @@ require ( github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect - github.com/hashicorp/go-hclog v1.6.2 // indirect + github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.6.0 // indirect + github.com/hashicorp/go-plugin v1.6.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/hc-install v0.6.3 // indirect - github.com/hashicorp/hcl/v2 v2.20.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect + github.com/hashicorp/hc-install v0.8.0 // indirect + github.com/hashicorp/hcl/v2 v2.21.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.20.0 // indirect - github.com/hashicorp/terraform-json v0.21.0 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 // indirect + github.com/hashicorp/terraform-exec v0.21.0 // indirect + github.com/hashicorp/terraform-json v0.22.1 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.3 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect @@ -82,7 +87,6 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/posener/complete v1.2.3 // indirect github.com/rs/xid v1.5.0 // indirect - github.com/russross/blackfriday v1.6.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect @@ -92,25 +96,28 @@ require ( github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect - github.com/yuin/goldmark v1.6.0 // indirect + github.com/yuin/goldmark v1.7.1 // indirect github.com/yuin/goldmark-meta v1.1.0 // indirect - github.com/zclconf/go-cty v1.14.3 // indirect + github.com/zclconf/go-cty v1.15.0 // indirect + go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 // indirect go.opentelemetry.io/otel v1.21.0 // indirect go.opentelemetry.io/otel/metric v1.21.0 // indirect go.opentelemetry.io/otel/trace v1.21.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect - golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.22.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.13.0 // indirect + golang.org/x/mod v0.19.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect - google.golang.org/grpc v1.62.1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 7448ad5..dc6bf1e 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/Kunde21/markdownfmt/v3 v3.1.0 h1:KiZu9LKs+wFFBQKhrZJrFZwtLnCCWJahL+S+E/3VnM0= github.com/Kunde21/markdownfmt/v3 v3.1.0/go.mod h1:tPXN1RTyOzJwhfHoon9wUr4HGYmWgVxSQN6VBJDkrVc= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= @@ -11,8 +13,8 @@ github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBa github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0= -github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.0-alpha.2 h1:bkyFVUP+ROOARdgCiJzNQo2V2kiB97LyUpzH9P6Hrlg= +github.com/ProtonMail/go-crypto v1.1.0-alpha.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls= github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= @@ -28,6 +30,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= +github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= @@ -72,8 +76,8 @@ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4er github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -94,40 +98,42 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= -github.com/hashicorp/go-hclog v1.6.2 h1:NOtoftovWkDheyUM/8JW3QMiXyxJK3uHRK7wV04nD2I= -github.com/hashicorp/go-hclog v1.6.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.6.0 h1:wgd4KxHJTVGGqWBq4QPB1i5BZNEx9BR8+OFmHDmTk8A= -github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI= +github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog= +github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= -github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hc-install v0.6.3 h1:yE/r1yJvWbtrJ0STwScgEnCanb0U9v7zp0Gbkmcoxqs= -github.com/hashicorp/hc-install v0.6.3/go.mod h1:KamGdbodYzlufbWh4r9NRo8y6GLHWZP2GBtdnms1Ln0= -github.com/hashicorp/hcl/v2 v2.20.0 h1:l++cRs/5jQOiKVvqXZm/P1ZEfVXJmvLS9WSVxkaeTb4= -github.com/hashicorp/hcl/v2 v2.20.0/go.mod h1:WmcD/Ym72MDOOx5F62Ly+leloeu6H7m0pG7VBiU6pQk= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/hc-install v0.8.0 h1:LdpZeXkZYMQhoKPCecJHlKvUkQFixN/nvyR1CdfOLjI= +github.com/hashicorp/hc-install v0.8.0/go.mod h1:+MwJYjDfCruSD/udvBmRB22Nlkwwkwf5sAB6uTIhSaU= +github.com/hashicorp/hcl/v2 v2.21.0 h1:lve4q/o/2rqwYOgUg3y3V2YPyD1/zkCLGjIV74Jit14= +github.com/hashicorp/hcl/v2 v2.21.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/terraform-exec v0.20.0 h1:DIZnPsqzPGuUnq6cH8jWcPunBfY+C+M8JyYF3vpnuEo= -github.com/hashicorp/terraform-exec v0.20.0/go.mod h1:ckKGkJWbsNqFKV1itgMnE0hY9IYf1HoiekpuN0eWoDw= -github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= -github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= -github.com/hashicorp/terraform-plugin-docs v0.18.0 h1:2bINhzXc+yDeAcafurshCrIjtdu1XHn9zZ3ISuEhgpk= -github.com/hashicorp/terraform-plugin-docs v0.18.0/go.mod h1:iIUfaJpdUmpi+rI42Kgq+63jAjI8aZVTyxp3Bvk9Hg8= -github.com/hashicorp/terraform-plugin-framework v1.7.0 h1:wOULbVmfONnJo9iq7/q+iBOBJul5vRovaYJIu2cY/Pw= -github.com/hashicorp/terraform-plugin-framework v1.7.0/go.mod h1:jY9Id+3KbZ17OMpulgnWLSfwxNVYSoYBQFTgsx044CI= -github.com/hashicorp/terraform-plugin-go v0.22.1 h1:iTS7WHNVrn7uhe3cojtvWWn83cm2Z6ryIUDTRO0EV7w= -github.com/hashicorp/terraform-plugin-go v0.22.1/go.mod h1:qrjnqRghvQ6KnDbB12XeZ4FluclYwptntoWCr9QaXTI= +github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ= +github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg= +github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec= +github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= +github.com/hashicorp/terraform-plugin-docs v0.19.4 h1:G3Bgo7J22OMtegIgn8Cd/CaSeyEljqjH3G39w28JK4c= +github.com/hashicorp/terraform-plugin-docs v0.19.4/go.mod h1:4pLASsatTmRynVzsjEhbXZ6s7xBlUw/2Kt0zfrq8HxA= +github.com/hashicorp/terraform-plugin-framework v1.13.0 h1:8OTG4+oZUfKgnfTdPTJwZ532Bh2BobF4H+yBiYJ/scw= +github.com/hashicorp/terraform-plugin-framework v1.13.0/go.mod h1:j64rwMGpgM3NYXTKuxrCnyubQb/4VKldEKlcG8cvmjU= +github.com/hashicorp/terraform-plugin-go v0.25.0 h1:oi13cx7xXA6QciMcpcFi/rwA974rdTxjqEhXJjbAyks= +github.com/hashicorp/terraform-plugin-go v0.25.0/go.mod h1:+SYagMYadJP86Kvn+TGeV+ofr/R3g4/If0O5sO96MVw= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 h1:qHprzXy/As0rxedphECBEQAh3R4yp6pKksKHcqZx5G8= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= -github.com/hashicorp/terraform-plugin-testing v1.7.0 h1:I6aeCyZ30z4NiI3tzyDoO6fS7YxP5xSL1ceOon3gTe8= -github.com/hashicorp/terraform-plugin-testing v1.7.0/go.mod h1:sbAreCleJNOCz+y5vVHV8EJkIWZKi/t4ndKiUjM9vao= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 h1:kJiWGx2kiQVo97Y5IOGR4EMcZ8DtMswHhUuFibsCQQE= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0/go.mod h1:sl/UoabMc37HA6ICVMmGO+/0wofkVIRxf+BMb/dnoIg= +github.com/hashicorp/terraform-plugin-testing v1.10.0 h1:2+tmRNhvnfE4Bs8rB6v58S/VpqzGC6RCh9Y8ujdn+aw= +github.com/hashicorp/terraform-plugin-testing v1.10.0/go.mod h1:iWRW3+loP33WMch2P/TEyCxxct/ZEcCGMquSLSCVsrc= github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI= github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM= github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= @@ -159,8 +165,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -211,8 +215,6 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -245,12 +247,16 @@ github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark v1.6.0 h1:boZcn2GTjpsynOsC0iJHnBWa4Bi0qzfJjthwauItG68= -github.com/yuin/goldmark v1.6.0/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U= +github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc= github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0= -github.com/zclconf/go-cty v1.14.3 h1:1JXy1XroaGrzZuG6X9dt7HL6s9AwbY+l4UNL8o5B6ho= -github.com/zclconf/go-cty v1.14.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ= +github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +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= +go.abhg.dev/goldmark/frontmatter v0.2.0 h1:P8kPG0YkL12+aYk2yU3xHv4tcXzeVnN+gU0tJ5JnxRw= +go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU= go.clever-cloud.dev/client v0.0.8 h1:x4xbRL/2GTHSmW+0mHANcufdQzdqDu1aP45M9UwxbKk= go.clever-cloud.dev/client v0.0.8/go.mod h1:FbR9HINkEq3ilZoKOTWOLgtv5JdNZEggW8cGuRjtODc= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 h1:gbhw/u49SS3gkPWiYweQNJGm/uJN5GkI/FrosxSHT7A= @@ -267,26 +273,26 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME= golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -306,13 +312,13 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -320,26 +326,26 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= -google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/attributes/addon.go b/pkg/attributes/addon.go new file mode 100644 index 0000000..0783e5e --- /dev/null +++ b/pkg/attributes/addon.go @@ -0,0 +1,33 @@ +package attributes + +import ( + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" + "github.com/hashicorp/terraform-plugin-framework/types" + "go.clever-cloud.com/terraform-provider/pkg" +) + +type Addon struct { + ID types.String `tfsdk:"id"` + Name types.String `tfsdk:"name"` + Plan types.String `tfsdk:"plan"` + Region types.String `tfsdk:"region"` + CreationDate types.Int64 `tfsdk:"creation_date"` +} + +var addonCommon = map[string]schema.Attribute{ + "id": schema.StringAttribute{Computed: true, MarkdownDescription: "Generated unique identifier"}, + "name": schema.StringAttribute{Required: true, MarkdownDescription: "Name of the service"}, + "plan": schema.StringAttribute{Required: true, MarkdownDescription: "Database size and spec"}, + "region": schema.StringAttribute{ + Optional: true, + Computed: true, + Default: stringdefault.StaticString("par"), + MarkdownDescription: "Geographical region where the data will be stored", + }, + "creation_date": schema.Int64Attribute{Computed: true, MarkdownDescription: "Date of database creation"}, +} + +func WithAddonCommons(runtimeSpecifics map[string]schema.Attribute) map[string]schema.Attribute { + return pkg.Merge(addonCommon, runtimeSpecifics) +} diff --git a/pkg/attributes/common.go b/pkg/attributes/runtime.go similarity index 80% rename from pkg/attributes/common.go rename to pkg/attributes/runtime.go index 7584c09..0da76ce 100644 --- a/pkg/attributes/common.go +++ b/pkg/attributes/runtime.go @@ -12,6 +12,30 @@ import ( "go.clever-cloud.com/terraform-provider/pkg" ) +type Runtime struct { + ID types.String `tfsdk:"id"` + Name types.String `tfsdk:"name"` + Description types.String `tfsdk:"description"` + MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` + MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` + SmallestFlavor types.String `tfsdk:"smallest_flavor"` + BiggestFlavor types.String `tfsdk:"biggest_flavor"` + BuildFlavor types.String `tfsdk:"build_flavor"` + Region types.String `tfsdk:"region"` + StickySessions types.Bool `tfsdk:"sticky_sessions"` + RedirectHTTPS types.Bool `tfsdk:"redirect_https"` + VHost types.String `tfsdk:"vhost"` + AdditionalVHosts types.List `tfsdk:"additional_vhosts"` + DeployURL types.String `tfsdk:"deploy_url"` + Dependencies types.Set `tfsdk:"dependencies"` + Deployment *Deployment `tfsdk:"deployment"` + Hooks *Hooks `tfsdk:"hooks"` + + // Env + AppFolder types.String `tfsdk:"app_folder"` + Environment types.Map `tfsdk:"environment"` +} + // This attributes are used on several runtimes var runtimeCommon = map[string]schema.Attribute{ // client provided @@ -124,15 +148,5 @@ var runtimeCommon = map[string]schema.Attribute{ } func WithRuntimeCommons(runtimeSpecifics map[string]schema.Attribute) map[string]schema.Attribute { - m := map[string]schema.Attribute{} - - for attrName, attr := range runtimeCommon { - m[attrName] = attr - } - - for attrName, attr := range runtimeSpecifics { - m[attrName] = attr - } - - return m + return pkg.Merge(runtimeCommon, runtimeSpecifics) } diff --git a/pkg/resources/addon/schema.go b/pkg/resources/addon/schema.go index 6260f1d..cc40a4e 100644 --- a/pkg/resources/addon/schema.go +++ b/pkg/resources/addon/schema.go @@ -6,17 +6,13 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/types" + "go.clever-cloud.com/terraform-provider/pkg/attributes" ) type Addon struct { - ID types.String `tfsdk:"id"` + attributes.Addon ThirdPartyProvider types.String `tfsdk:"third_party_provider"` - Name types.String `tfsdk:"name"` - CreationDate types.Int64 `tfsdk:"creation_date"` - Plan types.String `tfsdk:"plan"` - Region types.String `tfsdk:"region"` Configurations types.Map `tfsdk:"configurations"` } @@ -27,28 +23,16 @@ func (r ResourceAddon) Schema(_ context.Context, req resource.SchemaRequest, res resp.Schema = schema.Schema{ Version: 0, MarkdownDescription: resourcePostgresqlDoc, - Attributes: map[string]schema.Attribute{ - // customer provided - "name": schema.StringAttribute{Required: true, MarkdownDescription: "Name of the addon"}, - "plan": schema.StringAttribute{Required: true, MarkdownDescription: "billing plan"}, - "region": schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString("par"), - MarkdownDescription: "Geographical region where the addon will be deployed (when relevant)", - }, + Attributes: attributes.WithAddonCommons(map[string]schema.Attribute{ "third_party_provider": schema.StringAttribute{Required: true, MarkdownDescription: "Provider ID"}, - // provider - "id": schema.StringAttribute{Computed: true, MarkdownDescription: "Generated unique identifier"}, - "creation_date": schema.Int64Attribute{Computed: true, MarkdownDescription: "Date of database creation"}, "configurations": schema.MapAttribute{ Computed: true, Sensitive: true, MarkdownDescription: "Any configuration exposed by the addon", ElementType: types.StringType, }, - }, + }), } } diff --git a/pkg/resources/docker/resource_docker_schema.go b/pkg/resources/docker/resource_docker_schema.go index f12e601..939e67c 100644 --- a/pkg/resources/docker/resource_docker_schema.go +++ b/pkg/resources/docker/resource_docker_schema.go @@ -19,29 +19,7 @@ import ( ) type Docker struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // Docker related + attributes.Runtime Dockerfile types.String `tfsdk:"dockerfile"` ContainerPort types.Int64 `tfsdk:"container_port"` ContainerPortTCP types.Int64 `tfsdk:"container_port_tcp"` diff --git a/pkg/resources/java/schema.go b/pkg/resources/java/schema.go index d0ded3c..bc0c44e 100644 --- a/pkg/resources/java/schema.go +++ b/pkg/resources/java/schema.go @@ -14,29 +14,7 @@ import ( ) type Java struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // Java related + attributes.Runtime JavaVersion types.String `tfsdk:"java_version"` } diff --git a/pkg/resources/mongodb/schema.go b/pkg/resources/mongodb/schema.go index dce7e8a..f2bdee6 100644 --- a/pkg/resources/mongodb/schema.go +++ b/pkg/resources/mongodb/schema.go @@ -6,20 +6,16 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/types" + "go.clever-cloud.com/terraform-provider/pkg/attributes" ) type MongoDB struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Plan types.String `tfsdk:"plan"` - Region types.String `tfsdk:"region"` - CreationDate types.Int64 `tfsdk:"creation_date"` - Host types.String `tfsdk:"host"` - Port types.Int64 `tfsdk:"port"` - User types.String `tfsdk:"user"` - Password types.String `tfsdk:"password"` + attributes.Addon + Host types.String `tfsdk:"host"` + Port types.Int64 `tfsdk:"port"` + User types.String `tfsdk:"user"` + Password types.String `tfsdk:"password"` } //go:embed doc.md @@ -29,25 +25,13 @@ func (r ResourceMongoDB) Schema(_ context.Context, req resource.SchemaRequest, r resp.Schema = schema.Schema{ Version: 0, MarkdownDescription: resourceMongoDBDoc, - Attributes: map[string]schema.Attribute{ + Attributes: attributes.WithAddonCommons(map[string]schema.Attribute{ // customer provided - "name": schema.StringAttribute{Required: true, MarkdownDescription: "Name of the service"}, - "plan": schema.StringAttribute{Required: true, MarkdownDescription: "Database size and spec"}, - "region": schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString("par"), - MarkdownDescription: "Geographical region where the data will be stored", - }, - - // provider - "id": schema.StringAttribute{Computed: true, MarkdownDescription: "Generated unique identifier"}, - "creation_date": schema.Int64Attribute{Computed: true, MarkdownDescription: "Date of database creation"}, - "host": schema.StringAttribute{Computed: true, MarkdownDescription: "Database host, used to connect to"}, - "port": schema.Int64Attribute{Computed: true, MarkdownDescription: "Database port"}, - "user": schema.StringAttribute{Computed: true, MarkdownDescription: "Login username"}, - "password": schema.StringAttribute{Computed: true, MarkdownDescription: "Login password"}, - }, + "host": schema.StringAttribute{Computed: true, MarkdownDescription: "Database host, used to connect to"}, + "port": schema.Int64Attribute{Computed: true, MarkdownDescription: "Database port"}, + "user": schema.StringAttribute{Computed: true, MarkdownDescription: "Login username"}, + "password": schema.StringAttribute{Computed: true, MarkdownDescription: "Login password"}, + }), } } diff --git a/pkg/resources/nodejs/nodejs_test.go b/pkg/resources/nodejs/nodejs_test.go index 6748817..2a98715 100644 --- a/pkg/resources/nodejs/nodejs_test.go +++ b/pkg/resources/nodejs/nodejs_test.go @@ -180,7 +180,7 @@ func TestAccNodejs_basic(t *testing.T) { app := appRes.Payload() // Test deployed app - t := time.NewTimer(1 * time.Minute) + t := time.NewTimer(2 * time.Minute) select { case <-healthCheck(app.Vhosts[0].Fqdn): return nil diff --git a/pkg/resources/nodejs/schema.go b/pkg/resources/nodejs/schema.go index 8f25a2b..97695b7 100644 --- a/pkg/resources/nodejs/schema.go +++ b/pkg/resources/nodejs/schema.go @@ -14,30 +14,7 @@ import ( ) type NodeJS struct { - // Common - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // Node + attributes.Runtime DevDependencies types.Bool `tfsdk:"dev_dependencies"` StartScript types.String `tfsdk:"start_script"` PackageManager types.String `tfsdk:"package_manager"` diff --git a/pkg/resources/php/schema.go b/pkg/resources/php/schema.go index 3ce31f6..58e42ea 100644 --- a/pkg/resources/php/schema.go +++ b/pkg/resources/php/schema.go @@ -14,29 +14,7 @@ import ( ) type PHP struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // PHP related + attributes.Runtime PHPVersion types.String `tfsdk:"php_version"` WebRoot types.String `tfsdk:"webroot"` RedisSessions types.Bool `tfsdk:"redis_sessions"` diff --git a/pkg/resources/postgresql/schema.go b/pkg/resources/postgresql/schema.go index 4f8bc82..690e7fa 100644 --- a/pkg/resources/postgresql/schema.go +++ b/pkg/resources/postgresql/schema.go @@ -6,21 +6,17 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/types" + "go.clever-cloud.com/terraform-provider/pkg/attributes" ) type PostgreSQL struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Plan types.String `tfsdk:"plan"` - Region types.String `tfsdk:"region"` - CreationDate types.Int64 `tfsdk:"creation_date"` - Host types.String `tfsdk:"host"` - Port types.Int64 `tfsdk:"port"` - Database types.String `tfsdk:"database"` - User types.String `tfsdk:"user"` - Password types.String `tfsdk:"password"` + attributes.Addon + Host types.String `tfsdk:"host"` + Port types.Int64 `tfsdk:"port"` + Database types.String `tfsdk:"database"` + User types.String `tfsdk:"user"` + Password types.String `tfsdk:"password"` } //go:embed doc.md @@ -30,26 +26,13 @@ func (r ResourcePostgreSQL) Schema(_ context.Context, req resource.SchemaRequest resp.Schema = schema.Schema{ Version: 0, MarkdownDescription: resourcePostgresqlDoc, - Attributes: map[string]schema.Attribute{ - // customer provided - "name": schema.StringAttribute{Required: true, MarkdownDescription: "Name of the service"}, - "plan": schema.StringAttribute{Required: true, MarkdownDescription: "Database size and spec"}, - "region": schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString("par"), - MarkdownDescription: "Geographical region where the data will be stored", - }, - - // provider - "id": schema.StringAttribute{Computed: true, MarkdownDescription: "Generated unique identifier"}, - "creation_date": schema.Int64Attribute{Computed: true, MarkdownDescription: "Date of database creation"}, - "host": schema.StringAttribute{Computed: true, MarkdownDescription: "Database host, used to connect to"}, - "port": schema.Int64Attribute{Computed: true, MarkdownDescription: "Database port"}, - "database": schema.StringAttribute{Computed: true, MarkdownDescription: "Database name on the PostgreSQL server"}, - "user": schema.StringAttribute{Computed: true, MarkdownDescription: "Login username"}, - "password": schema.StringAttribute{Computed: true, MarkdownDescription: "Login password"}, - }, + Attributes: attributes.WithAddonCommons(map[string]schema.Attribute{ + "host": schema.StringAttribute{Computed: true, MarkdownDescription: "Database host, used to connect to"}, + "port": schema.Int64Attribute{Computed: true, MarkdownDescription: "Database port"}, + "database": schema.StringAttribute{Computed: true, MarkdownDescription: "Database name on the PostgreSQL server"}, + "user": schema.StringAttribute{Computed: true, MarkdownDescription: "Login username"}, + "password": schema.StringAttribute{Computed: true, MarkdownDescription: "Login password"}, + }), } } diff --git a/pkg/resources/python/schema.go b/pkg/resources/python/schema.go index 576ab68..f7151b7 100644 --- a/pkg/resources/python/schema.go +++ b/pkg/resources/python/schema.go @@ -14,30 +14,7 @@ import ( ) type Python struct { - // Common - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // Python + attributes.Runtime PythonVersion types.String `tfsdk:"python_version"` PipRequirements types.String `tfsdk:"pip_requirements"` } diff --git a/pkg/resources/scala/schema.go b/pkg/resources/scala/schema.go index 604d62f..2115acd 100644 --- a/pkg/resources/scala/schema.go +++ b/pkg/resources/scala/schema.go @@ -7,35 +7,13 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" "go.clever-cloud.com/terraform-provider/pkg" "go.clever-cloud.com/terraform-provider/pkg/application" "go.clever-cloud.com/terraform-provider/pkg/attributes" ) type Scala struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - + attributes.Runtime // Scala related } diff --git a/pkg/resources/static/schema.go b/pkg/resources/static/schema.go index 7aabd10..8d35ca8 100644 --- a/pkg/resources/static/schema.go +++ b/pkg/resources/static/schema.go @@ -7,36 +7,14 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" "go.clever-cloud.com/terraform-provider/pkg" "go.clever-cloud.com/terraform-provider/pkg/application" "go.clever-cloud.com/terraform-provider/pkg/attributes" ) type Static struct { - ID types.String `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Description types.String `tfsdk:"description"` - MinInstanceCount types.Int64 `tfsdk:"min_instance_count"` - MaxInstanceCount types.Int64 `tfsdk:"max_instance_count"` - SmallestFlavor types.String `tfsdk:"smallest_flavor"` - BiggestFlavor types.String `tfsdk:"biggest_flavor"` - BuildFlavor types.String `tfsdk:"build_flavor"` - Region types.String `tfsdk:"region"` - StickySessions types.Bool `tfsdk:"sticky_sessions"` - RedirectHTTPS types.Bool `tfsdk:"redirect_https"` - VHost types.String `tfsdk:"vhost"` - AdditionalVHosts types.List `tfsdk:"additional_vhosts"` - DeployURL types.String `tfsdk:"deploy_url"` - Deployment *attributes.Deployment `tfsdk:"deployment"` - Hooks *attributes.Hooks `tfsdk:"hooks"` - Dependencies types.Set `tfsdk:"dependencies"` - - // Env - AppFolder types.String `tfsdk:"app_folder"` - Environment types.Map `tfsdk:"environment"` - - // Scala related + attributes.Runtime + // Static related } //go:embed doc.md