Class S3V4RestSignerClient

java.lang.Object
software.amazon.awssdk.auth.signer.internal.AbstractAwsSigner
software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer<software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams,software.amazon.awssdk.auth.signer.params.Aws4PresignerParams>
org.apache.iceberg.aws.s3.signer.S3V4RestSignerClient
All Implemented Interfaces:
software.amazon.awssdk.core.signer.Presigner, software.amazon.awssdk.core.signer.Signer

@Immutable public abstract class S3V4RestSignerClient extends software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer<software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams,software.amazon.awssdk.auth.signer.params.Aws4PresignerParams>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     

    Fields inherited from class software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer

    EMPTY_STRING_SHA256_HEX
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected String
    calculateContentHashPresign(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, software.amazon.awssdk.auth.signer.params.Aws4PresignerParams signerParams)
     
    protected void
     
    create(Map<String,String> properties)
     
    A credential to exchange for a token in the OAuth2 client credentials flow.
     
    Token endpoint URI to fetch token from if the Rest Catalog is not the authorization server.
     
    software.amazon.awssdk.http.SdkHttpFullRequest
    presign(software.amazon.awssdk.http.SdkHttpFullRequest request, software.amazon.awssdk.core.interceptor.ExecutionAttributes executionAttributes)
     
    protected void
    processRequestPayload(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, byte[] signature, byte[] signingKey, software.amazon.awssdk.auth.signer.internal.Aws4SignerRequestParams signerRequestParams, software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams signerParams)
     
    protected void
    processRequestPayload(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, byte[] signature, byte[] signingKey, software.amazon.awssdk.auth.signer.internal.Aws4SignerRequestParams signerRequestParams, software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams signerParams, software.amazon.awssdk.core.checksums.SdkChecksum sdkChecksum)
     
    abstract Map<String,String>
     
     
    software.amazon.awssdk.http.SdkHttpFullRequest
    sign(software.amazon.awssdk.http.SdkHttpFullRequest request, software.amazon.awssdk.core.interceptor.ExecutionAttributes executionAttributes)
     
    A Bearer token supplier which will be used for interaction with the server.

    Methods inherited from class software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer

    addSessionCredentials, calculateContentHash, calculateContentHash, deriveSigningKey, deriveSigningKey, doPresign, doSign, doSign, extractPresignerParams, extractSignerParams

    Methods inherited from class software.amazon.awssdk.auth.signer.internal.AbstractAwsSigner

    getBinaryRequestPayloadStream, sanitizeCredentials, sign, sign, signAndBase64Encode, signWithMac

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.awssdk.core.signer.Signer

    credentialType
  • Field Details

  • Constructor Details

    • S3V4RestSignerClient

      public S3V4RestSignerClient()
  • Method Details

    • properties

      public abstract Map<String,String> properties()
    • requestPropertiesSupplier

      @Default public Supplier<Map<String,String>> requestPropertiesSupplier()
    • baseSignerUri

      @Lazy public String baseSignerUri()
    • endpoint

      @Lazy public String endpoint()
    • credential

      @Nullable @Lazy public String credential()
      A credential to exchange for a token in the OAuth2 client credentials flow.
    • oauth2ServerUri

      @Lazy public String oauth2ServerUri()
      Token endpoint URI to fetch token from if the Rest Catalog is not the authorization server.
    • optionalOAuthParams

      @Lazy public Map<String,String> optionalOAuthParams()
    • token

      @Default public Supplier<String> token()
      A Bearer token supplier which will be used for interaction with the server.
    • check

      @Check protected void check()
    • processRequestPayload

      protected void processRequestPayload(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, byte[] signature, byte[] signingKey, software.amazon.awssdk.auth.signer.internal.Aws4SignerRequestParams signerRequestParams, software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams signerParams)
      Specified by:
      processRequestPayload in class software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer<software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams,software.amazon.awssdk.auth.signer.params.Aws4PresignerParams>
    • processRequestPayload

      protected void processRequestPayload(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, byte[] signature, byte[] signingKey, software.amazon.awssdk.auth.signer.internal.Aws4SignerRequestParams signerRequestParams, software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams signerParams, software.amazon.awssdk.core.checksums.SdkChecksum sdkChecksum)
      Specified by:
      processRequestPayload in class software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer<software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams,software.amazon.awssdk.auth.signer.params.Aws4PresignerParams>
    • calculateContentHashPresign

      protected String calculateContentHashPresign(software.amazon.awssdk.http.SdkHttpFullRequest.Builder mutableRequest, software.amazon.awssdk.auth.signer.params.Aws4PresignerParams signerParams)
      Specified by:
      calculateContentHashPresign in class software.amazon.awssdk.auth.signer.internal.AbstractAws4Signer<software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams,software.amazon.awssdk.auth.signer.params.Aws4PresignerParams>
    • presign

      public software.amazon.awssdk.http.SdkHttpFullRequest presign(software.amazon.awssdk.http.SdkHttpFullRequest request, software.amazon.awssdk.core.interceptor.ExecutionAttributes executionAttributes)
    • sign

      public software.amazon.awssdk.http.SdkHttpFullRequest sign(software.amazon.awssdk.http.SdkHttpFullRequest request, software.amazon.awssdk.core.interceptor.ExecutionAttributes executionAttributes)
    • create

      public static S3V4RestSignerClient create(Map<String,String> properties)