Class ExchangeS3Config

java.lang.Object
io.trino.plugin.exchange.filesystem.s3.ExchangeS3Config

public class ExchangeS3Config extends Object
  • Constructor Details

    • ExchangeS3Config

      public ExchangeS3Config()
  • Method Details

    • getS3AwsAccessKey

      public String getS3AwsAccessKey()
    • setS3AwsAccessKey

      @Config("exchange.s3.aws-access-key") public ExchangeS3Config setS3AwsAccessKey(String s3AwsAccessKey)
    • getS3AwsSecretKey

      public String getS3AwsSecretKey()
    • setS3AwsSecretKey

      @Config("exchange.s3.aws-secret-key") public ExchangeS3Config setS3AwsSecretKey(String s3AwsSecretKey)
    • getS3IamRole

      public Optional<String> getS3IamRole()
    • setS3IamRole

      @Config("exchange.s3.iam-role") public ExchangeS3Config setS3IamRole(String s3IamRole)
    • getS3ExternalId

      public Optional<String> getS3ExternalId()
    • setS3ExternalId

      @Config("exchange.s3.external-id") public ExchangeS3Config setS3ExternalId(String s3ExternalId)
    • getS3Region

      public Optional<software.amazon.awssdk.regions.Region> getS3Region()
    • setS3Region

      @Config("exchange.s3.region") public ExchangeS3Config setS3Region(String s3Region)
    • getS3Endpoint

      public Optional<String> getS3Endpoint()
    • setS3Endpoint

      @Config("exchange.s3.endpoint") public ExchangeS3Config setS3Endpoint(String s3Endpoint)
    • isEndpointOrRegionSet

      @AssertTrue(message="Either exchange.s3.region or exchange.s3.endpoint is expected to be set") public @AssertTrue(message="Either exchange.s3.region or exchange.s3.endpoint is expected to be set") boolean isEndpointOrRegionSet()
    • getS3MaxErrorRetries

      @Min(0L) public @Min(0L) int getS3MaxErrorRetries()
    • setS3MaxErrorRetries

      @Config("exchange.s3.max-error-retries") public ExchangeS3Config setS3MaxErrorRetries(int s3MaxErrorRetries)
    • getS3UploadPartSize

      @NotNull @MinDataSize("5MB") @MaxDataSize("256MB") public @NotNull @MinDataSize("5MB") @MaxDataSize("256MB") io.airlift.units.DataSize getS3UploadPartSize()
    • setS3UploadPartSize

      @Config("exchange.s3.upload.part-size") public ExchangeS3Config setS3UploadPartSize(io.airlift.units.DataSize s3UploadPartSize)
    • getStorageClass

      @NotNull public @NotNull software.amazon.awssdk.services.s3.model.StorageClass getStorageClass()
    • setStorageClass

      @Config("exchange.s3.storage-class") public ExchangeS3Config setStorageClass(software.amazon.awssdk.services.s3.model.StorageClass storageClass)
    • getRetryMode

      @NotNull public @NotNull software.amazon.awssdk.core.retry.RetryMode getRetryMode()
    • setRetryMode

      @Config("exchange.s3.retry-mode") public ExchangeS3Config setRetryMode(software.amazon.awssdk.core.retry.RetryMode retryMode)
    • getAsyncClientConcurrency

      @Min(1L) public @Min(1L) int getAsyncClientConcurrency()
    • setAsyncClientConcurrency

      @Config("exchange.s3.async-client-concurrency") public ExchangeS3Config setAsyncClientConcurrency(int asyncClientConcurrency)
    • getAsyncClientMaxPendingConnectionAcquires

      @Min(1L) public @Min(1L) int getAsyncClientMaxPendingConnectionAcquires()
    • setAsyncClientMaxPendingConnectionAcquires

      @Config("exchange.s3.async-client-max-pending-connection-acquires") public ExchangeS3Config setAsyncClientMaxPendingConnectionAcquires(int asyncClientMaxPendingConnectionAcquires)
    • getConnectionAcquisitionTimeout

      public io.airlift.units.Duration getConnectionAcquisitionTimeout()
    • setConnectionAcquisitionTimeout

      @Config("exchange.s3.async-client-connection-acquisition-timeout") public ExchangeS3Config setConnectionAcquisitionTimeout(io.airlift.units.Duration connectionAcquisitionTimeout)
    • isS3PathStyleAccess

      public boolean isS3PathStyleAccess()
    • setS3PathStyleAccess

      @Config("exchange.s3.path-style-access") public ExchangeS3Config setS3PathStyleAccess(boolean s3PathStyleAccess)
    • getGcsJsonKeyFilePath

      public Optional<@FileExists String> getGcsJsonKeyFilePath()
    • setGcsJsonKeyFilePath

      @Config("exchange.gcs.json-key-file-path") public ExchangeS3Config setGcsJsonKeyFilePath(String gcsJsonKeyFilePath)
    • getGcsJsonKey

      public Optional<String> getGcsJsonKey()
    • setGcsJsonKey

      @Config("exchange.gcs.json-key") public ExchangeS3Config setGcsJsonKey(String gcsJsonKey)
    • getSseType

      @NotNull public @NotNull ExchangeS3Config.S3SseType getSseType()
    • setSseType

      @Config("exchange.s3.sse.type") public ExchangeS3Config setSseType(ExchangeS3Config.S3SseType sseType)
    • getSseKmsKeyId

      public Optional<String> getSseKmsKeyId()
    • setSseKmsKeyId

      @Config("exchange.s3.sse.kms-key-id") public ExchangeS3Config setSseKmsKeyId(String sseKmsKeyId)
    • isSseConfigValid

      @AssertTrue(message="Property value of exchange.s3.sse.kms-key-id needs to be provided only when exchange.s3.sse.type=KMS") public @AssertTrue(message="Property value of exchange.s3.sse.kms-key-id needs to be provided only when exchange.s3.sse.type=KMS") boolean isSseConfigValid()