Class AWSClientFactory

java.lang.Object
de.taimos.pipeline.aws.AWSClientFactory
All Implemented Interfaces:
Serializable

public class AWSClientFactory extends Object implements Serializable
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C>
    B
    configureV2Builder(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
     
    static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C>
    C
    create(B clientBuilder, EnvVars vars)
     
    static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C>
    C
    create(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context)
     
    static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C>
    C
    create(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
     
    static software.amazon.awssdk.services.s3.presigner.S3Presigner
    createS3Presigner(software.amazon.awssdk.services.s3.S3Configuration serviceConfiguration, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
    S3Presigner is not an AwsClientBuilder - it is an SdkPresigner - so it cannot go through configureV2Builder.
    static void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • setFactoryDelegate

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static void setFactoryDelegate(AWSClientFactoryDelegate factoryDelegate)
    • create

      public static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C> C create(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context)
    • create

      public static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C> C create(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
    • create

      public static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C> C create(B clientBuilder, EnvVars vars)
    • configureV2Builder

      public static <B extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder<B, C>, C> B configureV2Builder(B clientBuilder, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
    • createS3Presigner

      public static software.amazon.awssdk.services.s3.presigner.S3Presigner createS3Presigner(software.amazon.awssdk.services.s3.S3Configuration serviceConfiguration, org.jenkinsci.plugins.workflow.steps.StepContext context, EnvVars vars)
      S3Presigner is not an AwsClientBuilder - it is an SdkPresigner - so it cannot go through configureV2Builder. Region, credentials and the endpoint override are resolved with the same helpers so that s3PresignURL keeps agreeing with the other S3 steps about where it is pointing and who it is. Nothing here configures an HTTP client or retries, because presigning is purely local: the signature is computed in process and no request is sent. S3Presigner.Builder has no requestChecksumCalculation, so the relaxation applied to the clients for non-AWS endpoints has no counterpart here - and needs none: a presigned PUT against SDK 2.42 signs X-Amz-SignedHeaders=host only, adding no checksum header for a store to reject.