Hi all, I'm trying to create nodes in EC2 in a non-default VPC, setting only subnetId on TemplateOptions (no security groups). Like so:
AWSEC2TemplateOptions templateOptions = new AWSEC2TemplateOptions(); ... some more template options setup that shouldn't be relevant templateOptions.subnetId("subnet-mysubnet"); Template template = templateBuilder. .hardwareId(instanceType) .locationId(region) .imageId(imageId) .options(templateOptions) .build(); Iterables.getOnlyElement(computeService.createNodesInGroup("cloudts-rjanik", 1, template)); I'm running into problems with that, however. I also tried setting a security group via TemplateOptions.securityGroupIds(), but it seems the issue persists. The stacktrace is here: http://pastebin.com/xKAEg9cu I found out that JClouds always (even if using non-default VPC and even if security groups have been provided) attempts to create some kind of marker security group in CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.getSecurityGroupsForTagAndOptions When the security group is created, it tries to resolve the name into ID by calling Iterables.getOnlyElement(api.getSecurityGroupApi().get().describeSecurityGroupsInRegion(region, name), null).getId(); That fails for security groups in non-default VPC, because to use the DescribeSecurityGroups action there, IDs have to be provided instead of names [1]. So, my question is, is this a bug or is there a way to work around this? We don't have an account with a default VPC and I found no way to manually create one, so that probably won't work. Any ideas? Thanks for suggestions, R. [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html