Skip to content

Commit

Permalink
Ensure nil is not passed to RetryError helpers (#14104)
Browse files Browse the repository at this point in the history
  • Loading branch information
appilon committed Jul 13, 2020
1 parent bc8f758 commit ea377c4
Show file tree
Hide file tree
Showing 14 changed files with 55 additions and 21 deletions.
5 changes: 4 additions & 1 deletion aws/resource_aws_acm_certificate_validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,10 @@ func resourceAwsAcmCertificateValidationCreate(d *schema.ResourceData, meta inte
}

log.Printf("[INFO] ACM Certificate validation for %s done, certificate was issued", certificate_arn)
return resource.NonRetryableError(resourceAwsAcmCertificateValidationRead(d, meta))
if err := resourceAwsAcmCertificateValidationRead(d, meta); err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
resp, err = acmconn.DescribeCertificate(params)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_cloudwatch_event_permission.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,10 @@ func resourceAwsCloudWatchEventPermissionRead(d *schema.ResourceData, meta inter
}

policyStatement, err = getPolicyStatement(output, d.Id())
return resource.RetryableError(err)
if err != nil {
return resource.RetryableError(err)
}
return nil
})

if isResourceTimeoutError(err) {
Expand Down
3 changes: 1 addition & 2 deletions aws/resource_aws_codepipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,7 @@ func resourceAwsCodePipelineCreate(d *schema.ResourceData, meta interface{}) err
if err != nil {
return resource.RetryableError(err)
}

return resource.NonRetryableError(err)
return nil
})
if isResourceTimeoutError(err) {
resp, err = conn.CreatePipeline(params)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_codestarnotifications_notification_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,10 @@ func cleanupCodeStarNotificationsNotificationRuleTargets(conn *codestarnotificat
}
targets = targets[:i]

return resource.RetryableError(reterr)
if reterr != nil {
return resource.RetryableError(reterr)
}
return nil
})

if isAWSErr(err, codestarnotifications.ErrCodeValidationException, awsCodeStartNotificationsNotificationRuleErrorSubscribed) {
Expand Down
12 changes: 8 additions & 4 deletions aws/resource_aws_cognito_user_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -722,8 +722,10 @@ func resourceAwsCognitoUserPoolCreate(d *schema.ResourceData, meta interface{})
log.Printf("[DEBUG] Received %s, retrying CreateUserPool", err)
return resource.RetryableError(err)
}

return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
resp, err = conn.CreateUserPool(params)
Expand Down Expand Up @@ -1145,8 +1147,10 @@ func resourceAwsCognitoUserPoolUpdate(d *schema.ResourceData, meta interface{})
params.AdminCreateUserConfig.UnusedAccountValidityDays = nil
return resource.RetryableError(err)
}

return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
_, err = conn.UpdateUserPool(params)
Expand Down
12 changes: 8 additions & 4 deletions aws/resource_aws_ecr_repository_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,11 @@ func resourceAwsEcrRepositoryPolicyCreate(d *schema.ResourceData, meta interface

if isAWSErr(err, "InvalidParameterException", "Invalid repository policy provided") {
return resource.RetryableError(err)

}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
out, err = conn.SetRepositoryPolicy(&input)
Expand Down Expand Up @@ -135,9 +137,11 @@ func resourceAwsEcrRepositoryPolicyUpdate(d *schema.ResourceData, meta interface

if isAWSErr(err, "InvalidParameterException", "Invalid repository policy provided") {
return resource.RetryableError(err)

}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
out, err = conn.SetRepositoryPolicy(&input)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_iam_role.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,10 @@ func resourceAwsIamRoleCreate(d *schema.ResourceData, meta interface{}) error {
if isAWSErr(err, "MalformedPolicyDocument", "Invalid principal in policy") {
return resource.RetryableError(err)
}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
createResp, err = iamconn.CreateRole(request)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,10 @@ func resourceAwsInstanceCreate(d *schema.ResourceData, meta interface{}) error {
log.Print("[DEBUG] IAM Instance Profile appears to have no IAM roles, retrying...")
return resource.RetryableError(err)
}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
runResp, err = conn.RunInstances(runOpts)
Expand Down
2 changes: 1 addition & 1 deletion aws/resource_aws_internet_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func resourceAwsInternetGatewayCreate(d *schema.ResourceData, meta interface{})
return nil
}
if err == nil {
return resource.RetryableError(err)
return resource.RetryableError(&resource.NotFoundError{})
} else {
return resource.NonRetryableError(err)
}
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_kms_grant.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,10 @@ func waitForKmsGrantToBeRevoked(conn *kms.KMS, keyId string, grantId string) err
fmt.Errorf("Grant still exists while expected to be revoked, retyring revocation check: %s", *grant.GrantId))
}

return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
grant, err = findKmsGrantById(conn, keyId, grantId, nil)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_kms_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,10 @@ func resourceAwsKmsKeyCreate(d *schema.ResourceData, meta interface{}) error {
if isAWSErr(err, kms.ErrCodeMalformedPolicyDocumentException, "") {
return resource.RetryableError(err)
}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
resp, err = conn.CreateKey(req)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_redshift_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -910,7 +910,10 @@ func deleteAwsRedshiftCluster(opts *redshift.DeleteClusterInput, conn *redshift.
return resource.RetryableError(err)
}

return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})
if isResourceTimeoutError(err) {
_, err = conn.DeleteCluster(opts)
Expand Down
5 changes: 4 additions & 1 deletion aws/resource_aws_spot_instance_request.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,10 @@ func resourceAwsSpotInstanceRequestCreate(d *schema.ResourceData, meta interface
log.Printf("[DEBUG] IAM Instance Profile appears to have no IAM roles, retrying...")
return resource.RetryableError(err)
}
return resource.NonRetryableError(err)
if err != nil {
return resource.NonRetryableError(err)
}
return nil
})

if isResourceTimeoutError(err) {
Expand Down
2 changes: 1 addition & 1 deletion aws/resource_aws_ssm_activation.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func resourceAwsSsmActivationCreate(d *schema.ResourceData, meta interface{}) er
return resource.RetryableError(err)
}

return resource.NonRetryableError(err)
return nil
})

if isResourceTimeoutError(err) {
Expand Down

0 comments on commit ea377c4

Please sign in to comment.