feat: allow multi subnet and securitygroups
What does this MR do?
He we introduce properties to allow multiple subnets and security groups to be specified. For the purposes of fallback, the value of the singular properties will be assigned to the arrays to allow existing teams to not be impacted and this not being a breaking change. A future merge request should then remove the deprecated properties.
Why was this MR needed?
For multi-subnets, it allows the tasks to run in all available availability zones within a VPC which reduces the IP pressure than might be seen in some cases.
What's the best way to test this MR?
- Allow multiple subnets to be used, start a task, and see that it starts in any of the subnets specified.
- Specify multiple security groups to be used, start a task, and see the security groups then assigned. In this case, perform specific actions within aws where the permissions are coming from different security groups.
What are the relevant issue numbers?
#18 (closed) Required for #69
Credit to @r2d2 that first attempted this in merge-request !42 (closed). Most of his code has been used with a few small changes.
Edited by Marais Van Zyl