Sha256: db38acab11bc49b687f34b11b78784633eb9014d4e8963a6e2a45b6fce599d21
Contents?: true
Size: 1.63 KB
Versions: 2
Compression:
Stored size: 1.63 KB
Contents
package org.embulk.output.s3_parquet.aws import java.util.Optional import com.amazonaws.client.builder.AwsClientBuilder import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration import com.amazonaws.regions.{DefaultAwsRegionProviderChain, Regions} import org.embulk.config.{Config, ConfigDefault} import org.embulk.output.s3_parquet.aws.AwsEndpointConfiguration.Task import scala.util.Try object AwsEndpointConfiguration { trait Task { @Config("endpoint") @ConfigDefault("null") def getEndpoint: Optional[String] @Config("region") @ConfigDefault("null") def getRegion: Optional[String] } def apply(task: Task): AwsEndpointConfiguration = { new AwsEndpointConfiguration(task) } } class AwsEndpointConfiguration(task: Task) { def configureAwsClientBuilder[S <: AwsClientBuilder[S, T], T](builder: AwsClientBuilder[S, T]): Unit = { if (task.getRegion.isPresent && task.getEndpoint.isPresent) { val ec = new EndpointConfiguration(task.getEndpoint.get, task.getRegion.get) builder.setEndpointConfiguration(ec) } else if (task.getRegion.isPresent && !task.getEndpoint.isPresent) { builder.setRegion(task.getRegion.get) } else if (!task.getRegion.isPresent && task.getEndpoint.isPresent) { val r: String = Try(new DefaultAwsRegionProviderChain().getRegion).getOrElse(Regions.DEFAULT_REGION.getName) val e: String = task.getEndpoint.get val ec = new EndpointConfiguration(e, r) builder.setEndpointConfiguration(ec) } } }
Version data entries
2 entries across 2 versions & 1 rubygems