docs: async def create_vm(self, preset_name: str, image: str, flavor: str, security_groups: List=None,
                          userdata: Dict=None, key_name: str=None, availability_zone: str=None,
                          subnets: List=None) -> Any:
          """
          Create (boot) a new server.
  
          :arg string preset_name: Name of vm group where vm is created.
          :arg string image: Image name.
          :arg string flavor: Flavor (or instance_type in AWS) name.
          :arg list security_groups: A list of security group names.
          :arg dict userdata: A dict of arbitrary key/value metadata to store in grains.
          :arg string key_name: (optional extension) name of previously created
                        keypair to inject into the instance.
          :arg string availability_zone: Name of the availability zone for instance
                                    placement.
          :arg string subnets: List of the subnets for instance placement.
  
          Returns Any vm_id.
          """
  
          raise NotImplementedError