code: def restore_dbinstance_from_dbsnapshot(self, identifier, instance_id,
                                             instance_class, port=None,
                                             availability_zone=None):
  
          
          params = {'DBSnapshotIdentifier' : identifier,
                    'DBInstanceIdentifier' : instance_id,
                    'DBInstanceClass' : instance_class}
          if port:
              params['Port'] = port
          if availability_zone:
              params['AvailabilityZone'] = availability_zone
          return self.get_object('RestoreDBInstanceFromDBSnapshot',
                                 params, DBInstance)
docs: Create a new DBInstance from a DB snapshot.
  
          :type identifier: string
          :param identifier: The identifier for the DBSnapshot
  
          :type instance_id: string
          :param instance_id: The source identifier for the RDS instance from
                                which the snapshot is created.
  
          :type instance_class: str
          :param instance_class: The compute and memory capacity of the
                                 DBInstance.  Valid values are:
                                 db.m1.small | db.m1.large | db.m1.xlarge |
                                 db.m2.2xlarge | db.m2.4xlarge
  
          :type port: int
          :param port: Port number on which database accepts connections.
                       Valid values [1115-65535].  Defaults to 3306.
  
          :type availability_zone: str
          :param availability_zone: Name of the availability zone to place
                                    DBInstance into.
  
          :rtype: :class:`boto.rds.dbinstance.DBInstance`
          :return: The newly created DBInstance