public CompletableFuture resolveEnvironment()

in src/main/java/software/amazon/cloudwatchlogs/emf/environment/EnvironmentProvider.java [43:61]


    public CompletableFuture<Environment> resolveEnvironment() {
        if (cachedEnvironment != null) {
            return CompletableFuture.completedFuture(cachedEnvironment);
        }

        Optional<Environment> env = getEnvironmentFromOverride();
        if (env.isPresent()) {
            cachedEnvironment = env.get();
            return CompletableFuture.completedFuture(cachedEnvironment);
        }

        CompletableFuture<Optional<Environment>> resolvedEnv = discoverEnvironmentAsync();

        return resolvedEnv.thenApply(
                optionalEnv -> {
                    cachedEnvironment = optionalEnv.orElse(defaultEnvironment);
                    return cachedEnvironment;
                });
    }