Allow custom runner agent IAM role fixups (#572) #577
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixups relating to #572
When a custom role is specified we should also have ability to avoid attaching any additional policies to the role, in the case when the custom role already has enough permissions (and may be at/near the 20 attached policies limit).
Also disable creating the instance profile when we aren't also creating the role.
This means multiple copies of the runner module can be made safely with the same custom role and without duplicating the instance profile. Though duplicating the instance profile doesn't cause any errors it is unexpected, in the AWS IAM console you can only see a single instance profile for a role. Allocating 2 or more seems to have no effect and Terraform doesn't seem to pick this up as an error condition either.
Migrations required
NO
Verification
I've manually tested the changes in my own environment.