I have deployed rivate subnets in default vpc (java):
var stack = new Stack(app, "system-resource", StackProps.builder().env(env).build());
final IVpc vpc = Vpc.fromLookup(stack, "default-vpc", VpcLookupOptions.builder().isDefault(true).build());
final AtomicInteger index = new AtomicInteger();
var zones = stack.getAvailabilityZones();
var subnets = zones.stream().map(z -> {
var subnet = new PrivateSubnet(stack, "priavte-subnet-" + index.getAndIncrement(), PrivateSubnetProps.builder()
.vpcId(vpc.getVpcId())
.cidrBlock(String.format(cidrTemplate, start.get()))
.availabilityZone(z)
.build());
start.addAndGet(increment);
return subnet;
}).collect(Collectors.toList());
Then I tried to use SubnetSelection:
final IVpc vpc = Vpc.fromLookup(this, "default-vpc", VpcLookupOptions.builder().isDefault(true).build());
final SubnetSelection vpcSubnets = SubnetSelection.builder().subnetType(SubnetType.PRIVATE).build();
And got exception:
An exception occured while executing the Java class. There are no 'Private' subnet groups in this VPC. Available types: Public
[ERROR] Error: There are no 'Private' subnet groups in this VPC. Available types: Public
How it determine a VPC to select from?
Why all my PrivateSubnets which had created before are "marketed" as public and can no be selected?