io.quarkus.amazon.kms.runtime.KmsRecorder Maven / Gradle / Ivy
package io.quarkus.amazon.kms.runtime;
import io.quarkus.amazon.common.runtime.AwsConfig;
import io.quarkus.amazon.common.runtime.NettyHttpClientConfig;
import io.quarkus.amazon.common.runtime.SdkConfig;
import io.quarkus.amazon.common.runtime.SyncHttpClientConfig;
import io.quarkus.runtime.RuntimeValue;
import io.quarkus.runtime.annotations.Recorder;
import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
import software.amazon.awssdk.services.kms.KmsAsyncClient;
import software.amazon.awssdk.services.kms.KmsAsyncClientBuilder;
import software.amazon.awssdk.services.kms.KmsClient;
import software.amazon.awssdk.services.kms.KmsClientBuilder;
@Recorder
public class KmsRecorder {
final KmsConfig config;
public KmsRecorder(KmsConfig config) {
this.config = config;
}
public RuntimeValue getSyncConfig() {
return new RuntimeValue<>(config.syncClient);
}
public RuntimeValue getAsyncConfig() {
return new RuntimeValue<>(config.asyncClient);
}
public RuntimeValue getAwsConfig() {
return new RuntimeValue<>(config.aws);
}
public RuntimeValue getSdkConfig() {
return new RuntimeValue<>(config.sdk);
}
public RuntimeValue createSyncBuilder(RuntimeValue transport) {
KmsClientBuilder builder = KmsClient.builder();
if (transport != null) {
builder.httpClientBuilder(transport.getValue());
}
return new RuntimeValue<>(builder);
}
public RuntimeValue createAsyncBuilder(RuntimeValue transport) {
KmsAsyncClientBuilder builder = KmsAsyncClient.builder();
if (transport != null) {
builder.httpClientBuilder(transport.getValue());
}
return new RuntimeValue<>(builder);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy