There is check for the OS::Nova::Server to check for subnets[1] in the same stack. However, it does not work with ResourceGroup as it's nested stack and the subnet is in the parent/root stack.
However, the template you used results in a non deletable stack which is worrying.
I think you can get around this issue by adding explicit dependency 'depends-on' to 'instances' or use the subnet with the server networks property.
ex.
instances: :ResourceGroup
type: OS::Heat:
depends_on: subnet
or
networks:
- subnet: { get_resource: subnet }
There is check for the OS::Nova::Server to check for subnets[1] in the same stack. However, it does not work with ResourceGroup as it's nested stack and the subnet is in the parent/root stack.
However, the template you used results in a non deletable stack which is worrying.
[1] https:/ /github. com/openstack/ heat/blob/ master/ heat/engine/ resources/ openstack/ nova/server. py#L987- L998