Parent Issue
Part of #128
Summary
Update the UseCase layer to use the new Provider interfaces instead of directly using AWS SDK types (paramapi.*, secretapi.*).
Status
In Progress - This is the main work for PR #2, #3, #4.
Prerequisites (Complete ✅)
PR #2: Read UseCase Migration
Files to Modify
| File |
Old Interface |
New Interface |
internal/usecase/param/show.go |
ShowClient |
provider.ParameterReader |
internal/usecase/param/log.go |
LogClient |
provider.ParameterReader |
internal/usecase/param/list.go |
ListClient |
provider.ParameterReader |
internal/usecase/param/diff.go |
DiffClient |
provider.ParameterReader |
internal/usecase/secret/show.go |
ShowClient |
provider.SecretReader + SecretDescriber |
internal/usecase/secret/log.go |
LogClient |
provider.SecretReader |
internal/usecase/secret/list.go |
ListClient |
provider.SecretReader |
internal/usecase/secret/diff.go |
DiffClient |
provider.SecretReader |
Interface Mapping
| Old |
New |
paramapi.GetParameterAPI |
provider.ParameterReader.GetParameter |
paramapi.GetParameterHistoryAPI |
provider.ParameterReader.GetParameterHistory |
paramapi.DescribeParametersAPI |
provider.ParameterReader.ListParameters |
secretapi.GetSecretValueAPI |
provider.SecretReader.GetSecret |
secretapi.ListSecretVersionIDsAPI |
provider.SecretReader.GetSecretVersions |
secretapi.ListSecretsAPI |
provider.SecretReader.ListSecrets |
secretapi.DescribeSecretAPI |
provider.SecretDescriber.DescribeSecret |
PR #3: Write UseCase Migration
Files to Modify
| File |
Old Interface |
New Interface |
internal/usecase/param/create.go |
CreateClient |
provider.ParameterWriter |
internal/usecase/param/update.go |
UpdateClient |
provider.ParameterWriter |
internal/usecase/param/delete.go |
DeleteClient |
provider.ParameterWriter |
internal/usecase/secret/create.go |
CreateClient |
provider.SecretWriter |
internal/usecase/secret/update.go |
UpdateClient |
provider.SecretWriter |
internal/usecase/secret/delete.go |
DeleteClient |
provider.SecretWriter |
internal/usecase/secret/restore.go |
RestoreClient |
provider.SecretRestorer |
PR #4: Staging Strategy Migration
Files to Modify
| File |
Old Interface |
New Interface |
internal/staging/param.go |
ParamClient |
provider.ParameterService |
internal/staging/secret.go |
SecretClient |
provider.SecretService + SecretRestorer + SecretDescriber |
internal/staging/cli/*.go |
- |
Strategy initialization update |
internal/cli/commands/stage/param/ |
- |
Pass Provider adapter |
internal/cli/commands/stage/secret/ |
- |
Pass Provider adapter |
Tasks
Verification
go build ./...
make test
make lint
make e2e # for PR #3, #4
Parent Issue
Part of #128
Summary
Update the UseCase layer to use the new Provider interfaces instead of directly using AWS SDK types (
paramapi.*,secretapi.*).Status
In Progress - This is the main work for PR #2, #3, #4.
Prerequisites (Complete ✅)
PR #2: Read UseCase Migration
Files to Modify
internal/usecase/param/show.goShowClientprovider.ParameterReaderinternal/usecase/param/log.goLogClientprovider.ParameterReaderinternal/usecase/param/list.goListClientprovider.ParameterReaderinternal/usecase/param/diff.goDiffClientprovider.ParameterReaderinternal/usecase/secret/show.goShowClientprovider.SecretReader + SecretDescriberinternal/usecase/secret/log.goLogClientprovider.SecretReaderinternal/usecase/secret/list.goListClientprovider.SecretReaderinternal/usecase/secret/diff.goDiffClientprovider.SecretReaderInterface Mapping
paramapi.GetParameterAPIprovider.ParameterReader.GetParameterparamapi.GetParameterHistoryAPIprovider.ParameterReader.GetParameterHistoryparamapi.DescribeParametersAPIprovider.ParameterReader.ListParameterssecretapi.GetSecretValueAPIprovider.SecretReader.GetSecretsecretapi.ListSecretVersionIDsAPIprovider.SecretReader.GetSecretVersionssecretapi.ListSecretsAPIprovider.SecretReader.ListSecretssecretapi.DescribeSecretAPIprovider.SecretDescriber.DescribeSecretPR #3: Write UseCase Migration
Files to Modify
internal/usecase/param/create.goCreateClientprovider.ParameterWriterinternal/usecase/param/update.goUpdateClientprovider.ParameterWriterinternal/usecase/param/delete.goDeleteClientprovider.ParameterWriterinternal/usecase/secret/create.goCreateClientprovider.SecretWriterinternal/usecase/secret/update.goUpdateClientprovider.SecretWriterinternal/usecase/secret/delete.goDeleteClientprovider.SecretWriterinternal/usecase/secret/restore.goRestoreClientprovider.SecretRestorerPR #4: Staging Strategy Migration
Files to Modify
internal/staging/param.goParamClientprovider.ParameterServiceinternal/staging/secret.goSecretClientprovider.SecretService + SecretRestorer + SecretDescriberinternal/staging/cli/*.gointernal/cli/commands/stage/param/internal/cli/commands/stage/secret/Tasks
PR #2
internal/usecase/param/show.gointernal/usecase/param/log.gointernal/usecase/param/list.gointernal/usecase/param/diff.gointernal/usecase/secret/show.gointernal/usecase/secret/log.gointernal/usecase/secret/list.gointernal/usecase/secret/diff.goPR #3
internal/usecase/param/create.gointernal/usecase/param/update.gointernal/usecase/param/delete.gointernal/usecase/secret/create.gointernal/usecase/secret/update.gointernal/usecase/secret/delete.gointernal/usecase/secret/restore.goPR #4
internal/staging/param.gointernal/staging/secret.goVerification