eclipse-edc / eclipse-edc/Technology-Aws
Refactor S3 provisioners
- Dominant language
- Java
- Stars
- 8
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
# Feature Request
The S3 provisioners create and utilize pipelines for chaining multiple AWS requests as part of the (de)provisioning processes. This makes the `*Provisioner` classes quite clean, but the pipeline classes become rather unreadable and hard to test, the more operations are chained. They should therefore be refactored.
One idea to achieve this, would be to create wrapper clients for the actual AWS SDK clients, which can offer higher-level features by performing multiple requests that are part of the same operation within one method call. E.g. deleting a role requires 2 requests (`deleteRolePolicy` and `deleteRole`), even though it could be considered one operation. This would reduce the number of calls made within the provisioners. Additionally, retry logic and error handling could be integrated into these wrapper clients, leaving only a few concise method calls to be performed by the provisioners.
## Which Areas Would Be Affected?
provisioners
## Why Is the Feature Desired?
cleaner code, testability
## Who will sponsor this feature?
me
## Solution Proposal
- Create wrapper clients as described above
- Use wrapper clients in the provisioners
- Remove (de)provisioning pipelines
Contributor guide
Assessment
This issue has not been assessed yet.