diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 693eec61..1fbd372f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -137,15 +137,21 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v9 with: - version: v2.7 + version: v2.9 args: --config=golang-ci.yaml --allow-parallel-runners --timeout=5m + continue-on-error: true - - name: Lint + - name: Linting run: make lint + continue-on-error: true - - name: Test + - name: Testing run: make test + - name: Acceptance Testing + if: ${{ github.event_name == 'pull_request' }} + run: make test-acceptance-tf + - name: Check coverage threshold shell: bash run: | diff --git a/Makefile b/Makefile index f678f099..86a2a0f2 100644 --- a/Makefile +++ b/Makefile @@ -37,12 +37,12 @@ fmt: .PHONY: test coverage test: @echo "Running tests for the terraform provider" - @cd $(ROOT_DIR)/stackit && go test ./... -count=1 -coverprofile=../coverage.out && cd $(ROOT_DIR) + @cd $(ROOT_DIR)/stackit && go test -timeout 0 ./... -count=1 -coverprofile=../coverage.out && cd $(ROOT_DIR) # Test coverage coverage: @echo ">> Creating test coverage report for the terraform provider" - @cd $(ROOT_DIR)/stackit && (go test ./... -count=1 -coverprofile=../coverage.out || true) && cd $(ROOT_DIR) + @cd $(ROOT_DIR)/stackit && (go test -timeout 0 ./... -count=1 -coverprofile=../coverage.out || true) && cd $(ROOT_DIR) @cd $(ROOT_DIR)/stackit && go tool cover -html=../coverage.out -o ../coverage.html && cd $(ROOT_DIR) test-acceptance-tf: diff --git a/cmd/cmd/build/build.go b/cmd/cmd/build/build.go index c80401fa..d381de63 100644 --- a/cmd/cmd/build/build.go +++ b/cmd/cmd/build/build.go @@ -693,7 +693,7 @@ func handleTfTagForDatasourceFile(filePath, service, resource string) error { if err != nil { return err } - if _, err := io.WriteString(tmp, resLine+"\n"); err != nil { + if _, err := tmp.WriteString(resLine + "\n"); err != nil { return err } } @@ -941,7 +941,7 @@ func getTokens(fileName string) ([]string, error) { result = append(result, tts.Names[0].String()) - //fld, fldOk := tts.Type.(*ast.Ident) + // fld, fldOk := tts.Type.(*ast.Ident) //if fldOk { // fmt.Printf("type: %+v\n", fld) //} diff --git a/cmd/cmd/buildCmd.go b/cmd/cmd/buildCmd.go index 8902132e..b9f4c835 100644 --- a/cmd/cmd/buildCmd.go +++ b/cmd/cmd/buildCmd.go @@ -2,6 +2,7 @@ package cmd import ( "github.com/spf13/cobra" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/cmd/cmd/build" ) diff --git a/cmd/cmd/getFieldsCmd.go b/cmd/cmd/getFieldsCmd.go index f24db87d..48cb379a 100644 --- a/cmd/cmd/getFieldsCmd.go +++ b/cmd/cmd/getFieldsCmd.go @@ -75,7 +75,7 @@ var getFieldsCmd = &cobra.Command{ filePath = p //// Enum check - //switch format { + // switch format { //case "json", "yaml": //default: // return fmt.Errorf("invalid --format: %s (want json|yaml)", format) @@ -121,7 +121,7 @@ func getTokens(fileName string) ([]string, error) { result = append(result, tts.Names[0].String()) - //fld, fldOk := tts.Type.(*ast.Ident) + // fld, fldOk := tts.Type.(*ast.Ident) //if fldOk { // fmt.Printf("type: %+v\n", fld) //} diff --git a/cmd/cmd/publish/architecture.go b/cmd/cmd/publish/architecture.go index f77188c3..5fffa585 100644 --- a/cmd/cmd/publish/architecture.go +++ b/cmd/cmd/publish/architecture.go @@ -142,7 +142,7 @@ func (p *Provider) CreateArchitectureFiles() error { // ] // } //} - //`, target, arch, fileName, downloadUrl, shasumsUrl, shasumsSigUrl, shasum, gpgFingerprint, gpgAsciiPub)) + // `, target, arch, fileName, downloadUrl, shasumsUrl, shasumsSigUrl, shasum, gpgFingerprint, gpgAsciiPub)) log.Printf(" - Arch file: %s", archFileName) diff --git a/cmd/cmd/publishCmd.go b/cmd/cmd/publishCmd.go index 22e3efb9..4849ba4b 100644 --- a/cmd/cmd/publishCmd.go +++ b/cmd/cmd/publishCmd.go @@ -10,6 +10,7 @@ import ( "path/filepath" "github.com/spf13/cobra" + publish2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/cmd/cmd/publish" ) diff --git a/cmd/main.go b/cmd/main.go index 1b80b034..016d9a5b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -7,6 +7,7 @@ import ( "github.com/MatusOllah/slogcolor" cc "github.com/ivanpirog/coloredcobra" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/cmd/cmd" ) diff --git a/docs/resources/postgresflexalpha_user.md b/docs/resources/postgresflexalpha_user.md index 2ebffe71..d68b920c 100644 --- a/docs/resources/postgresflexalpha_user.md +++ b/docs/resources/postgresflexalpha_user.md @@ -16,7 +16,7 @@ description: |- resource "stackitprivatepreview_postgresflexalpha_user" "example" { project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - username = "username" + name = "username" roles = ["role"] } diff --git a/docs/resources/sqlserverflexalpha_user.md b/docs/resources/sqlserverflexalpha_user.md index 8c5f8702..85d5350e 100644 --- a/docs/resources/sqlserverflexalpha_user.md +++ b/docs/resources/sqlserverflexalpha_user.md @@ -32,7 +32,7 @@ import { ### Required -- `roles` (List of String) A list containing the user roles for the instance. +- `roles` (List of String) A list containing the user roles for the instance. A list with the valid user roles can be retrieved using the List Roles endpoint. - `username` (String) The name of the user. ### Optional diff --git a/golang-ci.yaml b/golang-ci.yaml index b3f00eb7..43e1330a 100644 --- a/golang-ci.yaml +++ b/golang-ci.yaml @@ -24,6 +24,11 @@ linters: rules: main: list-mode: lax + allow: + - tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview + - github.com/hashicorp/terraform-plugin-framework + - github.com/hashicorp/terraform-plugin-log + - github.com/stackitcloud/stackit-sdk-go deny: - pkg: github.com/stretchr/testify desc: Do not use a testing framework @@ -64,12 +69,21 @@ linters: - name: early-return exclusions: generated: lax + warn-unused: true + # Excluding configuration per-path, per-linter, per-text and per-source. + rules: + # Exclude some linters from running on tests files. + - path: _test\.go + linters: + - gochecknoinits paths: - third_party$ - builtin$ - examples$ - tools/copy.go - tools/main.go + - pkg_gen$ + - cmd$ formatters: enable: - gofmt @@ -77,10 +91,12 @@ formatters: settings: goimports: local-prefixes: - - github.com/freiheit-com/nmww + - tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview exclusions: generated: lax paths: - third_party$ - builtin$ - examples$ + - pkg_gen$ + - cmd$ diff --git a/internal/testutils/testutils.go b/internal/testutils/testutils.go index c35c332c..1d51761b 100644 --- a/internal/testutils/testutils.go +++ b/internal/testutils/testutils.go @@ -113,7 +113,7 @@ func GetTestProjectServiceAccountJson(path string) string { return token } -//func GetTestProjectServiceAccountToken(path string) string { +// func GetTestProjectServiceAccountToken(path string) string { // var err error // token, tokenSet := os.LookupEnv("TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_TOKEN") // if !tokenSet || token == "" { diff --git a/main.go b/main.go index 6d7793da..ab603dd6 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "log" "github.com/hashicorp/terraform-plugin-framework/providerserver" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit" ) diff --git a/stackit/internal/conversion/conversion.go b/stackit/internal/conversion/conversion.go index cd4c3bfa..48871213 100644 --- a/stackit/internal/conversion/conversion.go +++ b/stackit/internal/conversion/conversion.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/conversion/conversion_test.go b/stackit/internal/conversion/conversion_test.go index 5e6c2445..ac5f4535 100644 --- a/stackit/internal/conversion/conversion_test.go +++ b/stackit/internal/conversion/conversion_test.go @@ -8,6 +8,7 @@ import ( "testing" "github.com/hashicorp/terraform-plugin-framework/diag" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "github.com/google/go-cmp/cmp" diff --git a/stackit/internal/features/beta.go b/stackit/internal/features/beta.go index 781ac8c0..ab74e554 100644 --- a/stackit/internal/features/beta.go +++ b/stackit/internal/features/beta.go @@ -9,6 +9,7 @@ import ( "strings" "github.com/hashicorp/terraform-plugin-framework/diag" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/features/beta_test.go b/stackit/internal/features/beta_test.go index 83fb2f99..366158f8 100644 --- a/stackit/internal/features/beta_test.go +++ b/stackit/internal/features/beta_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/hashicorp/terraform-plugin-framework/diag" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/features/experiments.go b/stackit/internal/features/experiments.go index b68399ed..2230a7b5 100644 --- a/stackit/internal/features/experiments.go +++ b/stackit/internal/features/experiments.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/features/experiments_test.go b/stackit/internal/features/experiments_test.go index 06423a4f..771a8444 100644 --- a/stackit/internal/features/experiments_test.go +++ b/stackit/internal/features/experiments_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/hashicorp/terraform-plugin-framework/diag" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/services/postgresflexalpha/database/datasource.go b/stackit/internal/services/postgresflexalpha/database/datasource.go index 4a89be17..f9e3a447 100644 --- a/stackit/internal/services/postgresflexalpha/database/datasource.go +++ b/stackit/internal/services/postgresflexalpha/database/datasource.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" postgresflexalpha2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/database/datasources_gen" diff --git a/stackit/internal/services/postgresflexalpha/database/functions_test.go b/stackit/internal/services/postgresflexalpha/database/functions_test.go index 9f0b47fd..4c921b14 100644 --- a/stackit/internal/services/postgresflexalpha/database/functions_test.go +++ b/stackit/internal/services/postgresflexalpha/database/functions_test.go @@ -6,6 +6,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stackitcloud/stackit-sdk-go/core/utils" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" ) diff --git a/stackit/internal/services/postgresflexalpha/database/mapper.go b/stackit/internal/services/postgresflexalpha/database/mapper.go index 9e38fe3f..89140267 100644 --- a/stackit/internal/services/postgresflexalpha/database/mapper.go +++ b/stackit/internal/services/postgresflexalpha/database/mapper.go @@ -5,6 +5,7 @@ import ( "strconv" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/postgresflexalpha/database/mapper_test.go b/stackit/internal/services/postgresflexalpha/database/mapper_test.go index cd979b22..16fd0ce6 100644 --- a/stackit/internal/services/postgresflexalpha/database/mapper_test.go +++ b/stackit/internal/services/postgresflexalpha/database/mapper_test.go @@ -6,6 +6,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" datasource "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/database/datasources_gen" ) diff --git a/stackit/internal/services/postgresflexalpha/database/resource.go b/stackit/internal/services/postgresflexalpha/database/resource.go index 530bb98c..8de8df92 100644 --- a/stackit/internal/services/postgresflexalpha/database/resource.go +++ b/stackit/internal/services/postgresflexalpha/database/resource.go @@ -3,7 +3,6 @@ package postgresflexalpha import ( "context" _ "embed" - "errors" "fmt" "math" "strconv" @@ -15,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/identityschema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" @@ -32,9 +32,6 @@ var ( _ resource.ResourceWithModifyPlan = &databaseResource{} _ resource.ResourceWithIdentity = &databaseResource{} - // Define errors - errDatabaseNotFound = errors.New("database not found") - // Error message constants extractErrorSummary = "extracting failed" extractErrorMessage = "Extracting identity data: %v" @@ -171,6 +168,7 @@ func (r *databaseResource) Create( req resource.CreateRequest, resp *resource.CreateResponse, ) { // nolint:gocritic // function signature required by Terraform + const funcErrorSummary = "[database CREATE] error" var model resourceModel diags := req.Plan.Get(ctx, &model) resp.Diagnostics.Append(diags...) @@ -194,7 +192,7 @@ func (r *databaseResource) Create( core.LogAndAddError( ctx, &resp.Diagnostics, - "Error creating database", + funcErrorSummary, fmt.Sprintf("Creating API payload: %v", err), ) return @@ -207,7 +205,7 @@ func (r *databaseResource) Create( instanceId, ).CreateDatabaseRequestPayload(*payload).Execute() if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating database", fmt.Sprintf("Calling API: %v", err)) + core.LogAndAddError(ctx, &resp.Diagnostics, funcErrorSummary, fmt.Sprintf("Calling API: %v", err)) return } @@ -215,7 +213,7 @@ func (r *databaseResource) Create( core.LogAndAddError( ctx, &resp.Diagnostics, - "Error creating database", + funcErrorSummary, "API didn't return database Id. A database might have been created", ) return @@ -244,7 +242,7 @@ func (r *databaseResource) Create( core.LogAndAddError( ctx, &resp.Diagnostics, - "Error creating database", + funcErrorSummary, fmt.Sprintf("Getting database details after creation: %v", err), ) return @@ -256,8 +254,8 @@ func (r *databaseResource) Create( core.LogAndAddError( ctx, &resp.Diagnostics, - "Error creating database", - fmt.Sprintf("Processing API payload: %v", err), + funcErrorSummary, + fmt.Sprintf("map resource fields: %v", err), ) return } diff --git a/stackit/internal/services/postgresflexalpha/flavor/datasource.go b/stackit/internal/services/postgresflexalpha/flavor/datasource.go index dc660dd3..52c6b779 100644 --- a/stackit/internal/services/postgresflexalpha/flavor/datasource.go +++ b/stackit/internal/services/postgresflexalpha/flavor/datasource.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" postgresflexalphaGen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/flavors/datasources_gen" @@ -16,6 +17,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/services/postgresflexalpha/flavor/functions_test.go b/stackit/internal/services/postgresflexalpha/flavor/functions_test.go index 90590716..bb7180c1 100644 --- a/stackit/internal/services/postgresflexalpha/flavor/functions_test.go +++ b/stackit/internal/services/postgresflexalpha/flavor/functions_test.go @@ -5,6 +5,7 @@ import ( "testing" "github.com/stackitcloud/stackit-sdk-go/core/utils" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" ) diff --git a/stackit/internal/services/postgresflexalpha/flavors/datasource.go b/stackit/internal/services/postgresflexalpha/flavors/datasource.go index 44483018..df8fddac 100644 --- a/stackit/internal/services/postgresflexalpha/flavors/datasource.go +++ b/stackit/internal/services/postgresflexalpha/flavors/datasource.go @@ -5,6 +5,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/postgresflexalpha/instance/datasource.go b/stackit/internal/services/postgresflexalpha/instance/datasource.go index 95f7904b..6a4296a4 100644 --- a/stackit/internal/services/postgresflexalpha/instance/datasource.go +++ b/stackit/internal/services/postgresflexalpha/instance/datasource.go @@ -6,6 +6,7 @@ import ( "net/http" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" postgresflexalpha2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/instance/datasources_gen" @@ -13,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/postgresflexalpha/instance/functions.go b/stackit/internal/services/postgresflexalpha/instance/functions.go index 93fb544d..eafbb3b5 100644 --- a/stackit/internal/services/postgresflexalpha/instance/functions.go +++ b/stackit/internal/services/postgresflexalpha/instance/functions.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/hashicorp/terraform-plugin-log/tflog" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" postgresflexalphadatasource "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/instance/datasources_gen" postgresflexalpharesource "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/instance/resources_gen" diff --git a/stackit/internal/services/postgresflexalpha/instance/functions_test.go b/stackit/internal/services/postgresflexalpha/instance/functions_test.go index 19784ad8..ae2e55e3 100644 --- a/stackit/internal/services/postgresflexalpha/instance/functions_test.go +++ b/stackit/internal/services/postgresflexalpha/instance/functions_test.go @@ -2,6 +2,7 @@ package postgresflexalpha import ( "github.com/stackitcloud/stackit-sdk-go/core/utils" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" ) diff --git a/stackit/internal/services/postgresflexalpha/instance/resource.go b/stackit/internal/services/postgresflexalpha/instance/resource.go index 3d603df0..2f9081c0 100644 --- a/stackit/internal/services/postgresflexalpha/instance/resource.go +++ b/stackit/internal/services/postgresflexalpha/instance/resource.go @@ -14,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" @@ -433,7 +434,7 @@ func (r *instanceResource) Update( return } - //if model.InstanceId.IsNull() || model.InstanceId.IsUnknown() { + // if model.InstanceId.IsNull() || model.InstanceId.IsUnknown() { // core.LogAndAddError(ctx, &resp.Diagnostics, "Error updating instance", "instanceId is null or unknown") // return //} @@ -443,7 +444,7 @@ func (r *instanceResource) Update( // return //} - //projectId := model.ProjectId.ValueString() + // projectId := model.ProjectId.ValueString() //instanceId := model.InstanceId.ValueString() projectId := identityData.ProjectID.ValueString() instanceId := identityData.InstanceID.ValueString() diff --git a/stackit/internal/services/postgresflexalpha/postgresflex_acc_test.go b/stackit/internal/services/postgresflexalpha/postgresflex_acc_test.go index 099698c2..001a27fe 100644 --- a/stackit/internal/services/postgresflexalpha/postgresflex_acc_test.go +++ b/stackit/internal/services/postgresflexalpha/postgresflex_acc_test.go @@ -4,12 +4,17 @@ import ( "context" _ "embed" "fmt" + "log" "os" "strconv" + "strings" "testing" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/stackitcloud/stackit-sdk-go/core/config" + + postgresflexalpha2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" postgresflexalpha "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/instance" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/internal/testutils" @@ -21,33 +26,40 @@ import ( const pfx = "stackitprivatepreview_postgresflexalpha" -var createdInstances []string +var testInstances []string func init() { sweeperName := fmt.Sprintf("%s_%s", pfx, "sweeper") resource.AddTestSweepers(sweeperName, &resource.Sweeper{ Name: sweeperName, F: func(region string) error { + ctx := context.Background() + apiClientConfigOptions := []config.ConfigurationOption{} + apiClient, err := postgresflexalpha2.NewAPIClient(apiClientConfigOptions...) + if err != nil { + log.Fatalln(err) + } - //client, err := sharedClientForRegion(region) - //if err != nil { - // return fmt.Errorf("Error getting client: %s", err) - //} - //conn := client.(*ExampleClient) - // - //instances, err := conn.DescribeComputeInstances() - //if err != nil { - // return fmt.Errorf("Error getting instances: %s", err) - //} - //for _, instance := range instances { - // if strings.HasPrefix(instance.Name, "test-acc") { - // err := conn.DestroyInstance(instance.ID) - // - // if err != nil { - // log.Printf("Error destroying %s during sweep: %s", instance.Name, err) - // } - // } - //} + instances, err := apiClient.ListInstancesRequest(ctx, testutils.ProjectId, testutils.Region). + Size(100). + Execute() + if err != nil { + log.Fatalln(err) + } + + for _, inst := range instances.GetInstances() { + if strings.HasPrefix(inst.GetName(), "tf-acc-") { + for _, item := range testInstances { + if inst.GetName() == item { + delErr := apiClient.DeleteInstanceRequestExecute(ctx, testutils.ProjectId, testutils.Region, inst.GetId()) + if delErr != nil { + // TODO: maybe just warn? + log.Fatalln(delErr) + } + } + } + } + } return nil }, }) @@ -96,7 +108,7 @@ func testAccPreCheck(t *testing.T) { } } -//func TestAccResourceExample_parallel(t *testing.T) { +// func TestAccResourceExample_parallel(t *testing.T) { // t.Parallel() // // exData := resData{ @@ -177,11 +189,6 @@ func getExample() resData { func TestAccInstance(t *testing.T) { exData := getExample() - resName := fmt.Sprintf( - "stackitprivatepreview_postgresflexalpha_instance.%s", - exData.TfName, - ) - updNameData := exData updNameData.Name = "name-updated" @@ -192,6 +199,7 @@ func TestAccInstance(t *testing.T) { PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", exData.TfName) + testInstances = append(testInstances, exData.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -202,8 +210,8 @@ func TestAccInstance(t *testing.T) { exData, ), Check: resource.ComposeAggregateTestCheckFunc( - resource.TestCheckResourceAttr(resName, "name", exData.Name), - resource.TestCheckResourceAttrSet(resName, "id"), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "instance", exData.TfName), "name", exData.Name), + resource.TestCheckResourceAttrSet(testutils.ResStr(pfx, "instance", exData.TfName), "id"), ), }, // Update name and verify @@ -213,7 +221,7 @@ func TestAccInstance(t *testing.T) { updNameData, ), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr(resName, "name", updNameData.Name), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "instance", exData.TfName), "name", updNameData.Name), ), }, // Update size and verify @@ -224,7 +232,7 @@ func TestAccInstance(t *testing.T) { ), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr( - resName, + testutils.ResStr(pfx, "instance", exData.TfName), "storage.size", strconv.Itoa(int(updSizeData.Size)), ), @@ -235,7 +243,7 @@ func TestAccInstance(t *testing.T) { // ResourceName: "example_resource.test", // ImportState: true, // ImportStateVerify: true, - //}, + // }, }, }) } @@ -256,6 +264,7 @@ func TestAccInstanceWithUsers(t *testing.T) { PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", data.TfName) + testInstances = append(testInstances, data.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -279,7 +288,7 @@ func TestAccInstanceWithUsers(t *testing.T) { func TestAccInstanceWithDatabases(t *testing.T) { data := getExample() - dbName := "testDb" + dbName := "testdb" userName := "testUser" data.Users = []User{ { @@ -297,25 +306,11 @@ func TestAccInstanceWithDatabases(t *testing.T) { }, } - resName := fmt.Sprintf( - "stackitprivatepreview_postgresflexalpha_instance.%s", - data.TfName, - ) - - resUserName := fmt.Sprintf( - "stackitprivatepreview_postgresflexalpha_user.%s", - userName, - ) - - resDbName := fmt.Sprintf( - "stackitprivatepreview_postgresflexalpha_database.%s", - dbName, - ) - resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", data.TfName) + testInstances = append(testInstances, data.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -326,20 +321,20 @@ func TestAccInstanceWithDatabases(t *testing.T) { data, ), Check: resource.ComposeAggregateTestCheckFunc( - resource.TestCheckResourceAttr(resName, "name", data.Name), - resource.TestCheckResourceAttrSet(resName, "id"), - resource.TestCheckResourceAttr(resUserName, "name", userName), - resource.TestCheckResourceAttrSet(resUserName, "id"), - resource.TestCheckResourceAttr(resDbName, "name", dbName), - resource.TestCheckResourceAttr(resDbName, "owner", userName), - resource.TestCheckResourceAttrSet(resDbName, "id"), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "instance", data.TfName), "name", data.Name), + resource.TestCheckResourceAttrSet(testutils.ResStr(pfx, "instance", data.TfName), "id"), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "user", userName), "name", userName), + resource.TestCheckResourceAttrSet(testutils.ResStr(pfx, "user", userName), "id"), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "database", dbName), "name", dbName), + resource.TestCheckResourceAttr(testutils.ResStr(pfx, "database", dbName), "owner", userName), + resource.TestCheckResourceAttrSet(testutils.ResStr(pfx, "database", dbName), "id"), ), }, }, }) } -//func setupMockServer() *httptest.Server { +// func setupMockServer() *httptest.Server { // mux := http.NewServeMux() // // mux.HandleFunc("/api/resources", func(w http.ResponseWriter, r *http.Request) { @@ -391,7 +386,7 @@ func TestAccInstanceWithDatabases(t *testing.T) { // return c.getFlavorsResp, nil // } -//func TestNewInstanceResource(t *testing.T) { +// func TestNewInstanceResource(t *testing.T) { // exData := resData{ // Region: "eu01", // ServiceAccountFilePath: sa_file, @@ -430,7 +425,7 @@ func TestAccInstanceWithDatabases(t *testing.T) { //} //// Instance resource data -//var instanceResource = map[string]string{ +// var instanceResource = map[string]string{ // "project_id": testutils.ProjectId, // "region": "eu01", // "name": fmt.Sprintf("tf-acc-%s", acctest.RandStringFromCharSet(7, acctest.CharSetAlphaNum)), diff --git a/stackit/internal/services/postgresflexalpha/user/datasource.go b/stackit/internal/services/postgresflexalpha/user/datasource.go index b0cf9d3b..f02838a0 100644 --- a/stackit/internal/services/postgresflexalpha/user/datasource.go +++ b/stackit/internal/services/postgresflexalpha/user/datasource.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/diag" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" postgresflexalpha "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/user/datasources_gen" @@ -16,6 +17,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/postgresflexalpha/user/mapper.go b/stackit/internal/services/postgresflexalpha/user/mapper.go index 8fb4278f..952235ca 100644 --- a/stackit/internal/services/postgresflexalpha/user/mapper.go +++ b/stackit/internal/services/postgresflexalpha/user/mapper.go @@ -6,6 +6,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" diff --git a/stackit/internal/services/postgresflexalpha/user/mapper_test.go b/stackit/internal/services/postgresflexalpha/user/mapper_test.go index 37410b19..06ba3d50 100644 --- a/stackit/internal/services/postgresflexalpha/user/mapper_test.go +++ b/stackit/internal/services/postgresflexalpha/user/mapper_test.go @@ -7,6 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" data "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/user/datasources_gen" ) diff --git a/stackit/internal/services/postgresflexalpha/user/resource.go b/stackit/internal/services/postgresflexalpha/user/resource.go index 1e50a0fe..a904ea7f 100644 --- a/stackit/internal/services/postgresflexalpha/user/resource.go +++ b/stackit/internal/services/postgresflexalpha/user/resource.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource/identityschema" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" postgresflexalpha "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/user/resources_gen" postgresflexUtils "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/utils" @@ -20,6 +21,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" @@ -527,7 +529,7 @@ func (r *userResource) Delete( ctx = core.LogResponse(ctx) // TODO: Verify deletion - //exists, err := r.getUserResource(ctx, &model, arg) + // exists, err := r.getUserResource(ctx, &model, arg) //if err != nil { // core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting user", fmt.Sprintf("Calling API: %v", err)) // return diff --git a/stackit/internal/services/postgresflexalpha/utils/util.go b/stackit/internal/services/postgresflexalpha/utils/util.go index 7d6c721a..2b6d1de8 100644 --- a/stackit/internal/services/postgresflexalpha/utils/util.go +++ b/stackit/internal/services/postgresflexalpha/utils/util.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/stackitcloud/stackit-sdk-go/core/config" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/postgresflexalpha/utils/util_test.go b/stackit/internal/services/postgresflexalpha/utils/util_test.go index 185ece19..e0f7a829 100644 --- a/stackit/internal/services/postgresflexalpha/utils/util_test.go +++ b/stackit/internal/services/postgresflexalpha/utils/util_test.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" sdkClients "github.com/stackitcloud/stackit-sdk-go/core/clients" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" diff --git a/stackit/internal/services/sqlserverflexalpha/database/datasource.go b/stackit/internal/services/sqlserverflexalpha/database/datasource.go index 176f3d35..05c8c1ec 100644 --- a/stackit/internal/services/sqlserverflexalpha/database/datasource.go +++ b/stackit/internal/services/sqlserverflexalpha/database/datasource.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexalpha/database/mapper.go b/stackit/internal/services/sqlserverflexalpha/database/mapper.go index 05376158..1a77c31e 100644 --- a/stackit/internal/services/sqlserverflexalpha/database/mapper.go +++ b/stackit/internal/services/sqlserverflexalpha/database/mapper.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/sqlserverflexalpha/database/mapper_test.go b/stackit/internal/services/sqlserverflexalpha/database/mapper_test.go index 992a3878..bde90f6a 100644 --- a/stackit/internal/services/sqlserverflexalpha/database/mapper_test.go +++ b/stackit/internal/services/sqlserverflexalpha/database/mapper_test.go @@ -6,6 +6,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" datasource "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/database/datasources_gen" ) diff --git a/stackit/internal/services/sqlserverflexalpha/database/resource.go b/stackit/internal/services/sqlserverflexalpha/database/resource.go index 0ffba164..c9ac17e2 100644 --- a/stackit/internal/services/sqlserverflexalpha/database/resource.go +++ b/stackit/internal/services/sqlserverflexalpha/database/resource.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" diff --git a/stackit/internal/services/sqlserverflexalpha/flavor/functions_test.go b/stackit/internal/services/sqlserverflexalpha/flavor/functions_test.go index 0246d866..af3b370a 100644 --- a/stackit/internal/services/sqlserverflexalpha/flavor/functions_test.go +++ b/stackit/internal/services/sqlserverflexalpha/flavor/functions_test.go @@ -5,6 +5,7 @@ import ( "testing" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" ) diff --git a/stackit/internal/services/sqlserverflexalpha/flavors/datasource.go b/stackit/internal/services/sqlserverflexalpha/flavors/datasource.go index c1d4de36..8d5e8a50 100644 --- a/stackit/internal/services/sqlserverflexalpha/flavors/datasource.go +++ b/stackit/internal/services/sqlserverflexalpha/flavors/datasource.go @@ -5,6 +5,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexalpha/instance/datasource.go b/stackit/internal/services/sqlserverflexalpha/instance/datasource.go index 0d58140c..ea9d9064 100644 --- a/stackit/internal/services/sqlserverflexalpha/instance/datasource.go +++ b/stackit/internal/services/sqlserverflexalpha/instance/datasource.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" sqlserverflexalpha "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance/datasources_gen" sqlserverflexalpha2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance/resources_gen" @@ -18,6 +19,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) @@ -123,7 +125,7 @@ func (r *instanceDataSource) Read( ctx = core.LogResponse(ctx) - //var storage = &storageModel{} + // var storage = &storageModel{} //if !model.Storage.IsNull() && !model.Storage.IsUnknown() { // diags = model.Storage.As(ctx, storage, basetypes.ObjectAsOptions{}) // resp.Diagnostics.Append(diags...) @@ -151,7 +153,7 @@ func (r *instanceDataSource) Read( //} err = mapFields(ctx, instanceResp, &model, resp.Diagnostics) - //err = mapFields(ctx, instanceResp, &model, storage, encryption, network, region) + // err = mapFields(ctx, instanceResp, &model, storage, encryption, network, region) if err != nil { core.LogAndAddError( ctx, diff --git a/stackit/internal/services/sqlserverflexalpha/instance/functions.go b/stackit/internal/services/sqlserverflexalpha/instance/functions.go index 77effc6c..629c43ea 100644 --- a/stackit/internal/services/sqlserverflexalpha/instance/functions.go +++ b/stackit/internal/services/sqlserverflexalpha/instance/functions.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" sqlserverflexResGen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance/resources_gen" diff --git a/stackit/internal/services/sqlserverflexalpha/instance/resource.go b/stackit/internal/services/sqlserverflexalpha/instance/resource.go index 76c73639..4e4dd4ca 100644 --- a/stackit/internal/services/sqlserverflexalpha/instance/resource.go +++ b/stackit/internal/services/sqlserverflexalpha/instance/resource.go @@ -11,6 +11,7 @@ import ( "time" "github.com/hashicorp/terraform-plugin-framework/resource/identityschema" + sqlserverflexalpha2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance/resources_gen" sqlserverflexUtils "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/utils" @@ -18,6 +19,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexalpha/instance/resource_test.go b/stackit/internal/services/sqlserverflexalpha/instance/resource_test.go index 175711ff..bc9f6d3a 100644 --- a/stackit/internal/services/sqlserverflexalpha/instance/resource_test.go +++ b/stackit/internal/services/sqlserverflexalpha/instance/resource_test.go @@ -13,7 +13,7 @@ package sqlserverflexalpha // return c.listFlavorsResp, nil // } -//func TestMapFields(t *testing.T) { +// func TestMapFields(t *testing.T) { // t.Skip("Skipping - needs refactoring") // const testRegion = "region" // tests := []struct { diff --git a/stackit/internal/services/sqlserverflexalpha/sqlserverflex_acc_test.go b/stackit/internal/services/sqlserverflexalpha/sqlserverflex_acc_test.go index 6c2915ea..974e724c 100644 --- a/stackit/internal/services/sqlserverflexalpha/sqlserverflex_acc_test.go +++ b/stackit/internal/services/sqlserverflexalpha/sqlserverflex_acc_test.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + sqlserverflexalpha "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/internal/testutils" @@ -166,7 +167,7 @@ func TestAccInstance(t *testing.T) { // ResourceName: "example_resource.test", // ImportState: true, // ImportStateVerify: true, - //}, + // }, }, }) } diff --git a/stackit/internal/services/sqlserverflexalpha/user/datasource.go b/stackit/internal/services/sqlserverflexalpha/user/datasource.go index d76e27a4..95c517ce 100644 --- a/stackit/internal/services/sqlserverflexalpha/user/datasource.go +++ b/stackit/internal/services/sqlserverflexalpha/user/datasource.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexalpha/user/mapper.go b/stackit/internal/services/sqlserverflexalpha/user/mapper.go index 0b7baa84..398011be 100644 --- a/stackit/internal/services/sqlserverflexalpha/user/mapper.go +++ b/stackit/internal/services/sqlserverflexalpha/user/mapper.go @@ -6,6 +6,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexalpha/user/mapper_test.go b/stackit/internal/services/sqlserverflexalpha/user/mapper_test.go index e450b581..46c8418d 100644 --- a/stackit/internal/services/sqlserverflexalpha/user/mapper_test.go +++ b/stackit/internal/services/sqlserverflexalpha/user/mapper_test.go @@ -7,6 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" ) diff --git a/stackit/internal/services/sqlserverflexalpha/user/resource.go b/stackit/internal/services/sqlserverflexalpha/user/resource.go index 52dee432..64fefde3 100644 --- a/stackit/internal/services/sqlserverflexalpha/user/resource.go +++ b/stackit/internal/services/sqlserverflexalpha/user/resource.go @@ -10,6 +10,7 @@ import ( "strings" "github.com/hashicorp/terraform-plugin-framework/resource/identityschema" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" sqlserverflexalphagen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/user/resources_gen" sqlserverflexalphaUtils "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/utils" @@ -20,6 +21,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" @@ -368,7 +370,7 @@ func (r *userResource) Delete( // Delete existing record set _, err := sqlserverflexalphaWait.DeleteUserWaitHandler(ctx, r.client, projectId, region, instanceId, userId). WaitWithContext(ctx) - //err := r.client.DeleteUserRequest(ctx, arg.projectId, arg.region, arg.instanceId, userId).Execute() + // err := r.client.DeleteUserRequest(ctx, arg.projectId, arg.region, arg.instanceId, userId).Execute() if err != nil { core.LogAndAddError(ctx, &resp.Diagnostics, "User Delete Error", fmt.Sprintf("Calling API: %v", err)) return diff --git a/stackit/internal/services/sqlserverflexalpha/utils/util.go b/stackit/internal/services/sqlserverflexalpha/utils/util.go index db031162..7fbf0901 100644 --- a/stackit/internal/services/sqlserverflexalpha/utils/util.go +++ b/stackit/internal/services/sqlserverflexalpha/utils/util.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/sqlserverflexalpha/utils/util_test.go b/stackit/internal/services/sqlserverflexalpha/utils/util_test.go index 7afd6b1d..91f90030 100644 --- a/stackit/internal/services/sqlserverflexalpha/utils/util_test.go +++ b/stackit/internal/services/sqlserverflexalpha/utils/util_test.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" sdkClients "github.com/stackitcloud/stackit-sdk-go/core/clients" "github.com/stackitcloud/stackit-sdk-go/core/config" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexbeta/database/datasource.go b/stackit/internal/services/sqlserverflexbeta/database/datasource.go index 66d5ad0d..401df291 100644 --- a/stackit/internal/services/sqlserverflexbeta/database/datasource.go +++ b/stackit/internal/services/sqlserverflexbeta/database/datasource.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" diff --git a/stackit/internal/services/sqlserverflexbeta/database/mapper.go b/stackit/internal/services/sqlserverflexbeta/database/mapper.go index 7d82039a..a418dadb 100644 --- a/stackit/internal/services/sqlserverflexbeta/database/mapper.go +++ b/stackit/internal/services/sqlserverflexbeta/database/mapper.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/sqlserverflexbeta/database/mapper_test.go b/stackit/internal/services/sqlserverflexbeta/database/mapper_test.go index 04125a7b..ef1dbbbd 100644 --- a/stackit/internal/services/sqlserverflexbeta/database/mapper_test.go +++ b/stackit/internal/services/sqlserverflexbeta/database/mapper_test.go @@ -6,6 +6,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" datasource "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/database/datasources_gen" ) diff --git a/stackit/internal/services/sqlserverflexbeta/database/resource.go b/stackit/internal/services/sqlserverflexbeta/database/resource.go index 7c191e42..fd970722 100644 --- a/stackit/internal/services/sqlserverflexbeta/database/resource.go +++ b/stackit/internal/services/sqlserverflexbeta/database/resource.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" wait "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/wait/sqlserverflexbeta" @@ -247,7 +248,7 @@ func (r *databaseResource) Create(ctx context.Context, req resource.CreateReques return } - // TODO: is this neccessary to wait for the database-> API say 200 ? + // TODO: is this necessary to wait for the database-> API say 200 ? waitResp, err := wait.CreateDatabaseWaitHandler( ctx, r.client, diff --git a/stackit/internal/services/sqlserverflexbeta/flavor/datasource.go b/stackit/internal/services/sqlserverflexbeta/flavor/datasource.go index 59f3982c..06e055f2 100644 --- a/stackit/internal/services/sqlserverflexbeta/flavor/datasource.go +++ b/stackit/internal/services/sqlserverflexbeta/flavor/datasource.go @@ -254,7 +254,7 @@ func (r *flavorDataSource) Schema(ctx context.Context, _ datasource.SchemaReques // }, // }, // }, - //}, + // }, } } diff --git a/stackit/internal/services/sqlserverflexbeta/flavor/functions_test.go b/stackit/internal/services/sqlserverflexbeta/flavor/functions_test.go index 974f1fa4..fb666253 100644 --- a/stackit/internal/services/sqlserverflexbeta/flavor/functions_test.go +++ b/stackit/internal/services/sqlserverflexbeta/flavor/functions_test.go @@ -5,6 +5,7 @@ import ( "testing" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" ) diff --git a/stackit/internal/services/sqlserverflexbeta/flavors/datasource.go b/stackit/internal/services/sqlserverflexbeta/flavors/datasource.go index b401e4ff..b6be1dd4 100644 --- a/stackit/internal/services/sqlserverflexbeta/flavors/datasource.go +++ b/stackit/internal/services/sqlserverflexbeta/flavors/datasource.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" @@ -111,7 +112,7 @@ func (d *flavorsDataSource) Read(ctx context.Context, req datasource.ReadRequest projectId := data.ProjectId.ValueString() region := d.providerData.GetRegionWithOverride(data.Region) // TODO: implement right identifier for flavors - flavorsId := data.FlavorsModel.Flavors + flavorsId := data.Flavors ctx = tflog.SetField(ctx, "project_id", projectId) ctx = tflog.SetField(ctx, "region", region) diff --git a/stackit/internal/services/sqlserverflexbeta/instance/datasource.go b/stackit/internal/services/sqlserverflexbeta/instance/datasource.go index 85834b26..2830ac62 100644 --- a/stackit/internal/services/sqlserverflexbeta/instance/datasource.go +++ b/stackit/internal/services/sqlserverflexbeta/instance/datasource.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" diff --git a/stackit/internal/services/sqlserverflexbeta/instance/functions.go b/stackit/internal/services/sqlserverflexbeta/instance/functions.go index ee4d30b4..6dc96ede 100644 --- a/stackit/internal/services/sqlserverflexbeta/instance/functions.go +++ b/stackit/internal/services/sqlserverflexbeta/instance/functions.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" sqlserverflexbetaDataGen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/instance/datasources_gen" diff --git a/stackit/internal/services/sqlserverflexbeta/instance/resource.go b/stackit/internal/services/sqlserverflexbeta/instance/resource.go index 6abcbbd3..c04c1fd3 100644 --- a/stackit/internal/services/sqlserverflexbeta/instance/resource.go +++ b/stackit/internal/services/sqlserverflexbeta/instance/resource.go @@ -15,6 +15,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" wait "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/wait/sqlserverflexbeta" diff --git a/stackit/internal/services/sqlserverflexbeta/sqlserverflex_acc_test.go b/stackit/internal/services/sqlserverflexbeta/sqlserverflex_acc_test.go index 4c63267d..84083882 100644 --- a/stackit/internal/services/sqlserverflexbeta/sqlserverflex_acc_test.go +++ b/stackit/internal/services/sqlserverflexbeta/sqlserverflex_acc_test.go @@ -12,11 +12,12 @@ import ( "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/internal/testutils" sqlserverflexbeta2 "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" sqlserverflexbeta "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/instance" + // The fwresource import alias is so there is no collision // with the more typical acceptance testing import: // "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -25,6 +26,8 @@ import ( const providerPrefix = "stackitprivatepreview_sqlserverflexbeta" +var testInstances []string + func init() { sweeperName := fmt.Sprintf("%s_%s", providerPrefix, "sweeper") @@ -38,7 +41,7 @@ func init() { log.Fatalln(err) } - instances, err := apiClient.ListInstancesRequest(ctx, testutils.ProjectId, testutils.Region). + instances, err := apiClient.ListInstancesRequest(ctx, testutils.ProjectId, region). Size(100). Execute() if err != nil { @@ -47,9 +50,14 @@ func init() { for _, inst := range instances.GetInstances() { if strings.HasPrefix(inst.GetName(), "tf-acc-") { - delErr := apiClient.DeleteInstanceRequestExecute(ctx, testutils.ProjectId, testutils.Region, inst.GetId()) - if delErr != nil { - log.Fatalln(delErr) + for _, item := range testInstances { + if inst.GetName() == item { + delErr := apiClient.DeleteInstanceRequestExecute(ctx, testutils.ProjectId, region, inst.GetId()) + if delErr != nil { + // TODO: maybe just warn? + log.Fatalln(delErr) + } + } } } } @@ -167,6 +175,7 @@ func TestAccInstance(t *testing.T) { PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", exData.TfName) + testInstances = append(testInstances, exData.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -179,6 +188,7 @@ func TestAccInstance(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( resource.TestCheckResourceAttr(resName("instance", exData.TfName), "name", exData.Name), resource.TestCheckResourceAttrSet(resName("instance", exData.TfName), "id"), + // TODO: check all fields ), }, // Update name and verify @@ -199,7 +209,7 @@ func TestAccInstance(t *testing.T) { ), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr( - resName("instance", exData.TfName), + testutils.ResStr(providerPrefix, "instance", exData.TfName), "storage.size", strconv.Itoa(int(updSizeData.Size)), ), @@ -210,10 +220,10 @@ func TestAccInstance(t *testing.T) { }, //// Import test //{ - // ResourceName: "example_resource.test", + // ResourceName: resName("instance", exData.TfName), // ImportState: true, // ImportStateVerify: true, - //}, + // }, }, }) } @@ -249,6 +259,7 @@ func TestAccInstanceNoEncryption(t *testing.T) { PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", data.TfName) + testInstances = append(testInstances, data.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -274,19 +285,19 @@ func TestAccInstanceNoEncryption(t *testing.T) { resource.TestCheckNoResourceAttr(resName("instance", data.TfName), "encryption"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_id"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_version"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_ring_id"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.service_account"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.access_scope"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.access_scope"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.acl"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.instance_address"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.instance_address"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.router_address"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.class"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.class"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.size"), // check instance values are correct @@ -297,9 +308,9 @@ func TestAccInstanceNoEncryption(t *testing.T) { resource.TestCheckResourceAttrSet(resName("user", userName), "username"), // resource.TestCheckResourceAttrSet(resName("user", userName), "roles"), - func(s *terraform.State) error { - return nil - }, + //func(s *terraform.State) error { + // return nil + //}, // check user values are correct resource.TestCheckResourceAttr(resName("user", userName), "username", userName), @@ -351,6 +362,7 @@ func TestAccInstanceEncryption(t *testing.T) { PreCheck: func() { testAccPreCheck(t) t.Logf(" ... working on instance %s", data.TfName) + testInstances = append(testInstances, data.TfName) }, ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories, Steps: []resource.TestStep{ @@ -374,19 +386,19 @@ func TestAccInstanceEncryption(t *testing.T) { resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "status"), resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "version"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_id"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_version"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.kek_key_ring_id"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "encryption.service_account"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.access_scope"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.access_scope"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.acl"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.instance_address"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.instance_address"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "network.router_address"), - //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.class"), + // resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.class"), //resource.TestCheckResourceAttrSet(resName("instance", data.TfName), "storage.size"), // check instance values are correct @@ -396,9 +408,9 @@ func TestAccInstanceEncryption(t *testing.T) { resource.TestCheckResourceAttrSet(resName("user", userName), "id"), resource.TestCheckResourceAttrSet(resName("user", userName), "username"), - func(s *terraform.State) error { - return nil - }, + //func(s *terraform.State) error { + // return nil + //}, // check user values are correct resource.TestCheckResourceAttr(resName("user", userName), "username", userName), diff --git a/stackit/internal/services/sqlserverflexbeta/user/datasource.go b/stackit/internal/services/sqlserverflexbeta/user/datasource.go index e15ad28f..8457972a 100644 --- a/stackit/internal/services/sqlserverflexbeta/user/datasource.go +++ b/stackit/internal/services/sqlserverflexbeta/user/datasource.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" sqlserverflexUtils "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/utils" diff --git a/stackit/internal/services/sqlserverflexbeta/user/mapper.go b/stackit/internal/services/sqlserverflexbeta/user/mapper.go index 59c915bb..9115906f 100644 --- a/stackit/internal/services/sqlserverflexbeta/user/mapper.go +++ b/stackit/internal/services/sqlserverflexbeta/user/mapper.go @@ -6,6 +6,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/services/sqlserverflexbeta/user/mapper_test.go b/stackit/internal/services/sqlserverflexbeta/user/mapper_test.go index 7b23805c..1fc1f36e 100644 --- a/stackit/internal/services/sqlserverflexbeta/user/mapper_test.go +++ b/stackit/internal/services/sqlserverflexbeta/user/mapper_test.go @@ -7,6 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" ) diff --git a/stackit/internal/services/sqlserverflexbeta/user/resource.go b/stackit/internal/services/sqlserverflexbeta/user/resource.go index a31c380b..27b198e6 100644 --- a/stackit/internal/services/sqlserverflexbeta/user/resource.go +++ b/stackit/internal/services/sqlserverflexbeta/user/resource.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" sqlserverflexbetagen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/user/resources_gen" @@ -432,7 +433,7 @@ func (r *userResource) Delete( // Delete existing record set _, err = sqlserverflexbetaWait.DeleteUserWaitHandler(ctx, r.client, projectId, region, instanceId, userId). WaitWithContext(ctx) - //err := r.client.DeleteUserRequest(ctx, arg.projectId, arg.region, arg.instanceId, userId).Execute() + // err := r.client.DeleteUserRequest(ctx, arg.projectId, arg.region, arg.instanceId, userId).Execute() if err != nil { core.LogAndAddError(ctx, &resp.Diagnostics, "User Delete Error", fmt.Sprintf("Calling API: %v", err)) return diff --git a/stackit/internal/services/sqlserverflexbeta/utils/util.go b/stackit/internal/services/sqlserverflexbeta/utils/util.go index df638d8c..d8ba984b 100644 --- a/stackit/internal/services/sqlserverflexbeta/utils/util.go +++ b/stackit/internal/services/sqlserverflexbeta/utils/util.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/services/sqlserverflexbeta/utils/util_test.go b/stackit/internal/services/sqlserverflexbeta/utils/util_test.go index 08ac1974..92fb1ae9 100644 --- a/stackit/internal/services/sqlserverflexbeta/utils/util_test.go +++ b/stackit/internal/services/sqlserverflexbeta/utils/util_test.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" sdkClients "github.com/stackitcloud/stackit-sdk-go/core/clients" "github.com/stackitcloud/stackit-sdk-go/core/config" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" diff --git a/stackit/internal/utils/attributes.go b/stackit/internal/utils/attributes.go index 6e3ec386..26d228c3 100644 --- a/stackit/internal/utils/attributes.go +++ b/stackit/internal/utils/attributes.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/utils/regions.go b/stackit/internal/utils/regions.go index 5c06ca1b..70f79620 100644 --- a/stackit/internal/utils/regions.go +++ b/stackit/internal/utils/regions.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/utils/utils.go b/stackit/internal/utils/utils.go index fbf5cb6e..8ca4984d 100644 --- a/stackit/internal/utils/utils.go +++ b/stackit/internal/utils/utils.go @@ -20,6 +20,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/utils" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" ) diff --git a/stackit/internal/validate/validate.go b/stackit/internal/validate/validate.go index 07d137ae..d118ac52 100644 --- a/stackit/internal/validate/validate.go +++ b/stackit/internal/validate/validate.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/teambition/rrule-go" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/utils" ) diff --git a/stackit/internal/wait/postgresflexalpha/wait.go b/stackit/internal/wait/postgresflexalpha/wait.go index 8c8b80b3..330932f2 100644 --- a/stackit/internal/wait/postgresflexalpha/wait.go +++ b/stackit/internal/wait/postgresflexalpha/wait.go @@ -9,6 +9,7 @@ import ( "time" "github.com/hashicorp/terraform-plugin-log/tflog" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" @@ -106,7 +107,7 @@ func CreateInstanceWaitHandler( ), ) if extendedTimeout < 3 { - maxWait = maxWait + time.Minute*5 + maxWait += time.Minute * 5 extendedTimeout = extendedTimeout + 1 if *s.Network.AccessScope == "SNA" { ready := true @@ -162,6 +163,7 @@ func CreateInstanceWaitHandler( if !ok { return false, nil, err } + // TODO: refactor and cooperate with api guys to mitigate if oapiErr.StatusCode < 500 { return true, instanceGetResponse, fmt.Errorf( "users request after instance creation returned %d status code", @@ -234,10 +236,16 @@ func GetUserByIdWaitHandler( if !ok { return false, nil, fmt.Errorf("could not convert error to oapierror.GenericOpenAPIError") } - if oapiErr.StatusCode != http.StatusNotFound { + switch oapiErr.StatusCode { + case http.StatusBadGateway, http.StatusGatewayTimeout, http.StatusServiceUnavailable: + case http.StatusNotFound: + tflog.Warn(ctx, "api responded with status", map[string]interface{}{ + "status": oapiErr.StatusCode, + }) + return false, nil, nil + default: return false, nil, err } - return false, nil, nil } return true, s, nil }, @@ -262,10 +270,16 @@ func GetDatabaseByIdWaitHandler( if !ok { return false, nil, fmt.Errorf("could not convert error to oapierror.GenericOpenAPIError") } - if oapiErr.StatusCode != http.StatusNotFound { + switch oapiErr.StatusCode { + case http.StatusBadGateway, http.StatusGatewayTimeout, http.StatusServiceUnavailable: + case http.StatusNotFound: + tflog.Warn(ctx, "api responded with status", map[string]interface{}{ + "status": oapiErr.StatusCode, + }) + return false, nil, nil + default: return false, nil, err } - return false, nil, nil } return true, s, nil }, diff --git a/stackit/internal/wait/postgresflexalpha/wait_test.go b/stackit/internal/wait/postgresflexalpha/wait_test.go index e9583d14..57d36175 100644 --- a/stackit/internal/wait/postgresflexalpha/wait_test.go +++ b/stackit/internal/wait/postgresflexalpha/wait_test.go @@ -10,6 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/utils" + postgresflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" ) diff --git a/stackit/internal/wait/sqlserverflexalpha/wait.go b/stackit/internal/wait/sqlserverflexalpha/wait.go index 542b06cb..fd9a1a4b 100644 --- a/stackit/internal/wait/sqlserverflexalpha/wait.go +++ b/stackit/internal/wait/sqlserverflexalpha/wait.go @@ -13,6 +13,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/wait" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" ) @@ -42,6 +43,7 @@ func CreateInstanceWaitHandler(ctx context.Context, a APIClientInstanceInterface handler := wait.New(func() (waitFinished bool, response *sqlserverflex.GetInstanceResponse, err error) { s, err := a.GetInstanceRequestExecute(ctx, projectId, region, instanceId) if err != nil { + // TODO: catch 502, 503 and 504 return false, nil, err } if s == nil || s.Id == nil || *s.Id != instanceId || s.Status == nil { diff --git a/stackit/internal/wait/sqlserverflexalpha/wait_test.go b/stackit/internal/wait/sqlserverflexalpha/wait_test.go index 7c0e52a9..85cd8318 100644 --- a/stackit/internal/wait/sqlserverflexalpha/wait_test.go +++ b/stackit/internal/wait/sqlserverflexalpha/wait_test.go @@ -10,6 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/utils" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" ) diff --git a/stackit/internal/wait/sqlserverflexbeta/wait.go b/stackit/internal/wait/sqlserverflexbeta/wait.go index 9eb6657b..cce33dd7 100644 --- a/stackit/internal/wait/sqlserverflexbeta/wait.go +++ b/stackit/internal/wait/sqlserverflexbeta/wait.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/wait" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" ) diff --git a/stackit/internal/wait/sqlserverflexbeta/wait_test.go b/stackit/internal/wait/sqlserverflexbeta/wait_test.go index 74579904..8d2297e2 100644 --- a/stackit/internal/wait/sqlserverflexbeta/wait_test.go +++ b/stackit/internal/wait/sqlserverflexbeta/wait_test.go @@ -8,6 +8,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/core/utils" + sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexbeta" ) @@ -22,37 +23,37 @@ type apiClientInstanceMocked struct { type ListUsersRequestRequest struct{} -func (l ListUsersRequestRequest) Page(page int64) sqlserverflex.ApiListUsersRequestRequest { +func (l ListUsersRequestRequest) Page(_ int64) sqlserverflex.ApiListUsersRequestRequest { return l } -func (l ListUsersRequestRequest) Size(size int64) sqlserverflex.ApiListUsersRequestRequest { +func (l ListUsersRequestRequest) Size(_ int64) sqlserverflex.ApiListUsersRequestRequest { return l } -func (l ListUsersRequestRequest) Sort(sort sqlserverflex.UserSort) sqlserverflex.ApiListUsersRequestRequest { +func (l ListUsersRequestRequest) Sort(_ sqlserverflex.UserSort) sqlserverflex.ApiListUsersRequestRequest { return l } func (l ListUsersRequestRequest) Execute() (*sqlserverflex.ListUserResponse, error) { - //TODO implement me + // TODO implement me panic("implement me") } func (a *apiClientInstanceMocked) ListUsersRequest( - ctx context.Context, - projectId string, - region string, - instanceId string, + _ context.Context, + _ string, + _ string, + _ string, ) sqlserverflex.ApiListUsersRequestRequest { return ListUsersRequestRequest{} } func (a *apiClientInstanceMocked) ListRolesRequestExecute( - ctx context.Context, - projectId string, - region string, - instanceId string, + _ context.Context, + _ string, + _ string, + _ string, ) (*sqlserverflex.ListRolesResponse, error) { return &sqlserverflex.ListRolesResponse{ Roles: &[]string{}, @@ -60,10 +61,10 @@ func (a *apiClientInstanceMocked) ListRolesRequestExecute( } func (a *apiClientInstanceMocked) ListUsersRequestExecute( - ctx context.Context, - projectId string, - region string, - instanceId string, + _ context.Context, + _ string, + _ string, + _ string, ) (*sqlserverflex.ListUserResponse, error) { return &sqlserverflex.ListUserResponse{ Pagination: nil, @@ -73,20 +74,20 @@ func (a *apiClientInstanceMocked) ListUsersRequestExecute( func (a *apiClientInstanceMocked) GetDatabaseRequestExecute( _ context.Context, - projectId string, - region string, - instanceId string, - databaseName string, + _ string, + _ string, + _ string, + _ string, ) (*sqlserverflex.GetDatabaseResponse, error) { return nil, nil } func (a *apiClientInstanceMocked) GetUserRequestExecute( - ctx context.Context, - projectId string, - region string, - instanceId string, - userId int64, + _ context.Context, + _ string, + _ string, + _ string, + _ int64, ) (*sqlserverflex.GetUserResponse, error) { return nil, nil } @@ -114,7 +115,7 @@ func (a *apiClientInstanceMocked) GetInstanceRequestExecute( }, nil } func TestCreateInstanceWaitHandler(t *testing.T) { - //t.Skip("skipping - needs refactoring") + // t.Skip("skipping - needs refactoring") tests := []struct { desc string instanceGetFails bool diff --git a/stackit/provider.go b/stackit/provider.go index ce96cd47..b90d7375 100644 --- a/stackit/provider.go +++ b/stackit/provider.go @@ -19,6 +19,7 @@ import ( "github.com/hashicorp/terraform-plugin-log/tflog" sdkauth "github.com/stackitcloud/stackit-sdk-go/core/auth" "github.com/stackitcloud/stackit-sdk-go/core/config" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/core" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/features" diff --git a/stackit/provider_acc_test.go b/stackit/provider_acc_test.go index 208c5b25..0e92fa5a 100644 --- a/stackit/provider_acc_test.go +++ b/stackit/provider_acc_test.go @@ -10,6 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/joho/godotenv" + "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/internal/testutils" "github.com/hashicorp/terraform-plugin-testing/config"