I'm running the latest version of localstack using a docker-compose file. I'm trying to deploy a VPC, subnet and security group for a fleet of lambda functions using the following

```
resource "aws_vpc" "pos_vpc" {
  provider = aws.local

  cidr_block = "10.0.0.0/16"

  tags = {
    project = var.prefix
  }
}

resource "aws_subnet" "pos_aws_subnet1" {
  provider = aws.local

  availability_zone = data.aws_availability_zones.available.names[0]
  cidr_block = "10.0.1.0/24"
  vpc_id     = aws_vpc.pos_vpc.id

  tags = {
    project = var.prefix
  }
}

resource "aws_subnet" "pos_aws_subnet2" {
  provider = aws.local

  availability_zone = data.aws_availability_zones.available.names[1]
  cidr_block = "10.0.2.0/24"
  vpc_id     = aws_vpc.pos_vpc.id

  tags = {
    project = var.prefix
  }
}

resource "aws_db_subnet_group" "pos_subnet_group" {
  provider = aws.local

  name       = "${var.prefix}-${var.env_name}-subnet-group"
  subnet_ids = [aws_subnet.pos_aws_subnet1.id, aws_subnet.pos_aws_subnet2.id]

  tags = {
    project = var.prefix
  }
}

resource "aws_security_group" "pos_security_group" {
  provider = aws.local

  name       = "${var.prefix}-${var.env_name}-security-group"
  vpc_id = aws_vpc.pos_vpc.id

  ingress {
    cidr_blocks = [aws_vpc.pos_vpc.cidr_block]
    from_port   = 5432
    to_port     = 5432
    protocol    = "tcp"
  }

  egress {
    cidr_blocks = [aws_vpc.pos_vpc.cidr_block]
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
  }

  tags = {
    project = var.prefix
  }
}

```

But I get the following error:

```
 "The {0} action has not been implemented in class {1}".format(action, self.__class__))
localstack    | NotImplementedError: The describe_vpc_classic_link action has not been implemented in class <class 'moto.ec2.responses.EC2Response'>
```

Does this mean that localstack doesn't currently support VPCs?
custom_backend_url = os.environ.get('%s_BACKEND' % service_name.upper())
    backend_url = custom_backend_url or ('http://%s:%s' % (DEFAULT_BACKEND_HOST, default_backend_port))
    return start_proxy(port, backend_url=backend_url, update_listener=update_listener, quiet=quiet, params=params)
def start_proxy(port, backend_url, update_listener=None, quiet=False, params={}, use_ssl=None):
    use_ssl = config.USE_SSL if use_ssl is None else use_ssl
    proxy_thread = GenericProxy(port=port, forward_url=backend_url,
        ssl=use_ssl, update_listener=update_listener, quiet=quiet, params=params)
    proxy_thread.start()
    TMP_THREADS.append(proxy_thread)
    return proxy_thread
def start_moto_server(key, port, name=None, backend_port=None, asynchronous=False, update_listener=None):
    if not name:
        name = key
    print('Starting mock %s (%s port %s)...' % (name, get_service_protocol(), port))
    if config.USE_SSL and not backend_port:
        backend_port = get_free_tcp_port()
    if backend_port:
        start_proxy_for_service(key, port, backend_port, update_listener)
    if config.BUNDLE_API_PROCESSES:
        return multiserver.start_api_server(key, backend_port or port)
    return start_moto_server_separate(key, port, name=name, backend_port=backend_port, asynchronous=asynchronous)
def start_moto_server_separate(key, port, name=None, backend_port=None, asynchronous=False):