Untitled

 avatar
unknown
plain_text
2 years ago
1.3 kB
1
Indexable
package com.amazon.fraudchecksystemstateservice.provider;

import com.amazon.cloudauth.client.CloudAuthCredentials;
import com.amazon.fraudchecksystemstateservice.guice.ConfigUtil;
import com.amazon.orca.api.OrcaClient;
import com.amazon.orca.client.OrcaClientBuilder;
import com.amazon.orca.herd.client.impl.OrcaHerdClient;
import com.amazonaws.SDKGlobalConfiguration;
import com.google.inject.Provider;
import lombok.extern.log4j.Log4j2;
import javax.inject.Inject;

@Log4j2
public class OrcaHerdClientProvider implements Provider<OrcaHerdClient> {
    private final CloudAuthCredentials cloudAuthCredentials;

    @Inject
    public OrcaHerdClientProvider(CloudAuthCredentials cloudAuthCredentials) {
        this.cloudAuthCredentials = cloudAuthCredentials;
    }

    @Override
    public OrcaHerdClient get() {
        OrcaClient orcaClient = new OrcaClientBuilder()
                .stage(ConfigUtil.getStage())
                .region(this.getRegion())
                .cloudAuthCredentials(this.cloudAuthCredentials)
                .build();
        OrcaHerdClient herdClient = new OrcaHerdClient(orcaClient);
        log.info("OrcaHerdClient initialized");
        return herdClient;
    }

    private String getRegion() {
        return System.getenv(SDKGlobalConfiguration.AWS_REGION_ENV_VAR);
    }
}