Skip to content

Commit

Permalink
Merge pull request #76 from schottsfired/bugfix
Browse files Browse the repository at this point in the history
Fix angry jenkins with broader exception handling
  • Loading branch information
escoem committed Apr 12, 2021
2 parents 3ed604a + f5d2957 commit 37a6eef
Showing 1 changed file with 8 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
Expand All @@ -38,7 +39,6 @@
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult;
import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient;
import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder;
import com.amazonaws.services.securitytoken.model.AssumeRoleRequest;
import com.amazonaws.services.securitytoken.model.AssumeRoleResult;
Expand Down Expand Up @@ -136,9 +136,8 @@ public AWSCredentials getCredentials() {
DefaultAwsRegionProviderChain sdkRegionLookup = new DefaultAwsRegionProviderChain();
try {
clientRegion = sdkRegionLookup.getRegion();
}
catch(com.amazonaws.SdkClientException e) {
LOGGER.log(Level.WARNING,"Could not find default region using SDK lookup.", e);
} catch (RuntimeException e) {
LOGGER.log(Level.WARNING, "Could not find default region using SDK lookup.", e);
}
if (clientRegion == null) {
clientRegion = Regions.DEFAULT_REGION.getName();
Expand All @@ -148,7 +147,7 @@ public AWSCredentials getCredentials() {

AWSSecurityTokenService client;
// Handle the case of delegation to instance profile
if (StringUtils.isBlank(accessKey) && StringUtils.isBlank(secretKey.getPlainText()) ) {
if (StringUtils.isBlank(accessKey) && StringUtils.isBlank(secretKey.getPlainText())) {
client = AWSSecurityTokenServiceClientBuilder.standard()
.withRegion(clientRegion)
.withClientConfiguration(clientConfiguration)
Expand Down Expand Up @@ -209,8 +208,8 @@ private static AssumeRoleRequest createAssumeRoleRequest(String iamRoleArn) {

/**
* Provides the {@link AWSSecurityTokenService} for a given {@link AWSCredentials}
* @param awsCredentials
*
* @param awsCredentials
* @return {@link AWSSecurityTokenService}
*/
private static AWSSecurityTokenService getAWSSecurityTokenService(AWSCredentials awsCredentials) {
Expand Down Expand Up @@ -274,8 +273,8 @@ public FormValidation doCheckSecretKey(@QueryParameter("accessKey") final String
AssumeRoleRequest assumeRequest = createAssumeRoleRequest(iamRoleArn)
.withDurationSeconds(stsTokenDuration);

if(!StringUtils.isBlank(iamMfaSerialNumber)) {
if(StringUtils.isBlank(iamMfaToken)) {
if (!StringUtils.isBlank(iamMfaSerialNumber)) {
if (StringUtils.isBlank(iamMfaToken)) {
return FormValidation.error(Messages.AWSCredentialsImpl_SpecifyMFAToken());
}
assumeRequest = assumeRequest
Expand All @@ -291,7 +290,7 @@ public FormValidation doCheckSecretKey(@QueryParameter("accessKey") final String
assumeResult.getCredentials().getAccessKeyId(),
assumeResult.getCredentials().getSecretAccessKey(),
assumeResult.getCredentials().getSessionToken());
} catch(AmazonServiceException e) {
} catch (RuntimeException e) {
LOGGER.log(Level.WARNING, "Unable to assume role [" + iamRoleArn + "] with request [" + assumeRequest + "]", e);
return FormValidation.error(Messages.AWSCredentialsImpl_NotAbleToAssumeRole() + " Check the Jenkins log for more details");
}
Expand Down

0 comments on commit 37a6eef

Please sign in to comment.