fix(dataplane): deserialize secret depending on content #480
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR changes/adds
Deserializes the secret obtained from the vault to either an
AwsSecretToken
or anAwsTemporarySecretToken
depending on whether it contains asessionToken
field or not.Why it does that
To allow both the usage of static and temporary credentials with the S3 data plane. Previously, the secret was always deserialized directly to an
AwsTemporarySecretToken
, which caused the transfer to fail if static credentials were used.Further notes
The code for deserializing the secret has been duplicated for
S3DataSourceFactory
andS3DataSinkFactory
for now, as also the code for creating the S3 client request is duplicated. Refactoring to remove these duplications should be done in another PR.Linked Issue(s)
Closes #457