private static AwsCredentialsProvider getCredentialsProvider()

in aws-core-common/src/main/java/jetbrains/buildServer/util/amazon/AWSCommonParams.java [188:208]


  private static AwsCredentialsProvider getCredentialsProvider(@NotNull final Map<String, String> params,
                                                               final boolean fixedCredentials){
    final String credentialsType = getCredentialsType(params);

    if (isAccessKeysOption(credentialsType) || fixedCredentials){
      if (isUseDefaultCredentialProviderChain(params)) {
        return DefaultCredentialsProvider.builder()
          .build();
      }

      return () -> AwsBasicCredentials.create(getAccessKeyId(params), getSecretAccessKey(params));
    }
    if (isTempCredentialsOption(credentialsType)) {
      return createSessionCredentialsProvider(params);
    }

    // a workaround to not return a DefaultAWSCredentialsProviderChain (null)
    // I'm afraid throwing an exception here could result in undesired behaviour in different places
    //TODO: remove this as well (throw an exception instead)
    return () -> AwsBasicCredentials.create("", "");
  }