From d71180fb6d624fb4927a59a56adafac0e859a1e0 Mon Sep 17 00:00:00 2001 From: Agustin Bettati Date: Wed, 29 Nov 2023 11:39:53 +0100 Subject: [PATCH] refactor: adjust project_api_key to new file structure (#1676) * refactor: adjust project_api_key to new file structure * adjust error message for org_id data source leaving new constant for setting attribute errors --- .github/workflows/acceptance-tests.yml | 3 +-- .github/workflows/migration-tests.yml | 3 +-- internal/common/constant/error_message.go | 5 +++++ internal/provider/provider_sdk2.go | 7 ++++--- .../service/projectapikey}/data_source_project_api_key.go | 2 +- .../projectapikey}/data_source_project_api_keys.go | 2 +- .../service/projectapikey}/resource_project_api_key.go | 2 +- .../resource_project_api_key_migration_test.go | 2 +- .../projectapikey}/resource_project_api_key_test.go | 2 +- mongodbatlas/data_source_org_id.go | 8 +++----- 10 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 internal/common/constant/error_message.go rename {mongodbatlas => internal/service/projectapikey}/data_source_project_api_key.go (99%) rename {mongodbatlas => internal/service/projectapikey}/data_source_project_api_keys.go (99%) rename {mongodbatlas => internal/service/projectapikey}/resource_project_api_key.go (99%) rename {mongodbatlas => internal/service/projectapikey}/resource_project_api_key_migration_test.go (98%) rename {mongodbatlas => internal/service/projectapikey}/resource_project_api_key_test.go (99%) diff --git a/.github/workflows/acceptance-tests.yml b/.github/workflows/acceptance-tests.yml index 4a8eef3ea4..ee91c92131 100644 --- a/.github/workflows/acceptance-tests.yml +++ b/.github/workflows/acceptance-tests.yml @@ -81,6 +81,7 @@ jobs: - 'internal/service/alertconfiguration/*.go' - 'internal/service/atlasuser/*.go' - 'internal/service/databaseuser/*.go' + - 'internal/service/projectapikey/*.go' - 'mongodbatlas/data_source_accesslist_api_key*.go' - 'mongodbatlas/data_source_api_key*.go' - 'mongodbatlas/data_source_cloud_provider_access_setup*.go' @@ -91,7 +92,6 @@ jobs: - 'mongodbatlas/data_source_org_id*.go' - 'mongodbatlas/data_source_org_invitation*.go' - 'mongodbatlas/data_source_organization*.go' - - 'mongodbatlas/data_source_project_api_key*.go' - 'mongodbatlas/data_source_team*.go' - 'mongodbatlas/data_source_third_party_integration*.go' - 'mongodbatlas/resource_api_key*.go' @@ -102,7 +102,6 @@ jobs: - 'mongodbatlas/resource_maintenance_window*.go' - 'mongodbatlas/resource_org_invitation*.go' - 'mongodbatlas/resource_organization*.go' - - 'mongodbatlas/resource_project_api_key*.go' - 'mongodbatlas/resource_team*.go' - 'mongodbatlas/resource_third_party_integration*.go' event_trigger: diff --git a/.github/workflows/migration-tests.yml b/.github/workflows/migration-tests.yml index 48cb29ec1e..4711debd36 100644 --- a/.github/workflows/migration-tests.yml +++ b/.github/workflows/migration-tests.yml @@ -36,8 +36,7 @@ jobs: - 'internal/service/alertconfiguration/*.go' - 'internal/service/atlasuser/*.go' - 'internal/service/databaseuser/*.go' - - 'mongodbatlas/data_source_project_api_key*.go' - - 'mongodbatlas/resource_project_api_key*.go' + - 'internal/service/projectapikey/*.go' backup_online_archive: - 'mongodbatlas/**online_archive**.go' advanced_cluster: diff --git a/internal/common/constant/error_message.go b/internal/common/constant/error_message.go new file mode 100644 index 0000000000..546b001aae --- /dev/null +++ b/internal/common/constant/error_message.go @@ -0,0 +1,5 @@ +package constant + +const ( + ErrorSettingAttribute = "error setting `%s`: %s" +) diff --git a/internal/provider/provider_sdk2.go b/internal/provider/provider_sdk2.go index ebbdebdeba..33d6502738 100644 --- a/internal/provider/provider_sdk2.go +++ b/internal/provider/provider_sdk2.go @@ -15,6 +15,7 @@ import ( "github.com/mongodb/terraform-provider-mongodbatlas/internal/config" "github.com/mongodb/terraform-provider-mongodbatlas/internal/service/advancedcluster" "github.com/mongodb/terraform-provider-mongodbatlas/internal/service/cluster" + "github.com/mongodb/terraform-provider-mongodbatlas/internal/service/projectapikey" "github.com/mongodb/terraform-provider-mongodbatlas/mongodbatlas" "github.com/mwielbut/pointy" ) @@ -108,8 +109,8 @@ func getDataSourcesMap() map[string]*schema.Resource { "mongodbatlas_api_keys": mongodbatlas.DataSourceAPIKeys(), "mongodbatlas_access_list_api_key": mongodbatlas.DataSourceAccessListAPIKey(), "mongodbatlas_access_list_api_keys": mongodbatlas.DataSourceAccessListAPIKeys(), - "mongodbatlas_project_api_key": mongodbatlas.DataSourceProjectAPIKey(), - "mongodbatlas_project_api_keys": mongodbatlas.DataSourceProjectAPIKeys(), + "mongodbatlas_project_api_key": projectapikey.DataSourceProjectAPIKey(), + "mongodbatlas_project_api_keys": projectapikey.DataSourceProjectAPIKeys(), "mongodbatlas_roles_org_id": mongodbatlas.DataSourceOrgID(), "mongodbatlas_cluster": cluster.DataSourceCluster(), "mongodbatlas_clusters": cluster.DataSourceClusters(), @@ -188,7 +189,7 @@ func getResourcesMap() map[string]*schema.Resource { "mongodbatlas_advanced_cluster": advancedcluster.ResourceAdvancedCluster(), "mongodbatlas_api_key": mongodbatlas.ResourceAPIKey(), "mongodbatlas_access_list_api_key": mongodbatlas.ResourceAccessListAPIKey(), - "mongodbatlas_project_api_key": mongodbatlas.ResourceProjectAPIKey(), + "mongodbatlas_project_api_key": projectapikey.ResourceProjectAPIKey(), "mongodbatlas_custom_db_role": mongodbatlas.ResourceCustomDBRole(), "mongodbatlas_cluster": cluster.ResourceCluster(), "mongodbatlas_network_container": mongodbatlas.ResourceNetworkContainer(), diff --git a/mongodbatlas/data_source_project_api_key.go b/internal/service/projectapikey/data_source_project_api_key.go similarity index 99% rename from mongodbatlas/data_source_project_api_key.go rename to internal/service/projectapikey/data_source_project_api_key.go index 053b45c369..c246a245cf 100644 --- a/mongodbatlas/data_source_project_api_key.go +++ b/internal/service/projectapikey/data_source_project_api_key.go @@ -1,4 +1,4 @@ -package mongodbatlas +package projectapikey import ( "context" diff --git a/mongodbatlas/data_source_project_api_keys.go b/internal/service/projectapikey/data_source_project_api_keys.go similarity index 99% rename from mongodbatlas/data_source_project_api_keys.go rename to internal/service/projectapikey/data_source_project_api_keys.go index 79b695b542..8c9e052969 100644 --- a/mongodbatlas/data_source_project_api_keys.go +++ b/internal/service/projectapikey/data_source_project_api_keys.go @@ -1,4 +1,4 @@ -package mongodbatlas +package projectapikey import ( "context" diff --git a/mongodbatlas/resource_project_api_key.go b/internal/service/projectapikey/resource_project_api_key.go similarity index 99% rename from mongodbatlas/resource_project_api_key.go rename to internal/service/projectapikey/resource_project_api_key.go index a5f05ea0fc..18c2ee6112 100644 --- a/mongodbatlas/resource_project_api_key.go +++ b/internal/service/projectapikey/resource_project_api_key.go @@ -1,4 +1,4 @@ -package mongodbatlas +package projectapikey import ( "context" diff --git a/mongodbatlas/resource_project_api_key_migration_test.go b/internal/service/projectapikey/resource_project_api_key_migration_test.go similarity index 98% rename from mongodbatlas/resource_project_api_key_migration_test.go rename to internal/service/projectapikey/resource_project_api_key_migration_test.go index a1c52217d9..e418e3be04 100644 --- a/mongodbatlas/resource_project_api_key_migration_test.go +++ b/internal/service/projectapikey/resource_project_api_key_migration_test.go @@ -1,4 +1,4 @@ -package mongodbatlas_test +package projectapikey_test import ( "fmt" diff --git a/mongodbatlas/resource_project_api_key_test.go b/internal/service/projectapikey/resource_project_api_key_test.go similarity index 99% rename from mongodbatlas/resource_project_api_key_test.go rename to internal/service/projectapikey/resource_project_api_key_test.go index 56528d0491..512c40098c 100644 --- a/mongodbatlas/resource_project_api_key_test.go +++ b/internal/service/projectapikey/resource_project_api_key_test.go @@ -1,4 +1,4 @@ -package mongodbatlas_test +package projectapikey_test import ( "context" diff --git a/mongodbatlas/data_source_org_id.go b/mongodbatlas/data_source_org_id.go index 707abe7e76..c98c49a98d 100644 --- a/mongodbatlas/data_source_org_id.go +++ b/mongodbatlas/data_source_org_id.go @@ -7,6 +7,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/mongodb/terraform-provider-mongodbatlas/internal/common/constant" "github.com/mongodb/terraform-provider-mongodbatlas/internal/config" matlas "go.mongodb.org/atlas/mongodbatlas" @@ -28,10 +29,7 @@ func dataSourceMongoDBAtlasOrgIDRead(ctx context.Context, d *schema.ResourceData // Get client connection. conn := meta.(*config.MongoDBClient).Atlas - var ( - err error - root *matlas.Root - ) + var err error options := &matlas.ListOptions{} apiKeyOrgList, _, err := conn.Root.List(ctx, options) @@ -42,7 +40,7 @@ func dataSourceMongoDBAtlasOrgIDRead(ctx context.Context, d *schema.ResourceData for idx, role := range apiKeyOrgList.APIKey.Roles { if strings.HasPrefix(role.RoleName, "ORG_") { if err := d.Set("org_id", apiKeyOrgList.APIKey.Roles[idx].OrgID); err != nil { - return diag.Errorf(ErrorProjectSetting, `org_id`, root.APIKey.ID, err) + return diag.Errorf(constant.ErrorSettingAttribute, "org_id", err) } d.SetId(apiKeyOrgList.APIKey.Roles[idx].OrgID) return nil