private static AWSClients createAWSClients()

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


  private static AWSClients createAWSClients(@NotNull Map<String, String> params) {
    final String regionName = getRegionName(params);

    final String accessKeyId = getAccessKeyId(params);
    final String secretAccessKey = getSecretAccessKey(params);

    final AWSClients awsClients;
    if (isTempCredentialsOption(getCredentialsType(params))) {
      final String iamRoleARN = getIamRoleArnParam(params);
      final String externalID = getExternalId(params);
      final String sessionName = getStringOrDefault(params.get(TEMP_CREDENTIALS_SESSION_NAME_PARAM), TEMP_CREDENTIALS_SESSION_NAME_DEFAULT_PREFIX + new Date().getTime());
      final int sessionDuration = getIntegerOrDefault(params.get(TEMP_CREDENTIALS_DURATION_SEC_PARAM), TEMP_CREDENTIALS_DURATION_SEC_DEFAULT);

      awsClients = isUseDefaultCredentialProviderChain(params)
                   ? fromSessionCredentials(iamRoleARN, externalID, sessionName, sessionDuration, regionName)
                   : fromSessionCredentials(accessKeyId, secretAccessKey, iamRoleARN, externalID, sessionName, sessionDuration, regionName);
    } else {
      awsClients = isUseDefaultCredentialProviderChain(params) ?
                   fromDefaultCredentialProviderChain(regionName) :
                   fromBasicCredentials(accessKeyId, secretAccessKey, regionName);
    }

    final String environmentType = params.get(ENVIRONMENT_NAME_PARAM);
    if (StringUtil.areEqualIgnoringCase(ENVIRONMENT_TYPE_CUSTOM, environmentType)) {
      final String serviceEndpoint = params.get(SERVICE_ENDPOINT_PARAM);
      awsClients.setServiceEndpoint(serviceEndpoint);
    }

    return awsClients;
  }