Skip service role when all deploy prefs with no role are disabled #2187
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.
Issue #, if available:
#1496
Description of changes:
This PR modifies the translated templates output by sam-translator in order to make sure that no unnecessary CodeDeployServiceRole is created. If there is a deployment preference which has no role (but that's okay because it's disabled), then the role will not be created.
I went for the easiest win, which was changing the logic in can_skip_service_role. Do we feel like that is the best place? Alternatively, I think we could modify self._resource_preferences.values() so that disabled DeploymentPreferences are not present.
There are some broken unit tests on this branch but it looks like those are broken on develop too right now, so I don't believe that was introduced by this change.
Description of how you validated changes:
By running bin/translate-sam.py by hand, and by adding unit tests.
Checklist:
make pr
passesExamples?
Please reach out in the comments, if you want to add an example. Examples will be
added to
sam init
through https://github.com/awslabs/aws-sam-cli-app-templates/By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.