Skip to content

Commit

Permalink
remove jackson-databind dep from secretsmanager (#2032)
Browse files Browse the repository at this point in the history
  • Loading branch information
sdelamo committed Feb 1, 2024
1 parent df9cf31 commit 61745f1
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 12 deletions.
2 changes: 1 addition & 1 deletion aws-secretsmanager/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ dependencies {
api(projects.micronautAwsSdkV2)
api(projects.micronautAwsDistributedConfiguration)
api(libs.awssdk.secretsmanager)
implementation(mn.micronaut.jackson.databind)

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@
*/
package io.micronaut.aws.secretsmanager;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.micronaut.context.annotation.BootstrapContextCompatible;
import io.micronaut.context.annotation.Replaces;
import io.micronaut.context.annotation.Requires;
import io.micronaut.core.annotation.Experimental;
import io.micronaut.core.annotation.NonNull;
import io.micronaut.json.JsonMapper;
import jakarta.inject.Singleton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
import software.amazon.awssdk.services.secretsmanager.model.SecretListEntry;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
Expand All @@ -51,7 +51,7 @@ public class SecretsManagerGroupNameAwareKeyValueFetcher extends SecretsManagerK
* @param objectMapper Object Mapper
*/
public SecretsManagerGroupNameAwareKeyValueFetcher(SecretsManagerClient secretsClient,
ObjectMapper objectMapper) {
JsonMapper objectMapper) {
super(secretsClient, objectMapper);
}

Expand All @@ -64,7 +64,7 @@ protected void addSecretDetailsToResults(SecretListEntry secret, Map result) {
try {
keyValues.putAll(objectMapper.readValue(secretValueOptional.get(), Map.class));
result.put(secret.name(), keyValues);
} catch (JsonProcessingException e) {
} catch (IOException e) {
if (LOG.isWarnEnabled()) {
LOG.warn("could not read secret ({}) value from JSON to Map", secret.name());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@
*/
package io.micronaut.aws.secretsmanager;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.micronaut.context.annotation.BootstrapContextCompatible;
import io.micronaut.context.annotation.Requires;
import io.micronaut.core.annotation.Experimental;
import io.micronaut.core.annotation.NonNull;
import io.micronaut.json.JsonMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
Expand All @@ -38,6 +37,8 @@
import software.amazon.awssdk.services.secretsmanager.model.SecretListEntry;
import software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException;
import jakarta.inject.Singleton;

import java.io.IOException;
import java.util.Base64;
import java.util.HashMap;
import java.util.List;
Expand All @@ -58,15 +59,15 @@ public class SecretsManagerKeyValueFetcher implements SecretsKeyValueFetcher {
private static final Logger LOG = LoggerFactory.getLogger(SecretsManagerKeyValueFetcher.class);

protected final SecretsManagerClient secretsClient;
protected final ObjectMapper objectMapper;
protected final JsonMapper objectMapper;

/**
*
* @param secretsClient Secrets Client
* @param objectMapper Object Mapper
*/
public SecretsManagerKeyValueFetcher(SecretsManagerClient secretsClient,
ObjectMapper objectMapper) {
JsonMapper objectMapper) {
this.secretsClient = secretsClient;
this.objectMapper = objectMapper;
}
Expand Down Expand Up @@ -124,12 +125,12 @@ public Optional<Map> keyValuesByPrefix(@NonNull String prefix) {
* @param result a map that collects the results
*/
@NonNull
protected void addSecretDetailsToResults(SecretListEntry secret, Map result) {
protected void addSecretDetailsToResults(SecretListEntry secret, Map result) {
Optional<String> secretValueOptional = fetchSecretValue(secretsClient, secret.name());
if (secretValueOptional.isPresent()) {
try {
result.putAll(objectMapper.readValue(secretValueOptional.get(), Map.class));
} catch (JsonProcessingException e) {
} catch (IOException e) {
if (LOG.isWarnEnabled()) {
LOG.warn("could not read secret ({}) value from JSON to Map", secret.name());
}
Expand Down
16 changes: 15 additions & 1 deletion config/accepted-api-changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -1559,6 +1559,20 @@
"type": "io.micronaut.aws.lambda.events.serde.$KinesisAnalyticsStreamsInputPreprocessingEventSerde$IntrospectionRef3",
"member": "Implemented interface io.micronaut.core.beans.BeanIntrospectionReference",
"reason": "Introspection Changes"
},
{
"type": "io.micronaut.aws.secretsmanager.SecretsManagerGroupNameAwareKeyValueFetcher",
"member": "Constructor io.micronaut.aws.secretsmanager.SecretsManagerGroupNameAwareKeyValueFetcher(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient,com.fasterxml.jackson.databind.ObjectMapper)",
"reason": "Use JsonMapper instead. It is an experimental class"
},
{
"type": "io.micronaut.aws.secretsmanager.SecretsManagerKeyValueFetcher",
"member": "Field objectMapper",
"reason": "Use JsonMapper instead. It is an experimental class"
},
{
"type": "io.micronaut.aws.secretsmanager.SecretsManagerKeyValueFetcher",
"member": "Constructor io.micronaut.aws.secretsmanager.SecretsManagerKeyValueFetcher(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient,com.fasterxml.jackson.databind.ObjectMapper)",
"reason": "Use JsonMapper instead. It is an experimental class"
}

]

0 comments on commit 61745f1

Please sign in to comment.